Hi,
With regards to outbound messaging, the resource adapter doesn't currently support resource injection of XAConnectionFactory. Therefore any calls to createXAQueueConnection() and subsequently createXAQueueSession() are not supported. This is due to the fact that interface JmsConnectionFactory from the resource adapter extends ConnectionFactory, TopicConnectionFactory, QueueConnectionFactory only.
This is a non-issue as according to the EE7 API i.e. ConnectionFactory with createSession supports XA behind the scenes:
"In a Java EE web or EJB container, when there is an active JTA transaction in progress:
- Both arguments
transacted
and acknowledgeMode
are ignored. The session will participate in the JTA transaction and will be committed or rolled back when that transaction is committed or rolled back, not by calling the session's commit
or rollback
methods. Since both arguments are ignored, developers are recommended to use createSession()
, which has no arguments, instead of this method."
EE6 behaviour is the same bar the ability to call the parameter-less createSession(). Is there any other ability lost by not supporting the XA connection factories for EE6/7?