Hi!
Is it possible to use Java broker as a drop in replacement for C++ broker
to connect to it over a resource adapter in JBoss?
I build qpid.rar from trunk and succesfully connect and send messages to
the cpp-broker using these settings in qpid-ds.xml:
------------------------------------
<connection-factories>
<mbean code="org.jboss.resource.deployment.AdminObject"
name="qpid.jca:name=ConbusQueue">
<attribute name="JNDIName">ConbusQueue</attribute>
<depends
optional-attribute-name="RARName">jboss.jca:service=RARDeployment,name='qpid-ra.rar'</depends>
<attribute name="Type">org.apache.qpid.ra.admin.QpidQueue</attribute>
<attribute name="Properties">
DestinationAddress=bus-status-queue;{create:always,node:{type:queue}}
</attribute>
</mbean>
<!--XA ConnectionFactory-->
<tx-connection-factory>
<jndi-name>QpidJMSXA</jndi-name>
<xa-transaction/>
<rar-name>qpid-ra.rar</rar-name>
<config-property name="connectionURL">amqp://guest:guest@localhost
/?brokerlist='tcp://localhost:5672'</config-property>
<config-property name="SessionDefaultType"
type="java.lang.String">javax.jms.Queue</config-property>
<connection-definition>org.apache.qpid.ra.QpidRAConnectionFactory</connection-definition>
<max-pool-size>20</max-pool-size>
</tx-connection-factory>
</connection-factories>
-----------------------------------
Now we try to replace cpp-broker with java-broker and obtain this error:
---------------------------------------
java.lang.NullPointerException
at org.apache.qpid.client.XAResourceImpl.start(XAResourceImpl.java:429)
at org.apache.qpid.ra.QpidRAXAResource.start(QpidRAXAResource.java:78)
at
com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.enlistResource(TransactionImple.java:799)
at
com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.enlistResource(TransactionImple.java:510)
at
org.jboss.resource.connectionmanager.TxConnectionManager$TxConnectionEventListener$TransactionSynchronization.enlist(TxConnectionManager.java:985)
at
org.jboss.resource.connectionmanager.TxConnectionManager$TxConnectionEventListener.enlist(TxConnectionManager.java:739)
at
org.jboss.resource.connectionmanager.TxConnectionManager.managedConnectionReconnected(TxConnectionManager.java:469)
at
org.jboss.resource.connectionmanager.BaseConnectionManager2.reconnectManagedConnection(BaseConnectionManager2.java:625)
at
org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConnection(BaseConnectionManager2.java:499)
at
org.jboss.resource.connectionmanager.BaseConnectionManager2$ConnectionManagerProxy.allocateConnection(BaseConnectionManager2.java:941)
at
org.apache.qpid.ra.QpidRASessionFactoryImpl.allocateConnection(QpidRASessionFactoryImpl.java:850)
at
org.apache.qpid.ra.QpidRASessionFactoryImpl.createQueueSession(QpidRASessionFactoryImpl.java:250)
...
------------------------------------------------------------------
I need java-broker on developer non-linux machines for testing purposes and
need resource adapter to make messaging participate in global TX
What am I doing wrong?
--
Tair Sabirgaliev
"BEE Software" Ltd.
Republic of Kazakhstan, 010000
Astana, Kabanbay Batyr str. 6/5, office 1
Tel.: +7 (7172) 92-64-99
Mob.: +7 (702) 2173359
e-mail: [email protected]