Release Notes for 3.6.4 (Customers Only)

32798: Include TransactionsEssentials 3.5.8

Included changes of TransactionsEssentials 3.5.8

33445: .sh files are not executable -> change the zip ant task to do that

Fixed the UNIX demo shell scripts to be executable out-of-the-box.

33446: Change the demo README files to mention the license

Clarified license requirements in the JAX-WS demo README file.

33447: Clarify exception on expired license (not clear it seems)

Clarified exception message on expired license.

Release Notes for 3.6.3 (Customers Only)

31575: Upgrade to TransactionsEssentials 3.5.5

The latest TransactionsEssentials 3.5.5 release is now included, with some important fixes in there. See the TransactionsEssentials release notes for details.

Release Notes for 3.6.2

30004: Improve JAX-WS handler config on server-side

The JAX-WS demo showed an XML-based handler config mechanism that did not support init preferences for the handler. This has now been fixed by including a programmatic configuration mechanism.

30108: Update documentation to new handler config

The documentation now mentions the new handler configuration mechanism instead of the old one.

Release Notes for 3.6.1

29311: Demo for JAXWS

Added demo for JAXWS transactions; see examples/jaxws.

29313: Add documentation for web services

Added more documentation for web services.

29592: Remove obsolete module: transactions-jetty5

Removed some obsolete legacy modules (jars).

29596: Implement unexportEndpoints

Added unexport of the SOAP endpoints during shutdown.

29905: Include TransactionsEssentials 3.5.4

Upgraded to 3.5.4 of TransactionsEssentials.

30005: activeRecovery init parameter is obsolete for handlers

Its value is now inferred by the other handler settings.

30013: Change URI scheme to atomikos://

The URIs created for transaction IDs are now prefixed with atomikos://

Release Notes for 3.6

28661: Change URI format

The URIs for transactions are now of the form fake:// because they are not really accessible in a REST-style (via http).

29510: Add JAXWS support

We now support transactions that span multiple JAXWS (SOAP) services.

Release Notes for 3.5.1

27885: QueueConnectionFactoryBeanBeanInfo inconsistent: xidFactory

The xidFactory attribute had been removed from the bean class but not from the bean descriptor; this is now fixed.

28665: Shrinking pool: should check whether connection is being used or not

The connection pool would not always check if a connection was in use before destroying it. Under high loads this would lead to problems, and this bug has now been fixed.

28678: ConnectionPool borrowConnection: exception causes destroy of last pooled connection!

An error while checking for available connections would lead to the improper destroy of the last connection in the pool - this has now been fixed.

28623: jms connection pooling bug

Fixed a threading issue reported in the forums:

28843: Connection in use after timeout in nonxa JDBC

In some cases (notably a transaction timeout in between borrowing and first using a connection) the connection state would get corrupted, leading to subsequent messages like: "Connection accessed by transaction ... is already in use in another transaction:... Non-XA connections are not compatible with nested transaction use." This has been fixed.

28388: Resource already registered using JMS

Fixed a bug in the JMS JNDI mechanism - for details see this forum post:

28680: Refactor borrowConnection in pool

Improved the logic for borrowing a connection.

29060: NPE when checking pool connections under high load

Fixed a bug where race conditions could lead to NullPointerExceptions in checking a non-xa connection's reusability.

Release Notes for 3.5

26833: Refactor startup properties (moved out of TSInitInfo)

The startup properties are no longer in the API but are now in the implementation-specific UserTransactionServiceFactory classes.

23398: CommitServer: reuse core thread pooling?

Commits are now done with the more recent core thread pooling mechanism. This deprecates the init parameter 'com.atomikos.icatch.soap_request_threads'.

27524: Update javac in build.xml: add source="1.4"

We now again allow Java 1.4 to be used at runtime.

27857: Transaction timeout in JDBC results in autoCommit mode

Fixed a bug in the connection state handling: timeout and rollback could result in a JDBC connection with autoCommit on.

27885: QueueConnectionFactoryBeanBeanInfo inconsistent: xidFactory

The xidFactory attribute had been removed from the bean class but not from the bean descriptor; this is now fixed.

27920: Default timeout property wrong name

The property name in the sample file was wrong - this has been corrected.

27793: Non-xa proxy: useCount incremented twice when reusing exisiting proxy

When the same thread called getConnection() twice then there was a reuse bug as reported here:

27614: Deadlock in JMS during onTerminated callback of PooledJMSConnection

