[Java規格支援機能]JTA

アプリケーション開発において、トランザクション制御を行う場合、Java規格であるJTA(Java Transaction API)を使用します。

JTAのトランザクションマネージャーの取得は、JavaEEサーバ上では、JNDIから"java:/TransactionManager"のJNDI名でlookupできる仕様が規定されていますが、スタンドアローンアプリケーションでJTA実装を使用する場合などは、取得方法に規定はありません。
そこで、トランザクションマネージャーの取得方法を隠蔽し抽象化したのが、TransactionManagerFactoryです。

関連するパッケージは、以下です。

アプリケーション向けインタフェース TransactionManagerFactory

アプリケーション向けインタフェースTransactionManagerFactoryを使った簡単なアプリケーションのサンプルを示します。

  1. import javax.transaction.TransactionManager;
  2. import jp.ossc.nimbus.core.ServiceManagerFactory;
  3. import jp.ossc.nimbus.service.transaction.TransactionManagerFactory;
  4. // TransactionManagerFactoryを取得
  5. TransactionManagerFactory factory = (TransactionManagerFactory)ServiceManagerFactory.getServiceObject("TransactionManagerFactory");
  6. // TransactionManagerを取得する
  7. TransactionManager tm = factory.getTransactionManager();

実装サービスの一覧は以下のとおりです。

実装サービス実装概要
jp.ossc.nimbus.service.transaction.JndiTransactionManagerFactoryServiceJavaEEサーバ上でJNDIサーバからTransactionManagerを取得する
jp.ossc.nimbus.service.transaction.ReflectionTransactionManagerFactoryServiceスタンドアローンアプリケーション上で、様々な方法でTransactionManagerを取得する。取得方法は設定に依存する。