ActiveMQ transaction started by EAP does not roll back on failure, when application does not use resource adapter

Solution Verified - Updated -

Issue

An application running on EAP (or perhaps another application server) makes a connection to ActiveMQ by instantiating ActiveMQXAConnectionFactory. This might be done explicitly, or by using the JNDI provider in the ActiveMQ client run-time. The problem has also been noted when using the HornetQ bridge in EAP to forward messages to ActiveMQ -- this also will operate on a connection factory directly. The recommended way to use ActiveMQ from a JEE application is to configure the ActiveMQ Resource Adapter RAR, but sometimes this is not practicable.

In the scenario described above, a failure on ActiveMQ such as a security violation or lack of space in the message store, might not result in a transaction rolling back. An error message might be seen in the application server log, but the message could be lost.

Environment

  • Red Hat JBoss A-MQ
    • 6.1.x
    • 6.2.x
  • Red Hat JBoss EAP
    • 6.4
  • Probably other JEE application servers

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.

Current Customers and Partners

Log in for full access

Log In
Close

Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.