The submitted patch provides the capability for a JMS XAResource to participate in the J2EE transaction when used in the context of the JCA adapater. Using transaction APIs defined by the JCA adapater spec, the JMS transport will register an XAResource associated with a JMSSession with the JCA connector, which will in turn enroll the XAResource in a transaction with the J2EE transaction manager. In order to facilitate the registering of the XAResoure, the JCA adapter must pass information via the Bus to the JMS transport. The JMS transport is then responsible for creating a MessageEndpoint and initiating a transaction by calling MessageEndpoint.beforeDelivery() and then closing the transaction by calling MessageEndpoint.afterDelivery()
See section 12.5.6 of the JCA specification for more details regarding these semantics.