What is new in BTM version 1.3
BTM underwent many changes for version 1.3. Here is a short summary of what's new and noteworthy.
Contents
New Features
JNDI provider
- The new JNDI provider and the new
jndiUserTransactionNameconfig property.
Journal
- The new Null journal and the related
journalconfig property.
Recoverer
- Incremental recovery.
Resource loader
- The
bitronix.tm.resource.bindproperty is now useless and has been removed. - Resource creation failures don't block the transaction manager startup anymore and can be retried in the background witht he new
retryUnrecoverableResourcesRegistrationIntervalconfig property.
Transaction manager
- No shutdown hook is registered anymore.
- Handling of unilateral resources rollback.
- Transaction termination can be directly controlled, no more need to use the TransactionManager interface.
- Per-resource timeout.
- Transactions are now marked as rollback only when a timeout happens.
- The new resources ordering algorithm and the new
twoPcOrderingPositionresource bean property. - The removal of the
bitronix.tm.timer.transactionRetryIntervalconfig property.
Misc
- JMX can be disabled with the new
disableJmxconfig property.
Integration
Tomcat 5.5
- A new class that plugs into Tomcat to maintain BTM's lifecycle (ie: startup / shutdown): btm-tomcat55-lifecycle.jar. Copy the jar to the $TOMCAT_HOME/server/lib folder then edit $TOMCAT_HOME/conf/server.xml and add this below the other lifecycle listeners: <Listener className="my.package.BTMLifecycleListener" />
Jetty 6
- A new class that plugs into Jetty to maintain BTM's lifecycle (ie: startup / shutdown): btm-jetty6-lifecycle.jar. Register it in your jetty.xml with a <Call name="addLifeCycle"> tag.
Upgrading from version 1.2
Checklist
- Old resource creation mechanism (ResourceBean.createResource()) has been removed.
- Get rid of the
bitronix.tm.resource.bindproperty in the resource loader's config file if present. - Get rid of the
bitronix.tm.timer.transactionRetryIntervalconfig property if set. - Make sure you manually shutdown the transaction manager.
- CryptoEngine moved to bitronix.tm.utils package.
Labels