JBossTransactionsVersionGuide

Which version of JBossTS to use?

 

JBossTS consists of three components: JBossTS JTA for local-only transactions{FOOTNOTE DEF 1 1}, JBossTS JTS for distributed transactions over CORBA, and XTS for Web Services transactions using WS-AT and WS-BA.

 

JBossTS 4.2.3.SPx provides JTA 1.0.1b, JTS on JacORB 2.2 and WS-T 1.0. Binary releases are compiled for Java 1.4.

 

  • The JTA bundle contains the JTA only. The full bundle contains the JTA (as source only), JTS and XTS components.

 

  • The JTA can be used standalone or with JBossAS 4.0.x. It's also the default transaction manager installed with JBossAS 4.2.1 or EAP 4.2.0 (both use 4.2.3.SP5). Note that EAP customers should upgrade JBossTS only through official upgrades from the support portal, not using downloads from the JBossTS web page.

 

  • The JTS can be used standalone on the provided JacORB or with JBossAS 4.0.x. It's not suitable for use with JBossAS 4.2.x or the EAP due to changes in the version of JacORB they use. If you require JTS for the EAP please contact JBoss support.

 

  • The XTS component can be used on JBossAS 4.2.1+ or EAP 4.2.0, but is not a supported part of the latter. The XTS implementation utilises the JTS but does not require it to be deployed separately when running in JBossAS.

 

 

JBossTS 4.3 provides JTA 1.1, JTS on JacORB 2.3.0 and WS-T 1.0. Binary releases are compiled for Java 5 but the JTA and JTS source should still compile on 1.4.

 

  • The JTA bundle contains the JTA only.

 

  • The JTA can be used standalone or with JBossAS 5.0, for which it is the default transaction manager. It's not suitable for earlier JBossAS versions due to JTA API version changes.

 

  • The JTS can be used with JBossAS 5.0 or JacORB 2.3.0-patch4. It's not suitable for earlier versions of JBossAS due to JacORB version changes.

 

  • The XTS component can be used on JBossAS 4.2.1+, EAP 4.2.0, or JBossAS 5.0 but is not a supported part of the EAP. The XTS implementation utilises the JTA but does not require it to be deployed separately when running in JBossAS. It uses JAX-WS and therefore won't compile with Java 1.4.

 

 

JBossTS releases are tested on Java 5. Use of Java 6 for building or running any component of JBossAS is unsupported and should be used at your own risk.

 

But which version should I choose?

 

  • If you are running with JBoss EAP, use only the version shipped with the EAP or as recommended by JBoss support.

  • If you are running with JBossAS, use the latest stable version that is compatible with your JBossAS version.

  • If you are running standalone, use the highest numbered stable release. Beta is unstable. GA (general availability) and SP (service pack) releases are stable.

  • Do not mix and match components from different releases e.g. JTA and XTS, in the same JVM. Changes in certain classes that are shared between components can lead to unpredictable behavior in some classloader hierarchies.

 

 

{FOOTNOTE DEF 1 1} Note: local-only means that the transaction allows resource enlistment at only one JVM and does not generally perform transaction context propagation on remote business method calls. When used with JBossAS 4.x a separate client JVM may still manage transaction boundaries (begin/commit/rollback) for the JTA. Databases and message queues running as separate processes may still be enlisted as XAResources provided they have drivers that support this.  Therefore JTA is adequate for most usage.  The JTS is required only where a transaction needs to span multiple server JVMs, such as in an application server cluster using transactional EJBs.