Fixed a deadlock case between the connection pool and the JMS pooled connection, due to a synchronized observer callback.

21459: Maven POM support

We now offer a maven POM structure as a separate download.

21576: XAResourceTransaction: improve heuristic message

Improved (clarified) heuristic log comments for XA branches.

21689: Improve recovery problem across XA drivers

Improved recovery when the JDBC/XA drivers are upgraded between shutdown and restart.

26426: Add option to unsubscribe on close of topic receiver

The MessageDrivenContainer now supports unsubscribe on close - meaning that closing the container will also unsubscribe for any durable subscriptions (if this option is set).

21574: JmxLogAdministrator: option to show only heuristics

The JmxLogAdministrator can now be configured to show only heuristic transactions (i.e., the real problem cases) instead of all active transactions.

23486: Move startup properties out of TSInitInfo and into AbstractUserTransactionServiceFactory

Refactored the TSInitInfo interface to move out implementation-specific startup properties. These are now in the factory class(es) for the UserTransactionService corresponding to the implementation.

23693: Optimize roots: don't log prepared state

We have optimized logging even more for root transactions: prepared states do not generate any logging overhead any more. This cuts down logging costs by 30% or more.

21350: Add support for destinationName in JMS utilities

The JMS utility classes (in package com.atomikos.jms.extra) now support setting the (provider-specific) destinationName; this facilitates Spring (or other) configuration because you no longer need to obtain a reference to a Destination object first...

26045: Make build work for Java 5

The build now works for Java 5 also. Previously, the build could only be done on JDK 1.4

26911: Improved handling of heuristic hazard problems

Heuristic (hazard) exception states are now managed even better - this includes improved retry handling and better resolution after recovery.

26976: Deadlocks

Fixed a deadlock in the JMS pools.

24071: Simplify nonxa with new connection recycling

Simplified the thread-specific reuse of non-xa JDBC connections, by exploiting the newer 'connection recycling' that is now built-in into the pools.

24109: Heuristic messages: improve clarity

Heuristic log comments were improved for extra clarity.

24579: Support commit ordering

If single-threaded two-phase commit is enabled (in the
file) then commits are now executed in the same order as the resources were
accessed by the transaction.

26240: Create Hibernate ConnectionProvider

We have added a Hibernate ConnectionProvider implementation to facilitate Hibernate 3.3+ configuration of the DataSource.

26398: Allow resume of transaction with status MARKED_ROLLBACK

It is now possible to resume a transaction after it was marked as rollbackOnly.

25809: Refactor MessageDrivenContainer to allow hot property change detection

The MessageDrivenContainer now allows (re)setting most of its properties after initialization.

Release Notes for 3.4

21623: Include changes of 3.4 release of TransactionsEssentials

Included changes of TransactionsEssentials up to release 3.4.4

26712: License utility for ExtremeTransactions

Added license enforcement via license files

22444: Improve class loading

Improved class loading strategies to be more compliant with J2EE

24217: Remove lock file check (use new channel lock like in TransactionsEssentials)

There is no longer a need to create cumbersome .lck files upon startup

27365: Update documentation to explain new JMS

The documentation now mentions the new JMS capabilities

New as from Release 3.3.0

21737: Integrate Slf4jConsole

Integrated support for Log4J integration via SLF4J.

21799: Trmi UserTransactionServiceImp: add default value for REGISTER_SHUTDOWN_HOOK_PROPERTY_NAME

Added support for enabling/disabling shutdown behavior on VM exit, via a startup property.

21310: Change epoch directory to log directory

The epoch file now goes into the log directory instead of the output directory.

21311: Add and document threaded 2PC property

Added support for single-threaded commit via a startup property.

23397: Remove JAX-RPC examples

Removed JAX-RPC support (to be replaced by JAX-WS in the next release).

23442: UserTransactionServiceImp: version and product name are wrong

Corrected version and product metadata.

23329: Add high-resolution logo to docs

Improved resolution of logos in the PDFs.

21632: Update manuals for ExtremeTransactions

Updated manuals for ExtremeTransactions.

23319: Remove obsolete modules

Removed deprecated application server integration modules such as JBoss, Tomcat and more.

23325: Update to 3.3 of TransactionsEssentials

Included all changes of the TransactionsEssentials 3.3.1 core.

Known Issues

The following are known issues for this release:
  • The input line is too long: install ExtremeTransactions close enough to the root of your disk to avoid this...
