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.