Andy, I think you are experiencing https://issues.apache.org/activemq/browse/AMQ-2346 which was recently resolved on trunk. The ended transaction map allows joined contexts to share the outcome of a transaction,
2009/9/8 andrewsomesyoung <[email protected]> > > Neo, > > I believe I am struggling with the same problem. From what I have learned > so > far, it appears that the JBoss TransactionManager sends two "start" > messages > to ActiveMQ: the first when the transaction is started upon receiving the > first message in the MDB, and the second when the outgoing connection is > created. What I have seen is that the ActiveMQ broker spawns two threads to > handle these messages, effectively treating them like separate > transactions. > Often the first thread will remove the transaction before the second thread > sends. When that happens the second thread throws an exception because it > can't find the transaction. Upon further inspection of the JBoss code, it > looks like JBoss correctly identifies the fact that it has already started > a > transaction with the broker and signals that by including the TMJOIN flag > when starting the resource the second time. Looking at the code for > org.apache.activemq.TransactionContext, its pretty obvious ActiveMQ doesn't > handle this TMJOIN flag at all. > > I am still looking for a solution myself but I hope this sheds some light > on > your problem and inspires someone who knows more about what is supposed to > happen to chime in. > > Andy > > > -- > View this message in context: > http://www.nabble.com/How-to-send-one-message-to-a-topic-in-MDB--tp25325925p25355114.html > Sent from the ActiveMQ - User mailing list archive at Nabble.com. > > -- http://blog.garytully.com Open Source Integration http://fusesource.com
