Thanks a lot for your information. I have found the solution to resolve the
problem, you can try to change the value of "UseInboundSession" to "true"
from "false" in ra.xml, then you will find it is OK. But the disadvantage of
this solution is you cannot use this configuration outside of MDB, otherwise
the exception will be thrown. Hope it helps to you.



andrewsomesyoung wrote:
> 
> 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--tp25325925p25357582.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Reply via email to