STM Lib is a pragmatic library implementation of software transactional memory (STM) for Java and other JVM languages (such as Scala, Clojure, and Groovy). STM is ideal for applications where data is accessed concurrently by several threads and doesn't have to be persisted in real-time. For example, chat or instant messaging servers, file sharing servers, real time search engines, and massively multiplayer online games or virtual communities. It also works for all kinds of multithreaded programs. STMlib provides transactional collection classes that implement the standard Java APIs. The locking scheme is based on 2 phase locking, which enforces Serializability. Also, transactions are automatically retried when deadlocks occur, so you don't have to.
The Open-Transactions project is a collaborative effort to develop a robust, commercial-grade, fully-featured, free-software toolkit implementing a full-strength financial cryptography library, API, CLI, and prototype server. Open-Transactions democratizes financial and monetary actions. You can use it for issuing currencies/stock, paying dividends, creating asset accounts, sending/receiving digital cash, writing/depositing cheques, cashier's cheques, creating basket currencies, trading on markets, scripting custom agreements, recurring payments, escrow, etc. Strong crypto is used. Balances are unchangeable (even by a malicious server). Receipts are destructible and redundant. The transactions are unforgeable. The cash is untraceable. The cheques are non-repudiable.