i forget to mention.

when we do not throw an exception after the jms-template send everything
works fine - transaction gets committed org.apache.activemq.
TransactionContext.end(xid,flags) is called twice as expected...




On Sat, Apr 6, 2013 at 8:46 PM, Daniel Guggi <daniel.gu...@gmail.com> wrote:

> 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