[jboss-dev-forums] [Design of JCA on JBoss] - Re: JBAS-5278 Errors .
clebert.suconic@jboss.com
do-not-reply at jboss.com
Thu Apr 3 14:28:37 EDT 2008
This is a JCA adapter bug.
I - org.jboss.resource.adapter.jms.JmsManagedConnection doesn't know if JmsXA supports XA or not
II - JBossMessaging Connection Factories will implement both XAConnectionFactory and ConnectionFactory
(BTW: There is nothing wrong with this. This is just an implementation point).
III - JmsManagedConnection will use an instanceof to determine if it should open an XA or a regular transaction:
You will find lots of things like:
| if (con instanceof XATopicConnection)
| {
| xaTopicSession = ((XATopicConnection)con).createXATopicSession();
| topicSession = xaTopicSession.getTopicSession();
| xaTransacted = true;
| }
| else if (con instanceof TopicConnection)
| {
| topicSession =
| ((TopicConnection)con).createTopicSession(transacted, ack);
| if (trace)
| log.trace("Using a non-XA TopicConnection. " +
| "It will not be able to participate in a Global UOW");
| }
|
Instead of relaying on the implementation details of the ConnectionFactory, IMO JCA should be extending JmsConnectionRequestInfo to determine if the request is for a XA or a non XA connection.
I believe this would be an issue with other JMS implementations as well (besides JBossMQ).
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4141467#4141467
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4141467
More information about the jboss-dev-forums
mailing list