nimbus (1.2.4) | 2018-01-25 20:02 |
nimbus-sample (1.2.4) | 2018-01-26 17:06 |
アプリケーション開発において、トランザクション制御を行う場合、Java規格であるJTA(Java Transaction API)を使用します。
JTAのトランザクションマネージャーの取得は、JavaEEサーバ上では、JNDIから"java:/TransactionManager"のJNDI名でlookupできる仕様が規定されていますが、スタンドアローンアプリケーションでJTA実装を使用する場合などは、取得方法に規定はありません。
そこで、トランザクションマネージャーの取得方法を隠蔽し抽象化したのが、TransactionManagerFactoryです。
関連するパッケージは、以下です。
アプリケーション向けインタフェースTransactionManagerFactoryを使った簡単なアプリケーションのサンプルを示します。
- import javax.transaction.TransactionManager;
- import jp.ossc.nimbus.core.ServiceManagerFactory;
- import jp.ossc.nimbus.service.transaction.TransactionManagerFactory;
- // TransactionManagerFactoryを取得
- TransactionManagerFactory factory = (TransactionManagerFactory)ServiceManagerFactory.getServiceObject("TransactionManagerFactory");
- // TransactionManagerを取得する
- TransactionManager tm = factory.getTransactionManager();
実装サービスの一覧は以下のとおりです。
実装サービス | 実装概要 |
jp.ossc.nimbus.service.transaction.JndiTransactionManagerFactoryService | JavaEEサーバ上でJNDIサーバからTransactionManagerを取得する |
jp.ossc.nimbus.service.transaction.ReflectionTransactionManagerFactoryService | スタンドアローンアプリケーション上で、様々な方法でTransactionManagerを取得する。取得方法は設定に依存する。 |