3.2.2.9. JPA 2.0 の仕様に準拠するようアプリケーションを更新する

概要

JPA 2.0 の仕様では、永続コンテキストが JTA トランザクションの外部では伝播できないことが要件となっています。アプリケーションがトランザクションスコープの永続コンテキストのみを使用する場合、JBoss Enterprise Application Platform 6 での挙動は以前のバージョンと変わらないため、変更を加える必要はありません。アプリケーションが拡張永続コンテキスト (XPC) を使用してデータ変更のキューやバッチ処理を許可する場合は、アプリケーションを変更する必要があります。

永続コンテキストの伝搬挙動

拡張永続コンテキストを使用するステートフルセッション Bean である Bean1 がアプリケーションにあり、トランザクションスコープの永続コンテキストを使用するステートレスセッション Bean である Bean2 を呼び出す場合、次のような挙動が想定されます。

  • Bean1が JTA トランザクションを開始し、JTA トランザクションがアクティブな状態で Bean2 メソッドを呼び出す場合、JBoss Enterprise Application Platform 6 における挙動は以前のリリースと変わらないため、変更を加える必要はありません。
  • Bean1 が JTA トランザクションを開始せず、 Bean2 メソッドを呼び出す場合、JBoss Enterprise Application Platform 6 は拡張永続コンテキストを Bean2 へ伝搬しません。この挙動は拡張永続コンテキストを Bean2 へ伝搬した以前のリリースとは異なっています。拡張永続コンテキストがトランザクションエンティティーマネージャーによって Bean へ伝搬されることをアプリケーションが想定している場合、アクティブな JTA トランザクション内で呼び出しを行うようにアプリケーションを変更する必要があります。