[jboss-dev-forums] [Design of JCA on JBoss] - Re: JBAS-3321 - TransactionTimeout from EJB container

adrian@jboss.org do-not-reply at jboss.com
Fri Feb 9 10:23:29 EST 2007


The only transactions we don't control are the ones where we don't write the
rars and/or the rar starts the transaction before it hits the message endpoint.

The vast majority of inflow rars don't do this. With the exception of transaction inflow
there is no way for them to start a transaction, there's no spec defined integration
point to get the transaction manager.

They leave it to the container (message endpoint) to start the transaction from the ejb metadata. What they do is pass the XAResource to the MessageEndpoint
so they can take part in the transaction.
i.e. the XAResource is automatically enlisted in the transaction when the
beforeDelivery or "deliver" starts the transaction.

If we start the transaction, we should apply the configuration from jboss.xml
or the relevant ejb3 annotation.

If we start the transaction from our rars we should also use the same
integeration point, the message endpoint factory.

You asked before, why the message endpoint factory?
The answer is because that is the object in the JCA api that represents the
container and where different containers (EJB2, EJB3, POJO JCA)
can decide how the parameter is derived.

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4013680#4013680

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4013680



More information about the jboss-dev-forums mailing list