ExtremeTransactions 3.7.8

These are the release notes for ExtremeTransactions 3.7.8

87749: Support short properties in JDBC and JMS connectors

We've improved support for short properties that need to be converted from a text/XML configuration file.

75549: Optimize JTA performance

The UserTransactionManager class has a class-level synchronized block used for init purposes. We've added extra checks so this block is only executed if really needed. This optimizes performance by limiting the number of cases where threads will block each other.

68724: Memory leak in the JDK's ObjectOutputStream

We've added a reset of the underlying ObjectOutputStream for serialized logging, to avoid high memory consumption when the JDK keeps pointers to all previously serialized objects since the last checkpoint.

102827: Errors on close/delist lead to connection pool exhaustion

Fixed a critical bug where errors on delist would cause connection pool exhaustion.

ExtremeTransactions 3.7.2

These are the release notes for ExtremeTransactions 3.7.2

84252: Hide warning on forceCloseAllPendingStatements

The logging noise in JDBC has been reduced significantly.

84253: Log warning in XAResourceTransaction if errors on prepare

Added warning to the log if prepare yields errors.

80464: Error on shutdown of MessageDrivenContainer

Improved shutdown procedure to wait for any listener threads to exit first. This should avoid ugly shutdown warnings and improve overall shutdown.

83599: MessageDrivenContainer: add receiveTimeout property

It is now possible to specify an (optional) extra receiveTimeout property - which will speed up shutdown because blocked receiver threads will exit sooner if a value is specified lower than the transaction timeout.

72990: Exception on timeout of coordinator

Corrected NullPointerException bug on recovery of certain transaction states.

73406: WG: Atomikos crashes VM when connection to MQSeries server breaks

Added workaround for MQSeries memory leak when connectivity to the broker goes down.

73193: Log warning if pool shuts down with connections in use

We now log a warning if a connection pool is shutdown while some connections are still being used.

73729: Connection recycling bug in JMS

Fixed a bug where two subsequent getConnection() requests (by the same thread) would get the same connection from the same AtomikosConnectionFactoryBean - leading to problems with the later close logic.

73756: Bug in MessageConsumerSession

Improved the retry/refresh logic when the JMS backed is unreachable.

72518: Bug in AbstractJmsSenderTemplate if destionationName set

When using the sendXXX utility methods of the sender template, one would get exceptions if only the destinationName (not the destination itself) had been set. This has now been fixed.

71264: Delay close of JMS vendor session until pending transaction is done

Fixed a bug where closing a JMS session would also close the underlying vendor session, leading to problematic rollback/commit.

71400: CoodinatorImp: improve logging

Improved logging of non-recoverable coordinators to help diagnose problems.

71748: Timer thread causes threading errors on MQSeries JMS

From now on, setting com.atomikos.icatch.threaded_2pc=false will also change the way the timeout mechanism behaves: active transactions will no longer be rolled back by the timeout thread, but rather set to rollbackOnly instead. Other transaction states are not affected.

ExtremeTransactions 3.7.3

These are the release notes for ExtremeTransactions 3.7.3

84252: Hide warning on forceCloseAllPendingStatements

The logging noise in JDBC has been reduced significantly.

84253: Log warning in XAResourceTransaction if errors on prepare

Added warning to the log if prepare yields errors.

91719: UserTransactionFactory (JNDI): return UserTransactionManager rather than UserTransaction

This should make out-of-the-box integration with Tomcat and Spring easier.

96003: Bug in JmsSenderTemplate: for unanticipated exceptions during send, connections are not returned to pool?

Improved the way that unexpected errors are dealt with: the connections should be closed in those cases also.

86014: This UserTransactionManager instance was closed already

Improved behavior after close: only begin() now throws an exception. The other JTA methods are allowed to proceed with the intention of maximizing the chance of clean shutdown.

89030: Deadlock in JMS connection pooling mechanism

Removed synchronization issues among concurrent threads that could cause a deadlock.

93853: SingleThreadedJmsSenderTemplate does not recover from session error?

This should now also be fixed.

95466: Deadlock in transactions-messaging

Fixed a deadlock situation during shutdown.

80653: Enlisting two XAResources via JTA API fails for same backend

Checking for enlisted XAResources has been relaxed to allow more use cases than before.

95823: XAResourceTransaction.refreshConnection fails after recovery

Fixed a bug where hazard XA branches could not terminate due to connectivity failures after restart.

95886: CoordinatorImp.recover() returns false in the wrong cases

Improved the way recovery diagnoses itself - to avoid unnecessary log warnings.

85463: Bug in checkpointing: the last image flushed is not taken into account

