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 23 Next »


BTM is distributed under the terms of the GNU Lesser General Public License. You must agree with all the terms of the license before you can use this software.

You will need JDK 1.4 or higher to use BTM. Older JDK versions are not supported.

Unstable version

BTM 2.0.0-beta1 (released 2010-05-09).

New features and bugs fixed in this release
  • BTM-55 NPE in after a createRecoveryXaResourceHolder() did fail on a JmsConnection
  • BTM-32 Extend connection pool manageability through JMX
  • BTM-35 Support per connection transaction affinity
  • BTM-56 BTM is not compatible with JDBC 4 API
  • BTM-57 BTM incompatible with Spring's JmsTemplate due to too generic Exceptions
  • BTM-58 Performance optimizations
  • BTM-59 Bitronix evicting/closing an in-use PreparedStatement from cache, causing a downstream failure
  • BTM-60 NullPointerException in XAPool.containsXAResourceHolderMatchingGtrid()
  • BTM-61 BTM should close statements as soon as the user closes the connection
  • BTM-62 Allow setting other connection defaults besides isolation level
  • BTM-63 ACCESSIBLE connection closed due to Recoverer failure (nothing prevents recoverer from running twice in parallel)
  • BTM-64 If an exception in BTM.begin() occurs, the transaction context is incorrect
  • BTM-65 Add JTA 1.1 support
  • BTM-66 Memory retention problem due JdbcPooledConnection uncachedStatements list
  • BTM-67 Transaction interleaving support broken
  • BTM-68 BitronixTransactionManager.resume() gradually slower when called very often
  • BTM-69 Prepare LRCXaResource although one of other resource prepare have failed
  • BTM-70 Tomcat/Jetty lifecycle jars not in Maven repo
  • BTM-71 DualSessionWrapper.createBrowser() does not perform automatic enlistment

Latest stable version

BTM 1.3.3 (released 2009-10-25).

