private support for your internal/customer projects ... custom extensions and distributions ... versioned snapshots for indefinite support ... scalability guidance for your apps and Ajax/Comet projects ... development services from 1 day to full product delivery
How To Use JOTM as the XA Transaction Manager in Jetty6
These instructions have been tested with JOTM 2.0.10.
Step 1: Copy the jars
Assuming you have successfully downloaded JOTM, copy the following jars to jetty6's lib/ext directory:
- connector-1_5.jar
- howl.jar
- jotm.jar
- jotm_jrmp_stubs.jar
- jta-spec1_0_1.jar
- jts1_0.jar
- ow_carol.jar
- xapool.jar
Step 2: Configure CAROL

Logging
Depending on how you want your logging configured, you may need to also copy
jcl104-over-slf4j.jarand an slf4j log implementation such asslf4j-simple.jarinto thelib/directory. You should find both of these files inlib/jsp-2.0. You would need to do this if you are using jdk-1.5 and you want to use slf4j logging. Alternatively, if you are using jdk1.4 and/or you want to use commons-logging, you will need to copy the commons-logging jar and a commons logging impl into thelib/directory.
In your jetty6 installation, create the file resources/carol.properties and edit it's contents to contain these lines:
carol.start.ns=false carol.start.jndi=false carol.protocols=jrmp carol.start.rmi=false carol.jvm.rmi.local.call=true carol.jndi.java.naming.factory.url.pkgs=org.mortbay.naming
Without this step, CAROL will assume control of JNDI from jetty6 and java:comp/env will not be set up correctly.
Step 3: Configure the transaction manager and datasources in jetty6
You need to register an XA transaction manager and XA aware DataSources. There is more information about jetty6's JNDI facilities that you may find useful. Here are the snippets for your jetty config file. In this example, we will configure a Derby JDBC driver, but of course you can substitute your own.
| Using XAPool You MUST wrap the |