hi,

we use spring's DMLC using an xa-pooledconnectionfactory

when the DMLC receives a message the (test) message-lister just sends a
message to another queue using spring's jmstemplate. this jms-template also
uses a xa-pooledconnectionfactory (but another instance)

that meas that we have two activemq xa-connections - one by the listener
and the other by the jms-template

if the message-listener throws a runtime-exception after jmstemplate send,
the rollback is not properly performed.

i can see that org.apache.activemq.TransactionContext.end(xid,flags) is
only called once for the dmlc-connection - so therefore no rollback is not
performed for the other xa-connection/session, which leads to a (jta)
system-exception on the next-message, because the pooldcf returns the
cached session

any ideas how this could happen - this might be a jta issue? btw. we are
using glassfish-3.1.2.2

thank you,
daniel

Reply via email to