WebSphere Application Server - Express for i5/OS, Version 6.1   
             オペレーティング・システム: i5/OS

             目次と検索結果のパーソナライズ化

トランザクション・デプロイメント属性の構成

このタスクによって、トランザクションのデプロイメント記述子の属性を EJB モジュールまたは Web モジュールに関連付けると、J2EE アプリケーションがトランザクションを使用できるようになります。

始める前に

このタスクでは、WebSphere Application Server にデプロイ可能なアプリケーション・コンポーネントの Enterprise Archive (EAR) ファイルがあることを前提としています。 アプリケーションのアセンブルについて詳しくは、アプリケーションのアセンブル を参照してください。

このタスクについて

アプリケーションのデプロイメント属性は、アセンブリー・ツールを使用して構成することができます。

このトピックでは、Application Server Toolkit (AST) を使用して、 アプリケーションのデプロイメント属性を構成する方法を説明します。

デプロイメント記述子のトランザクション属性をアプリケーション・コンポーネント (Enterprise Bean またはサーブレット) 用に設定するには、以下のステップを完了します。

プロシージャー

  1. アセンブリー・ツールを始動します。 AST の開始について詳しくは、 このインフォメーション・センターのナビゲーション・ペインで Application Server Toolkit の情報を 参照してください。
  2. アプリケーション EAR ファイルを作成または編集します。 例えば、既存のアプリケーションの属性を変更するには、インポート・ウィザードを使用して EAR ファイルをアセンブリー・ツールにインポートします。インポート・ウィザードを開始するには、次のようにします。
    1. ファイル」->「インポート」->「EAR ファイル」をクリックします。
    2. 次へ」をクリックして EAR ファイルを選択します。
    3. 終了」をクリックします。
  3. J2EE 階層ビューで、コンポーネント・インスタンスを右クリックし、「Open With」>「Deployment Descriptor Editor」をクリックします。 以下に例を示します。
    • Session Bean の場合は、「EJB モジュール」->「ejb_module_instance」-> 「デプロイメント記述子」->「Session Beans」の順に展開してから、Bean インスタンスを選択します。
    • サーブレットの場合は、「Web モジュール」->「web_application」-> 「デプロイメント記述子」->「web component」の順に展開してから、サーブレット・インスタンスを 選択します。
    コンポーネントのデプロイメント記述子のプロパティー・ダイアログ・ノートブックが プロパティー・ペインに表示されます。
  4. [Session Bean の場合のみ] トランザクション・タイプの属性を設定します。 この属性によって、コンテナーがメソッドを起動する際のトランザクションの方法が定義されます。 この属性は、以下のように、「コンテナー」または「Bean」に設定できます。
    • コンテナー管理トランザクションを使用する場合は、「コンテナー」に設定します。
    • Bean 管理トランザクションを使用する場合は、「Bean」に設定します。
  5. デプロイメント記述子ノートブックで、「Bean」タブを選択します。「WebSphere Extensions」の下で、オプションで「ローカル・トランザクション」を構成します。 ローカル・トランザクション包含を管理できるようにするために、以下のコンポーネント拡張属性を構成します。 これらの属性は、コンポーネントに対して、グローバル・トランザクションが存在しない場合に必ずコンテナーが確立する、そのコンテナーのローカル・トランザクション内包 (LTC) 環境の振る舞いを構成します。
    境界
    この設定では、そこに含まれるすべてのリソース・マネージャー・ローカル・トランザクション (RMLT) が完了している必要がある保持境界が指定されます。指定可能な値は、「Bean メソッド」または「ActivitySession」です。
    • Bean メソッド: これはデフォルト値です。このオプションを選択する場合、RMLT は、開始される Bean メソッドと同じ Bean メソッドで解決される必要があります。
    • [EJB コンポーネントの場合のみ] ActivitySession: RMLT は、 それが開始された ActivitySession の有効範囲内で解決されるか、ActivitySession コンテキストがない場合は、RMLT が開始された Bean メソッド内で解決される必要があります。
      注: ActivitySession オプションは Web コンテナーではサポートされていません。
    リゾルバー
    この設定では、RMLT の開始および終了を行うコンポーネントが指定されます。指定可能な値は、「アプリケーション」または「ContainerAtBoundary」です。
    • アプリケーション: これはデフォルト値です。このアプリケーションは、ローカル・トランザクション内包 (LTC) 境界内で RMLT を開始したり完了したりする役割を担います。 LTC 境界の終了までに完了していない RMLT は、コンテナーによって、未解決のアクション属性の値でクリーンアップされます。
    • ContainerAtBoundary: このコンテナーによって、LTC 境界内で RMLT を開始したり完了することができます。 LTC 有効範囲内で接続が最初に使用されると、コンテナーは RMLT を開始し、LTC の終了で自動的に完了します。 境界が ActivitySession に設定されている場合、RMLT は ActivitySession リソースとしてリストされ、 ActivitySession によって終了するよう指示されます。境界が BeanMethod に設定されている場合は、RMLT はメソッドの終わりにコンテナーによってコミットされます。
    未解決のアクション
    RMLT が LTC 境界の有効範囲の終端で未解決であり、 リゾルバーがアプリケーションにセットされている場合、 コンテナーが RMLT に要求する方向を指定します。指定可能な値は、「ロールバック」または「コミット」です。
    • ロールバック: これはデフォルト値です。LTC 境界の有効範囲の最後で、 コンテナーは未解決のすべての RMLT にロールバックするように指示します。
    • コミット: LTC 境界の有効範囲の最後で、コンテナーは未解決のすべての RMLT にコミットするように指示します。未処理の例外がない場合にのみ、コンテナーは RMLT にコミットするように指示します。 ローカル・トランザクション・コンテキストで実行するアプリケーション・メソッドが例外で終了すると、 未解決の RMLT はコンテナーによってロールバックされます。 (これは、グローバル・トランザクションと同じ振る舞いです。)
  6. 「WebSphere Extensions」で引き続き、「グローバル・トランザクション」を構成します。 これらの属性は、コンポーネントに対して、グローバル・トランザクションがある場合の振る舞いを構成します。
    コンポーネント・トランザクション・タイムアウト
    [コンテナー管理トランザクションを使用するエンタープライズ Bean の場合のみ。] エンタープライズ Bean の代わりに、コンテナーが開始する新規グローバル・トランザクションのトランザクション・タイムアウトを秒単位で指定します。 コンポーネントの代わりに開始される トランザクションに対して、コンポーネント・トランザクション・タイムアウトは、 アプリケーション・サーバーのトランザクション・サービス設定で構成されるデフォルトの トランザクション存続期間のタイムアウトの合計をオーバーライドします。

    以下の 属性は、WS-AtomicTransaction および WS-BusinessActivity サポートを有効にします。

    Web サービス・アトミック・トランザクションの使用
    [エンタープライズ Bean の場合のみ。] この属性を選択する際に、 アプリケーション・コンポーネントが何らかの Web サービス要求を行うと、トランザクション・コンテキストは、 WebSphere Application Server での Web Services Atomic Transaction サポート で説明されている WebSphere WS-AtomicTransaction サポートに従って、 Web サービス要求で伝搬されます。 この属性が選択されていない場合、Web サービス要求はトランザクション・コンテキストを 伝送しません。
    要求上の Web サービス・アトミック・トランザクションの送信
    [Web コンポーネントの場合のみ。] この属性を選択する際に、 アプリケーション・コンポーネントが何らかの Web サービス要求を行うと、トランザクション・コンテキストは、 WebSphere Application Server での Web Services Atomic Transaction サポート で説明されている WebSphere WS-AtomicTransaction サポートに従って、 Web サービス要求で伝搬されます。 この属性が選択されていない場合、Web サービス要求はトランザクション・コンテキストを 伝送しません。
    着信要求上での Web サービス・アトミック・トランザクションの使用
    [Web コンポーネントの場合のみ。] この属性を選択する際に、Web アプリケーション・ コンポーネントは、受け取った WS-AtomicTransaction コンテキストの下で稼働するように準備されます。 Web アプリケーション・コンポーネントは、Supportsコンテナー・トランザクション・タイプ でデプロイされたエンタープライズ Bean と同じ方法で、受け取った WS-AtomicTransaction コンテキストの 下で稼働することができます。この属性を選択しない場合、 Web アプリケーション・コンポーネントのコンテナーは、 NotSupportedコンテナー・トランザクション・タイプでデプロイされた エンタープライズ Bean の EJB コンテナーの振る舞いと同じ方法で、受け取ったトランザクション・コンテキストをすべて中断します。
  7. [EJB コンポーネントの場合のみ] コンテナー管理トランザクションについては、 エンタープライズ Bean のビジネス・メソッドにメソッド起動を委任する場合に、 コンテナーによるトランザクション境界の管理方法を構成します。
    1. デプロイメント記述子ノートブックで、「Assembly」タブを選択します。コンテナー・トランザクション」ボックスに Enterprise Bean のメソッドの表が表示されます。
    2. エンタープライズ Bean のメソッドごとに、「コンテナー・トランザクション・タイプ」を適切な値に設定します。 「Container transaction type」のデフォルト値は Required で、これはトランザクションに関連してメソッド起動が発生することを意味します。 このトランザクションは、 (ローカルまたはリモート) クライアント・コンポーネントのトランザクションのいずれかであるか、 またはクライアント・コンポーネントがトランザクションの下で稼働しない場合は、コンポーネントのコンテナーによって新規トランザクションが 開始されます。

    アプリケーションが ActivitySession を使用する場合、メソッド起動を委任する際に、コンテナーがトランザクション境界を管理する方法は、このタスクに設定されている「Container transaction type」と、 EJB モジュールの ActivitySession デプロイメント属性の設定 で説明されている「アクティビティー・セッション種類」属性によって決まります。これら 2 つのプロパティー間の関係について詳しくは、 ActivitySession とトランザクション・コンテナー・ポリシーの組み合わせ を参照してください。

  8. [SOAP/JMS バインディングを使用し、WS-AtomicTransactions に参加する Web サービス・アプリケーションの場合] 前のステップで説明されているように、JMS ルーター MDB という名前のメッセージ駆動型 Bean の コンテナー・トランザクション・タイプNotSupported の値に設定します。 SOAP/JMS バインディングを使用する Web サービス・アプリケーションは、 アセンブルされた EAR に JMS ルーター MDB という名前のルーター・メッセージ駆動型 Bean を組み込みます。 Web サービスが SOAP/JMS バインディングを使用し、WS-AtomicTransactions に参加する場合、 WebSphere Application Server での Web Services Atomic Transaction サポート で説明されているように、JMS ルーター MDBコンテナー・トランザクション・タイプNotSupported の値に設定します。

    SOAP/HTTP バインディングを使用し、 WS-AtomicTransactions に参加する Web サービス・アプリケーションの場合、 これを行う必要はありません。

  9. [クライアント・アプリケーション・コンポーネントの場合のみ] 必要に応じて、 クライアントによってトランザクション区分のサポートを有効にします。 デプロイメント記述子ノートブックで、 「Allow JTA demarcation」オプションを選択します。 これにより、クライアント・コンテナーは、JTA UserTransaction インターフェースをクライアント・コンポーネントの java:comp/UserTransaction で JNDI にバインドします。トランザクションのクライアント・サポート で説明されているように、 クライアント・コンテナーでのトランザクション・サポートには制約があります。
  10. デプロイメント記述子の変更を保管します。
    1. デプロイメント記述子エディターを閉じます。
    2. プロンプトが出された場合は、「はい」をクリックして デプロイメント記述子に変更を保管します。
  11. アーカイブ・ファイルを検査します。 AST を使用するファイルの検査について詳しくは、 インフォメーション・センターのナビゲーション・ペインで Application Server Toolkit の情報を参照してください。
  12. プロジェクトのポップアップ・メニューの「デプロイ」をクリックして、EJB デプロイメント・コードを生成します。
  13. オプション: WebSphere Application Server システムで 完了したモジュールをテストします。モジュールを右クリックして、 「サーバー上で実行」をクリックし、表示されるウィザードの指示に従います。
    重要:サーバー上で実行」は、単体テストにのみ使用してください。アセンブリー・ツールは、 WebSphere Application Server のインストールを制御し、アプリケーションがリモート側で公開される場合、 アセンブリー・ツールは当該サーバーのサーバー構成ファイルを上書きします。 実動サーバーでは「Run On Server」を使用しないでください。

次の作業

アプリケーションのアセンブルが完了した後で、システム管理ツールを使用して、 アプリケーションを実行するアプリケーション・サーバーに EAR ファイルをデプロイします。 例えば、J2EE アプリケーションのデプロイと管理 で説明されているように、管理コンソールを使用します。



関連タスク
アプリケーション・サーバーのトランザクション・プロパティーの構成
トランザクションを使用するコンポーネントの開発
アプリケーションのアセンブル
関連資料
ActivitySession とトランザクション・コンテナー・ポリシーの組み合わせ
ローカル・トランザクション内包の考慮事項
トランザクション・サービス設定
関連情報
Enterprise JavaBeans 仕様
パフォーマンスおよびスケーラビリティーのための WebSphere Application Server 開発のベスト・プラクティス
タスク・トピック    

ご利用条件 | フィードバック

最終更新: Jan 21, 2008 7:05:28 PM EST
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.express.iseries.doc/info/iseriesexp/ae/tjta_entra2.html