116759: included community fixes from 3.9.0-3.9.3
See ExtremeTransactions 3.9.3
116758: example for Hibernate 4 integration
Added runnable example to demonstrate Hibernate 4 integration.
115604: increase logging level to ERROR for errors in beforeCompletion Synchronization callbacks
The log level has been increased to avoid losing time chasing errors that happen during beforeCompletion and prevent committing the transaction.
116649: hibernate4 support: Atomikos JTAPlatform
We now support hibernate 4 in an easy way, as demonstrated by the corresponding new examples.
94676: avoid writing and maintaining .epoch file
We now avoid writing .epoch files for increased flexibility and usability.
TCC / REST support
We've replaced our existing web services and SOA support by the long-awaited TCC for REST support. This was implemented as a plugin module around the core.
Split JMX support into transactions-jmx and transactions-jmx-jta
JMX support is now divided across 2 modules; one transactions-jmx (core) module and also transactions-jmx-jta for specifics relevant to JTA.
Refactored core towards extensible plugin architecture
The core is now an extensible transaction service with optional plugin extensions looked up in the classpath (via the ServiceLoader
Renamed TSListener interface to TransactionServicePlugin
The TSListener interface has been refactored and renamed to be the main plugin interface for our new core architecture.
Redesign of init property lookup
Initialization properties are now resolved in the following order (for inspiration from the community, see this forum post
- defaults are loaded from the classpath
- any overrides from transactions.properties (if found in the classpath) are applied
- any overrides from jta.properties (if found in the classpath) are applied
- any overrides in a properties file specified by the optional system property com.atomikos.icatch.file are applied
- any overrides set in a programmatic way are applied
- any overrides set a system properties are applied
- placeholder substitution is done for the resulting set of properties
JTA and RMI support are now plugin modules loaded from the classpath
In order to activate JTA or RMI functionality, it now suffices to put these modules (jars) in the classpath and they will be discovered automatically during startup of the core. Other modules (like REST support) will later be added in the same way.
Removed SubTxThread functionality
This functionality seemed a bit exotic to carry on in our codebase, so we've optimistically removed it for now. Should there be compelling use cases to add them again, we will do so at a later time. Most of our user base adheres to the JTA/JDBC/JMS API and will not be affected at all by this removal.
89208: improved constructor for RemoteClientUserTransaction
Added a new constructor that accepts the ConfigProperties as parameter. This allows reuse of config parameters that are looked up by the core startup.
112934: distributed RMI recovery fails with dataserializable
This has now been fixed.
23765: deprecate Swing beans package
We no longer need Swing libraries: these have long been replaced by JMX support.
112579: fixed support for com.atomikos.icatch.enable_logging=false
Disabling transaction logging now works again.
112646: enable backward compatibility of sessionTransacted behavior
Legacy applications/configurations that expect the 'old' behavior of our JMS sessions (determined by the sessionTransacted flag passed upon session creation) can now re-enable this behavior by setting the ignoreSessionTransactedFlag
on the Atomikos connection factory to false
112579: com.atomikos.icatch.enable_logging is ignored
This setting got ignored in the 3.9 release, meaning there was no way to turn logging off - this has now been fixed.
112651: old release notes html file in evaluation download
The evaluation download contained old release notes - these have been removed. Release notes are now online only.
112681: transactions-jmx module missing in evaluation download
The new transactions-jmx was missing in the zip file for the evaluation download.