This has been fixed.

ExtremeTransactions 3.7.4

These are the release notes for ExtremeTransactions 3.7.4

84252: Hide warning on forceCloseAllPendingStatements

The logging noise in JDBC has been reduced significantly.

84253: Log warning in XAResourceTransaction if errors on prepare

Added warning to the log if prepare yields errors.

86779: Add optional property to NOT set timeout on XAResource so Oracle errors are avoided on recovery

The new 'propagateJtaTimeoutToXaResource' configuration property for JDBC and JMS now allows you to disable timeouts propagate via XA. For some vendor's XAResoure implementations this timeout seems to give problems and this property can serve as a workaround.

81146: Support vendor-specific flags on XAResource

Vendor-specific flags for starting a new XA branch as well as joining/suspending/resuming/ending an existing branch are now supported on the JDBC and JMS connector classes.

102830: Avoid logging user names and passwords in plain text

The new property 'xaPropertyNamesToHide' allows you to specify what vendor-specific XA properties should be hidden in the log entries. Typically, this would be used for sensitive information like passwords.

ExtremeTransactions 3.7.5

These are the release notes for ExtremeTransactions 3.7.5

105547: Timeout of active transaction generating too much log content

We now avoid generating too much log content for timeouts.

72744: Does max_actives also take recovered coordinators into account?

Fixed a condition where recovery could lead to out-of-memory errors.

ExtremeTransactions 3.7.6

These are the release notes for ExtremeTransactions 3.7.6

92227: mockito-all must not be a transitive dependency

Fixed polluting Mockito dependency in the poms.

107634: Fix zip file for ExtremeTransactionsForMaven: remove top 2 directory folders

Removed top-level folders that make unzipping to artifactory impractical.

ExtremeTransactions 3.7.7

These are the release notes for ExtremeTransactions 3.7.7

107901: Avoid heuristic hazard state for recovered 1PC committing transactions

Committing 1PC transactions would be converted to heuristic hazard cases upon recovery, which is in fact incorrect because these will then undergo 2PC commit retry. This has now been fixed: committing 1PC transactions are now simply forgotten upon recovery.

84851: Avoid logging overhead and warnings for empty transactions

Empty, committing transactions would needlessly generate logging overhead and also generate needless heuristic warnings upon recovery. This has now been fixed. For the original report, see this forum post.

99070: NPE in SessionHandleState at line 301

Improved synchronization to avoid race conditions while checking whether or not a connection is taking part in a transaction. Also see this report in the forums.

ExtremeTransactions 3.7.1

These are the release notes for ExtremeTransactions 3.7.1

85290: Missing folders in 3.7.0 release

Corrected the documentation: removed obsolete references to folders that no longer exist in the 3.7 release.

85291: START_HERE refers to wrong team page

Corrected the link to the Atomikos team page in the release documentation.

85796: NPE when JMS server not reachable (using SingleThreadedJmsSenderTemplate)

This bug has now been fixed.

86040: Port fix for 80464

Ported fix for case 80464 - error on shutdown of MessageDrivenContainer.

86041: Port fix for 83599

Ported fix for case 83599: MessageDrivenContainer - add receiveTimeout property.

86090: TransactionsEssentials guide still refers to old OraXidFactory

Removed obsolete reference to OraXidFactory in the docs.

74730: RMI examples missing in 3.7.0 release

Added the RMI examples - missing in the 3.7.0 release.

ExtremeTransactions 3.7.0

These are the release notes for ExtremeTransactions 3.7.0

73086: Add checks for max length of uniqueResourceName and tm_unique_name

Improved checks for max length of the different names that form the Xid together.

73137: Disable threaded commits by default

Threaded commits are now disabled by default, since they cause too many issues with JDBC and JMS connectors.

33795: Decrease logging overhead

Optimized logging overhead for performance.

69638: IncomprehensibleException: java.lang.IllegalStateException: wrong state: ABORTING

Improved logging when this happens.

71079: MQ7 rollback problem: resource unavailable after the JMS session was closed

Fixed a bug where the XASession of the underlying JMS connector was closed too early.

71183: Fix HTML docs: javadoc not included in open source release

Added working javadoc references for the open source release.

72276: ActiveMQ durable topic subscriber issue

Fixed clientID issues with ActiveMQ (and other durable subscriber scenarios).

72277: Update getting started: 1.5 JDK required

Updated docs to reflect JDK 1.5 requirement.

72398: Log as INFO: "refreshed XAResource"

We now log this as INFO, not WARN - to avoid log pollution.

73007: Disallow reusing Statement after commit

