What is new in BTM version 2.0.0
BTM 2.0.0 is a cleaned up and refined version of the 1.3.x branch. There are no major changes visible from the end user but a lot of polishing happened enabling future developments as well as the usual bug fixes and some requested new features.
JDBC 4 support
- BTM can now be built against JDBC 4 API and its JDBC connection pool now has support for the isValid() connection check instead of the test query when a JDBC 4 driver is detected. Set enableJdbc4ConnectionTest property to true to enable this feature. The pool will then autodetect if the underlying JDBC driver is compatible and use the feature if available, otherwise it will revert back to the old test query mechanism.
Support for per connection transaction affinity
- BTM's pool can now track connections requested from the pool and return the same connection for every DataSource.getConnection() call in the same transaction. Set shareTransactionConnections property on your pool to enable this feature.
Improved up JDBC PreparedStatement cache
- The JDBC PreparedStatement cache is now much more efficient than it used to be as well as being much more robust.
JTA 1.1 support
- The JTA 1.1 TransactionSynchronizationRegistry has been implemented and can now be used. It can be acquired either via the TransactionManagerServices singleton or via the embedded JNDI server under the (configurable) java:comp/TransactionSynchronizationRegistry standard name.
Improved Maven 2 support
- The published POM has been updated to depend on the standard JTA 1.1 JAR instead of the Geronimo JTA 1.0.1B one which is more commonly found. Sources and javadocs are now also uploaded to the central maven 2 repo. Tomcat and Jetty lifecycle JARs made their way to the maven 2 repo too.