[jboss-dev-forums] [Design of Messaging on JBoss (Messaging/JBoss)] - Re: Bug in transactional delivery in an MDB

timfox do-not-reply at jboss.com
Tue Apr 24 04:12:07 EDT 2007


"weston.price at jboss.com" wrote : 
  | No, not illegal but it certainly makes deploying non XA JMS based resources with JBM all but impossible while using the JMS/JCA adapter. While this is not necessarily a bad thing, it simply says that when using JCA/JMS in conjunction with JBM you currently have no choice but to use XA which in most scenarios is exactly what you want.
  | 

But it is not what we want all cases

anonymous wrote : 
  | The JCA/JMS adapter is designed for generic JMS integration with any JMS provider, not just those implementing the optional XA API.
  | 

If it's designed for generic JMS integration with ANY JMS provider then it fails on its own requirement with JBM

anonymous wrote : 
  | 
  | This is *by design*. 
  | 
  | 

Sounds like the design is broken. You are forcing us to always be always used as XA, because you use instanceof to tell the XAConnectionFactory and ConnectionFactory apart.

I.e. the JCA implementation currently implicitly assumes that the a particular JMS provider won't use the same class to implement XA and non XA interfaces.

As you yourself mentioned earlier in this thread, another solution which should work with all (read JBM) JMS providers is to add extra field "isXA" in the JMSProviderAdapter config.

Or perhaps something like this - with explicit extra fields:


  |    <mbean code="org.jboss.jms.jndi.JMSProviderLoader"
  |           name="jboss.messaging:service=JMSProviderLoader,name=JMSProvider">
  |       <attribute name="ProviderName">DefaultJMSProvider</attribute>
  |       <attribute name="ProviderAdapterClass">org.jboss.jms.jndi.JNDIProviderAdapter</attribute>
  |       <attribute name="NonXAFactoryRef">java:/NonXAConnectionFactory</attribute>
  |       <attribute name="NonXAQueueFactoryRef">java:/NonXAConnectionFactory</attribute>
  |       <attribute name="NonXATopicFactoryRef">java:/NonXAConnectionFactory</attribute>
  |       <attribute name="XAFactoryRef">java:/XAConnectionFactory</attribute>
  |       <attribute name="XAQueueFactoryRef">java:/XAConnectionFactory</attribute>
  |       <attribute name="XATopicFactoryRef">java:/XAConnectionFactory</attribute>
  |    </mbean>
  | 












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

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



More information about the jboss-dev-forums mailing list