Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 12 Next »

JMS servers XA support evaluation

Those are the information collected while testing BTM against some JMS servers. Also included:

  • An overall evaluation of the database's XA support
  • Special features and/or limitations

XA only

Icon

JMS servers not providing an implementation of javax.jms.XAConnectionFactory have not been included.

If you find mistakes, inconsistencies or simply want some other database to be tested (as long as there is at least a free trial version available) just let us know via the mailing list and we'll consider your request.

Contents

ActiveMQ

Supported version(s)

Tested against versions 4.2 and 5.1. All 4.x version prior to 4.1.1 are broken regarding recovery and cannot be used.

Settings

Local transactions cannot be mixed well with global transactions thus you should not enable allowLocalTransactions or ActiveMQ will throw an exception.

Heuristics

I could not find how to list in-doubt transactions nor how to manually terminate them.

Example ResourceLoader configuration

SwiftMQ

Supported version(s)

Tested against versions 6.2 but works fine with more recent versions too. You need the JMS XA/ASF Swiftlet extension to be able to use XA transactions.

Settings

All default settings are fine.

Heuristics

The console can be used to list in-doubt transactions and to heuristically terminate and forget them.

Example ResourceLoader configuration

HornetQ

Supported version(s)

Tested against versions 2.0.0.BETA5. The JndiXAConnectionFactory included in BTM 1.3.2 and lower is too limited, you need BTM 1.3.3 or higher to use HornetQ.

Settings

All default settings are fine.

Heuristics

A JMX console (like the JDK jconsole tool) can be used to list in-doubt transactions and to heuristically terminate them. Just have a look at the org.hornetq/Server/Core JMX object which contains 3 interesting operations: listPreparedTransactions, commitPreparedTransaction, rollbackPreparedTransaction.

Still under investigation.

Example ResourceLoader configuration

SonicMQ (Progress Software)

Supported version(s)

Tested against versions 7.6. The JndiXAConnectionFactory included in BTM 1.3.2 and lower is too limited (extraJndiProperties), you need BTM 1.3.3 or higher to use SonicMQ. Seems to support local transactions.

Settings

All default settings are fine.

Heuristics

Still under investigation.

Example ResourceLoader configuration

Required Jars

mfcontext-7.6.jar, sonic_Client-7.6.jar (warning JMS API is included in the Jar), sonic_Crypto-7.6.jar, sonic_XA-7.6.jar, sonic_XMessage-7.6.jar

  • No labels