ActivitySession を管理するエンタープライズ Bean またはエンタープライズ・アプリケーション・クライアントの開発

このタスクを使用して、提供されているコード例の抜粋に基づいて、 セッション EJB またはエンタープライズ・アプリケーション・クライアントで ActivitySession を管理するために必要なコードを作成します。

このタスクについて

ほとんどの場合、エンタープライズ Bean による Bean 内での ActivitySession の管理は、EJB コンテナーによって行うことができます。これらの場合、行う必要があるのは、 EJB モジュールの ActivitySession デプロイメント属性の構成に関するトピックの説明に従って、EJB モジュール・デプロイメント記述子で適切な ActivitySession 属性を設定することだけです。さらに、一般的には、すべての ActivitySession 管理を Enterprise Bean レベルで処理するように、 Enterprise Bean を設計することが実用的です。

ただし、場合によっては、 セッション Bean またはエンタープライズ・アプリケーション・クライアントが ActivitySession に直接参加するようにする必要があります。 次に、固有の ActivitySession を管理するために、 セッション Bean またはエンタープライズ・アプリケーション・クライアントが必要とするコードを作成する必要があります。

注: BMT を使用し、Activity セッション活動化設定を持つ Session Bean は、ActivitySession を管理することができます。 Entity Bean は ActivitySession を管理できません。 すなわち、EJB コンテナーが、常に Entity Bean 内で ActivitySession を管理します。

ActivitySession を管理するために、 セッション Bean またはエンタープライズ・アプリケーション・クライアントが必要とするコードの作成を準備する場合は、 ActivitySession およびトランザクション・コンテキストに関するトピックで説明されている点を考慮してください。

ActivitySession を管理するために、 セッション EJB またはエンタープライズ・アプリケーション・クライアントが必要とするコードを作成するには、 以下のサンプル・コードの抜粋に基づいたステップを実行してください。

手順

  1. ActivitySession 用に初期コンテキストを取得します。
  2. URL java:comp/websphere/UserActivitySession の JNDI 検索によって 、UserActivitySession インターフェースの実装を取得します。 UserActivitySession インターフェースは、ActivitySessions の開始と終了、 およびスレッドに関連付けられているアクティブな ActivitySession のさまざまな属性の照会を行うために使用します。
  3. タイムアウトを秒単位で設定します。 この秒数が経過した後に開始された ActivitySession は、ActivitySession サービスによって自動的に完了されます。 セッション Bean またはエンタープライズ・アプリケーション・クライアントが特にこの値を設定しない場合には、 デフォルトのタイムアウト (300 秒) が使用されます。

    また、デフォルトのタイムアウトは、管理コンソール の「server」-> 「Activity Session Service」パネルで、各アプリケーション・サーバーについて指定変更できます。

  4. UserActivitySession の beginSession() メソッドを呼び出すことにより 、ActivitySession を開始します。
  5. ActivitySession 内で、必要な作業を行うためにビジネス・メソッドを呼び出します。 UserActivitySession の他のメソッドを呼び出して、ActivitySession を管理することもできます。 例えば、ActivitySession の状況を取得したり、ActivitySession で使用される すべての ActivitySession リソースにチェックポイントを指定したりすることができます。
  6. UserActivitySession の endSession() メソッドを呼び出すことにより 、ActivitySession を終了します。

以下のコードの抜粋は、UserActivitySession インターフェースの使用についての基本的な例です。
// Get initial context
  InitialContext ic = new InitialContext();
// Lookup UserActivitySession
    UserActivitySession uas = (UserActivitySession)ic.lookup("java:comp/websphere/UserActivitySession");

// Set the ActivitySession timeout to 60 seconds
  uas.setSessionTimeout(60);
// Start a new ActivitySession context
  uas.beginSession();
// Do some work under this context
  MyBeanA beanA.doSomething();
  ...
  MyBeanB beanB.doSomethingElse();
// End the context
  uas.endSession(EndModeCheckpoint);

トピックのタイプを示すアイコン タスク・トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tas_usebma
ファイル名:tas_usebma.html