Reusing JDBC Statement objects after commit leads to an undefined transaction context for the SQL that follows. This is a bug; for now it has been fixed by disallowing reuse across transaction boundaries, but if this turns out to be problematic then we will do something more sophisticated.

68913: Missing jta.properties file in TransactionsEssentials distro

Added missing jta.properties file.

69398: Package com.atomikos.icatch.system is missing in sources for distro

Added missing sources in TransactionsEssentials distribution.

69539: INFO logging written as DEBUG

Fixed a bug where INFO level comments were logged as DEBUG instead.

69587: OSGi jars missing in distro - recompile fails

Fixed recompilation problem in the TransactionsEssentials distribution.

69588: Build file in distro refers to missing test folder

Fixed obsolete reference to missing test folder in recompilation of the TransactionsEssentials distribution.

68723: 3.7.0M3 still missing source

TransactionsEssentials now includes the missing source code.

68213: Non-JTA use of JMS: log as INFO, not WARNING

You can now use our JMS connections without getting warnings whenever you disable JTA usage.

68437: Optimize dynamic proxy generation for performance

Changed proxy generation back to the 'old', pre-OSGi way due to performance problems. JDBC and JMS resources now have to be supplied as extension bundles to our transactions-osgi jar.

68472: Fix EOL characters for the .sh scripts in the demos

Fixed the demo scripts to work on UNIX systems.

68476: Check javadoc generation during release

The javadoc is now included in the ExtremeTransactions release (but not for TransactionsEssentials).

68479: Aggregated jar is missing

The transactions-essentials.jar has been replaced with the transactions-osgi.jar, and the latter is also our main OSGi bundle.

68533: Log warning if min/maxPoolSize not set?

We now log a warning message if the min/maxPoolSize is set to the default value (1) - in order to avoid performance problems.

68723: 3.7.0M2 missing source

TransactionsEssentials now includes the missing source code.

66922: JDBC testQuery: log warning if not set

We now log a clear warning message if the testQuery is not set. Setting it is highly recommended; a default value is unrealistic because of SQL dialects.

22198: Connection testing failure generates bad exception message

Improved the diagnostic message when this happens.

66052: Make TransactionManager implement UserTransaction for easier Tomcat JNDI config

All our TransactionManager implementation classes now also implement UserTransaction - this should make JNDI integration easier because we can now expose the TransactionManager instance under the UserTransaction lookup name.

66587: Excessive Memory Allocation and Performance Cost - StringBuffer.append()

Optimized logging for performance: we now only really construct the expensive DEBUG and INFO Strings when needed, i.e. if the log level is appropriate - cf http://fogbugz.atomikos.com/default.asp?community.6.1661.2#discussTopic1677

58830: Allow non-query SQL strings in testQuery

We now also allow non-query SQL statements in the testQuery property - cf http://fogbugz.atomikos.com/default.asp?community.6.1117.3#discussTopic1124

62889: JmxTransactionService - deregister MBeans on Shutdown

We now also deregister all MBeans created by the JmxTransactionService - cf http://fogbugz.atomikos.com/default.asp?community.6.1430.0

64546: NullPointerException on recovery

Improved logging of commit decisions to avoid NullPointerException instances on recovery - cf http://fogbugz.atomikos.com/default.asp?community.6.1530.0

67457: Improve handling of InterruptedException

We now handle InterruptedException instances according to the book - cf http://www.javaspecialists.co.za/archive/Issue056.html and http://fogbugz.atomikos.com/default.asp?community.6.1698.5#discussTopic1718

67951: NullPointerException in XAResourceTransaction when resource is not found on recovery

Improved dealing with unresolved resources during recovery; i.e., when a resource is not found because it has been removed between shutdown and restart - cf http://fogbugz.atomikos.com/default.asp?community.6.1755.1

68004: Improve exception chaining for javax.transaction Exception classes

We now include the underlying cause exceptions.

20005: Include WS-AT modules

WS-AT support (in the past available as JAX-RPC) has now been included for JAX-WS technology.

57937: Add support for HTTPS

HTTPS is now supported for the two-phase commit SOAP ports, provided that the underlying SOAP stack supports it. To enable this feature, set the startup property com.atomikos.icatch.https to true.

31997: Create simple demo app

A simple demo app is included for WS-AT over JAX-WS.

Corporate Information

Atomikos Corporate Headquarters
Hoveniersstraat, 39/1, 2800
Mechelen, Belgium

Contact Us

Copyright 2026 Atomikos BVBA | Our Privacy Policy
By using this site you agree to our cookies. More info. That's Fine