Please also check the forums for more up-to-date information on known issues.

New as from release 3.2.2

Bug fixes:

22436: RMI export/import: properties are not included?

RMI export/import: fixed a bug where properties were not included - leading to an independent root transaction on the importing side.

22437: RMI demos: don't work if rebuilt?

Fixed build.xml for j2se demos so that rebuild doesn't make the RMI demos crash.

22440: RMI demo fails: non-xa datasource incompatible with sibling transactions

Changed the RMI Client class to NOT call the portal twice in the same transaction.

New as from Release 3.1.1

New features:
  • 1015: JNDI support for Tomcat 5.5 in web control panel
Bug fixes:
  • Fixed 10114: WST installation instructions are wrong
  • Fixed 10090: JNDI errors in Tomcat 5.5.15
  • Fixed 10089: JNDI errors in Tomcat 5.5.9

New as from Release 3.1.0

Added features:
  • 10096: Upgrade to 3.1 of TransactionEssentials

Upgrade Guidelines For Users of Transactions 2.x

Users of the RMI/IIOP functionality in the Transactions 2.x editions should take the following changes into account. Due to refactoring, this product will not work as a drop-in replacement for the 2.x series.

Configuration changes

The value of the startup property com.atomikos.icatch.rmi_export_classMUST be set in your startup properties, or RMI/IIOP transactions will not be available (this features was enabled before, but is now disabled by default to make the software easier to use in most of the practical scenarios). See the sample properties file included in the release for possible values of this property.

The properties file can now also be called '' instead of just ''. Extra properties were added to support new features (see the sample properties file included in the release).

Moved from package com.atomikos.icatch into package com.atomikos.icatch.config:

  • TSMetaData
  • UserTransactionService
  • UserTransactionServiceFactory
  • UserTransactionServiceImp
  • TSInitInfo

Moved from package com.atomikos.icatch into package com.atomikos.icatch.system:

  • Configuration
  • SubTxThread
  • Waiter

Other changes

  • Added method getLevel to interface com.atomikos.diagnostics.Console
  • Added method getSuperiorRecoveryCoordinator to interface com.atomikos.icatch.TransactionService
  • Interface com.atomikos.icatch.Participant now has an extra method getURI
  • Interfaces com.atomikos.icatch.CompositeTerminator and com.atomikos.icatch.TransactionControl are now deprecated; their methods have been merged into com.atomikos.icatch.CompositeTransaction
  • Interface com.atomikos.icatch.Extent now maps string-based URIs to Integers
  • Interface com.atomikos.icatch.RecoveryCoordinator has an extra method getURI
  • Interface com.atomikos.icatch.ExportingTransactionManager now also throws RollbackException
  • Fixed bug 10026: getTags of com.atomikos.icatch.CompositeCoordinator would sometimes return a null element in the array
  • Fixed bug 10028: recovery before recovery service registers
  • Fixed bug 10030: deadlock during recovery
  • Fixed bug 10031: XATransactionResource already closed
  • Fixed bug 10032: QueueConnectionFactoryBean not referenceable
  • Fixed bug 10033: System.out.println in QueueConnectionFactoryBean
  • Fixed bug 10034: JMS bridge commits on receive error
  • Fixed bug 10035: Synchronization.afterCompletion gets COMMITTED
  • Fixed bug 10036: shutdown(false) hangs if called during recovery
  • Fixed bug 10037: Log file in 12 hr format but with no AM/PM tag

Included from Release 2.1x

  • JMS message-driven transaction support: transactional message listeners
  • JMS message bridge transaction support: reliable, exactly-once transfer of JMS messages even across queue domains
  • Spring support (J2EE without EJB)
  • Additional samples for JMS and Spring
  • Our JMS QueueConnectionFactory now also supports non-transacted sessions
  • The console files now support rotation and size limitation
  • Several minor bug fixes
  • JMS workaround for non-standard IBM MQSeries XAResource behaviour
  • Refactored logging for improved reliability
  • Bug fix: corrected NullPointerException in QueueConnectionFactoryBean.
  • Leading and trailing spaces in JNDI/RMI related properties are now also ignored.
  • Bug fix: corrected a multi-threading problem (during enlistment/delistment of XAResource instances) that could happen if one Transaction was being used by several concurrent threads.

Contact Us

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

T +3215613055

Subscribe to our newsletter

Never miss an update

Copyright 2020 Atomikos BVBA
This website is using cookies. More info. That's Fine