The Transaction Component

Commons Transaction aims at providing lightweight, standardized, well tested and efficient implementations of utility classes commonly used in transactional Java programming. Initially there are implementations for multi level locks, transactional collections and transactional file access. There may be additional implementations when the common need for them becomes obvious. However, the complete component shall remain compatible to JDK1.2 and should have minimal dependencies.

The optimal - but maybe impudent - long term goal would be to create the transactional counterpart of Doug Lea's fabulous concurrent package which recently made it to Java 5.0.

These are the initial parts in detail:

  • memory package: Contains a wrapper to make any map implementing interface java.util.Map transactional. Depending on the type of the map that is wrapped this can either work as a transactional cache or some sort of volatile memory store.
  • locking package: Interfaces and implementations for locks that can have more than one owner at different compatible levels.
  • file package: Implementation of transaction file access. Using a pessimistic locking schema this implementation features serializable transactions.
  • util package: Contains a collection of utility classes used by the transaction package itself. Of more general interest could be a rendezvous barrier and a file utility class.

Releases

See the downloads page for information on obtaining releases.

Documentation

The JavaDoc API documents are available online.