New features and bugs fixed in this release
  • improved JndiXAConnectionFactory to allow setting urlPkgPrefixes property (required for HornetQ support)
  • fixed leftover bug from BTM-44
  • implemented JMS LRC
  • more tests have been added
  • Refactored the recoverer to implement a much safer algorithm.
  • Background recoverer is now enabled by default and configured with the new property Configuration.backgroundRecoveryIntervalSeconds.
    The backgroundRecoveryInterval property has been depecated.
  • Resources which cannot be recoverer during startup now don't prevent the transaction manager from starting up but are simply marked
    as 'failed'. Failed resources cannot be used and are automatically retried by the background recoverer.
    This supercedes the 'retryUnrecoverableResourcesRegistrationInterval' configuration property which has been removed.
  • 'currentNodeOnlyRecovery' is now enabled by default (see
    The recoverer now logs some INFO message when some XIDs have been skipped because this feature is enabled.
  • Fixed race conditions in the asynchronous 2PC engine.
  • Fixed race condition in JMS pool
  • Upgraded SLF4J to version 1.5.8
  • BTM now maps the transaction's GTRID to the logger's MDC when available
  • BTM-33 race condition: potential connection leak when closing connection after transaction terminated
  • BTM-34 IllegalArgumentException and MBean exceptions on constraint violation
  • BTM-37 Tomcat LifecycleListener shutting down TM too early
  • BTM-38 NPE in IncrementalRecoverer
  • BTM-39 Improper HeuristicMixedException
  • BTM-41 JNDI Context (BitronixContext) returns null rather than NameNotFoundException
  • BTM-42 bitronix-scheduler is recreated/restart
  • BTM-43 Fix for BTM-33 leads to another problem
  • BTM-44 TransactionLogRecord does not get updated when modified, leading to transaction log corruption
  • BTM-45 potential NPE in
  • BTM-46 Fall back to current class loader when thread context loader fails (support OSGi)
  • BTM-47 improve unrecoverable resource registration retrial and recoverer implementation
  • BTM-48 change currentNodeOnlyRecovery default value to true
  • BTM-49 Suspend/resume not working as expected
  • BTM-50 Improve JndiXAConnectionFactory in order to be able to use SonicMQ
  • BTM-55 NPE in after a createRecoveryXaResourceHolder() did fail on a JmsConnection

Archived versions

BTM 1.3.2 (released 2008-10-17).

New features and bugs fixed in this release
  • BTM-31 Synchronization registering another Synchronization with a different position aborts transaction

BTM 1.3.1 (released 2008-09-28).

New features and bugs fixed in this release
  • BTM-23 Add the ability to set guarantee the isolation level of resource
  • BTM-24 recovery engine does not fully supports clustering
  • BTM-25 add shutdown support for app servers
  • BTM-26 JMX must be disabled if a resource's uniqueName contains a ':' character
  • BTM-28 Race condition when mixing global and local transactions
  • BTM-29 Random CorruptedTransactionLogException thrown during swapJournalFiles under JDK 1.6
  • BTM-30 Resource creation cannot map long primitives to vendor's XADataSource
  • Removed deprecated poolsize property of ResourceBean
  • Enforced mandatory parameters when LrcXADataSource is used

BTM 1.3 (released 2008-08-18).

New features and bugs fixed in this release
  • BTM-4 Implement incremental recovery
  • BTM-7 Resource password is not decrypted when using the API
  • BTM-8 Durable subscribers cannot participate in XA
  • BTM-9 BitronixTransactionManager JNDI reference throws NPE on toString()
  • BTM-10 Race condition in connection pools when lazily initialized
  • BTM-11 Implement an embedded JNDI provider that allows to retrieve the TM and configured resources in a more standard way
  • BTM-12 add maven support
  • BTM-13 Implement ordering of XAResource during 2PC execution
  • BTM-14 Need the ability to have BTM invoke specific methods on JDBC connection upon return to the pool
  • BTM-17 Set tx status to marked_rollback on timeout
  • BTM-18 Invoke XAResource.setTransactionTimeout() when a resource is enlisted
  • BTM-19 No effect by setting auto-commit to false on LrcConnectionHandle
  • BTM-20 XAResourceManager incorrectly checking resource joinability
  • BTM-21 Differing journal-file lengths cause BTM to fail to start even if skipCorrectedLogs is true
  • BTM-22 Resource rollback not handled properly
  • Dropped all deprecated classes and methods.
  • Shutdown hook is not registered anymore when the TM starts up. It is now mandatory to shut it down manually.
  • Fixed incorrect transaction manager startup while using pools when BTM is not started.
  • Moved CryptoEngine to, kept but deprecated it.
  • Resource Loader cannot bind to JNDI anymore (no more needed, see: BTM-11), this obsoletes property.
  • Transaction timeout logic has been rationalized, this obsoletes property.
  • Lowered statement cache overhead when it is disabled.
  • Fixed bug in the double LRC enlistment check that prevented safe cases from working.
  • Upgraded JTA and JMS jars to the latest 1.4-compiled version.
  • Added new configuration property 'journal' that allows to switch between the classic 'disk' journal and a new non-logging 'null' journal.
  • Upgraded SLF4J to version 1.5.2.
  • Fixed lots of misc bugs.

BTM 1.2 (released 2008-01-27).

New features and bugs fixed in this release
  • BTM-6 Support for JMS credentials
  • BTM-5 pooling of prepared statements / statement cache
  • BTM-3 Upgrade to latest version of SLF4J
  • BTM-2 error not reported when XAResource.recover() call fails

BTM 1.1 (released 2007-10-05).

New features and bugs fixed in this release
  • Made pooled objects unwrappable.
  • Implemented dynamic pool size. Pools (both JDBC and JMS) can now grow and shrink.
  • Fixed bug BTM-1 (error delisting resource error with Oracle 9).
  • Implemented keepConnectionOpenUntilAfter2Pc in PoolingDataSource (required to support IBM DB2).
  • Added resource password encryption capability.

BTM 1.0.1 (released 2007-09-06).

New features and bugs fixed in this release
  • BTM-1 error delisting resource error with Oracle 9

BTM 1.0 (released 2007-08-08).

New features and bugs fixed in this release
  • Initial BTM release.

  • No labels