I hava a problem configuring my MDBs with JMS as a managed resource on JBoss 3.0.4.
I am using Oracle with XA as persistent store for JBossMQ.
My example:
Two MDBs sending messages to each other on different queues. Acknowledge and committing should happen in the same XA transaction.
jboss.xml:
[pre]
<?xml version="1.0" encoding="UTF-8"?>
<resource-managers>
<resource-manager>
<res-name>managedQueueConnectionFactory</res-name>
<res-jndi-name>java:JmsXA</res-jndi-name>
</resource-manager>
<resource-manager>
<res-name>managedQueuePing</res-name>
<res-jndi-name>queue/queuePing</res-jndi-name>
</resource-manager>
<resource-manager>
<res-name>managedQueuePong</res-name>
<res-jndi-name>queue/queuePong</res-jndi-name>
</resource-manager>
</resource-managers>
<enterprise-beans>
<message-driven>
<ejb-name>test/pingpong/PingMDB</ejb-name>
<configuration-name>My Message Driven Bean</configuration-name>
<!--destination-jndi-name>java:comp/env/managedQueuePing</destination-jndi-name-->
<destination-jndi-name>queue/queuePing</destination-jndi-name>
</message-driven>
<message-driven>
<ejb-name>test/pingpong/PongMDB</ejb-name>
<configuration-name>My Message Driven Bean</configuration-name>
<!--destination-jndi-name>java:comp/env/managedQueuePong</destination-jndi-name-->
<destination-jndi-name>queue/queuePong</destination-jndi-name>
</message-driven>
</enterprise-beans>
[/pre]
How do I have to use the <destination-jndi-name> tag? As I did above (the real jndi name) or as I did in the commented out version (the managed jndi name as link to the real jndi name)?
The problem with both versions:
when I use the managed jndi-name, the MDB is never invoked (indeed StdServerSession is never invoked).
When using the real jndi-name, StdServerSession starts with useLocalTX=true (acknowledging messages even when the global tx is rolled back afterwards.
What should I do? One of those must be a bug, right?
Thanks in advance,
Frito