ActivitySessions を使用するエンタープライズ・アプリケーションの開発
このトピックでは、エンタープライズ・アプリケーションで ActivitySessions を使用するための概要レベルのタスクの概要を説明します。
このタスクについて
ActivitySession をエンタープライズ・アプリケーションで使用する前に、以下の点を考慮してください。
次の概要レベルのタスクは、エンタープライズ・アプリケーションにおける ActivitySession の使用法を説明しています。- ActivitySession コンテキストの下でアクセスされるアプリケーションは、 アプリケーション・メソッドの処理中に Enterprise JavaBeans (EJB) コンテナーによってスローされた javax.transaction.InvalidTransactionException RemoteException を受信できます。 この例外は、ActivitySession ベースの活動化ポリシーを持つエンタープライズ Bean のインスタンスが、 グローバルおよびローカルの並行トランザクションに関連する場合に発生します。
- エンタープライズ Bean が ActivitySession コンテキストに加わって、ActivitySession ベースの操作をサポートできるようにするには、エンタープライズ Bean を ACTIVITY_SESSION の ActivationPolicy と一緒に構成する必要があります。 TRANSACTION または ONCE の ActivationPolicy を使用して構成された Bean は、ActivationPolicy コンテキストに参加することができません。
- セッション Bean は、コンテナー管理 ActivitySession の使用、 または Bean 管理 ActivitySession の実装のいずれかを行えます。 エンティティー Bean は、コンテナー管理 ActivitySession の使用のみを行えます。エンタープライズ Bean のデプロイ時に、Bean のトランザクション・タイプ・デプロイメント属性を Bean 管理またはコンテナー管理になるように設定すると、Bean は ActivitySession 管理に関して Bean 管理またはコンテナー管理のいずれかになるようにデプロイされます。Bean 管理トランザクションを使用する Bean は、Bean 管理 ActivitySession を 使用できます。コンテナー管理トランザクションを使用する Bean は、コンテナー管理 ActivitySession を使用できます。
- セッション Bean またはエンタープライズ・アプリケーション・クライアントで、 それぞれ固有の ActivitySession を管理するには、 ActivitySession を管理するエンタープライズ Bean または J2EE クライアントの開発の説明に従って、 ActivitySession の境界を明示的に区分するコードを作成する必要があります。