このタスクを使って、Enterprise Bean のメッセージ駆動型 Bean デプロイメント属性を構成し、
アプリケーション EAR ファイル内で定義されているデプロイメント属性をオーバーライドします。
このタスクについて
アプリケーションのデプロイメント属性は、
Application Server Toolkit または Rational Application Developer などのアセンブリー・ツールを
使用して構成することができます。
このトピックでは、Application Server Toolkit を使用して、
アプリケーションのデプロイメント属性を構成する方法を説明します。
このタスクの説明では、メッセージ駆動型 Bean として開発され、
WebSphere Application Server にデプロイ可能なアプリケーション・エンタープライズ Bean を含んでいる EAR ファイルがあることを前提としています。
アプリケーションのアセンブルについて
詳しくは、アプリケーションのアセンブルを参照してください。
エンタープライズ Bean の
メッセージ駆動型 Bean デプロイメント属性を構成するには、アセンブリー・ツールを使用して、
アプリケーションのデプロイメント属性がリスナー・ポート定義に一致するように構成します。
プロシージャー
- アセンブリー・ツールを開始します。
- アプリケーション EAR ファイルを作成または編集します。 例えば、既存のアプリケーションの属性を変更するには、インポート・ウィザードを使用して EAR ファイルをアセンブリー・ツールにインポートします。インポート・ウィザードを開始するには、次のようにします。
- 「ファイル」->「インポート」->「EAR ファイル」をクリックします。
- 「次へ」をクリックして EAR ファイルを選択します。
- 「終了」をクリックします。
- J2EE 階層ビューで、メッセージ・ドリブン Bean の EJB モジュールを右クリックし、「Open With」>「Deployment Descriptor Editor」をクリックします。
メッセージ駆動型 Bean のプロパティー・ダイアログ・ノートブックがプロパティー・ペインに表示されます。
- 一般的なデプロイメント・プロパティーを指定します。
- プロパティー・ペインで、「Bean」タブを選択します。
- 以下のプロパティーを指定します。
- トランザクション・タイプ
- メッセージ Bean が自らトランザクションを管理するか、コンテナーが Bean の代わりに
トランザクションを管理するかを指定します。
- Bean
- メッセージ Bean 自体がトランザクションを管理します。
- コンテナー
- コンテナーが Bean の代わりにトランザクションを管理します。
- 拡張デプロイメント・プロパティーを指定します。
- 「Activation Configuration」の下で、以下のプロパティーを検討します。
- 応答モード
- セッションが受信したメッセージに応答する方法。
このプロパティーは、Bean 管理トランザクション境界を使用するメッセージ駆動型 Bean にのみ適用されます (トランザクション・タイプ は「Bean」に設定されます)。
- 自動応答
- セッションは、メッセージが受信呼び出しから正常に戻されたとき、
あるいはメッセージを処理するために呼び出したメッセージ・リスナーが正常に戻されたときに、
メッセージに自動的に応答します。
- 重複 OK 応答
- このセッションは、メッセージの送達に応答するのに時間を要します。
JMS で障害が発生すると、重複するメッセージが送達されることがあるため、
メッセージの重複が気にならないユーザーのみご利用ください。
EJB 仕様で定義されているように、クライアントは Message.acknowledge() を使用してメッセージに応答することはできません。
CLIENT_ACKNOWLEDGE の値が createxxxSession 呼び出しに渡されると、
メッセージは、アプリケーション・サーバーによって自動確認され、Message.acknowledge() は使用されません。
- 宛先タイプ
- メッセージ Bean がキューまたはトピックのいずれの宛先を使用するかを指定します。
- キュー
- メッセージ Bean はキュー宛先を使用します。
- トピック
- メッセージ Bean はトピック宛先を使用します。
- 耐久性
- JMS トピック・サブスクリプションが永続的か非永続的かを指定します。
- 永続的
- サブスクライバーは、
JMS に保存された固有の ID を持つ永続的サブスクリプションを登録します。
同一 ID を持つ後続のサブスクライバー・オブジェクトが再開するサブスクリプションは、
先行するサブスクライバーが残した状態のままです。
永続的サブスクリプションのアクティブ・サブスクライバーがない場合、JMS は、サブスクリプションのメッセージを、サブスクリプションが受信するまで、あるいはメッセージの有効期限が切れるまで保管します。
- 非永続的
- 非永続的サブスクリプションは、
所有するサブスクライバー・オブジェクトの存続時間中は持続します。
すなわち、トピックにパブリッシュされたメッセージをクライアントが確認できるのは、
サブスクライバーがアクティブの間だけです。
サブスクライバーがアクティブでない場合、クライアントはそのトピックに関して公開されたメッセージを見られません。
非永続サブスクライバーは、
そのサブスクライバーが作成されたときに存在していたものと同じトランザクション・コンテキスト (例えば、
グローバル・トランザクションまたは指定解除されたトランザクション・コンテキスト) でしか使用できません。
このコンテキストの制約事項について詳しくは、非永続的なサブスクライバーに対するトランザクション・コンテキストの影響を参照してください。
- メッセージ・セレクター
- メッセージ Bean が受信するメッセージを決定するために使用する JMS メッセージ・セレクター。
例を以下に示します。
JMSType='car' AND color='blue' AND weight>2500
セレクター・ストリングは、JMS メッセージ・ヘッダー内のフィールド、およびメッセージ・プロパティー内のフィールドを参照できます。メッセージ・セレクターは、メッセージ本体の値を参照することはできません。
これらのプロパティーの詳細については、メッセージ駆動型 Bean デプロイメント記述子・プロパティー
を参照してください。
- バインディング・デプロイメント・プロパティーを指定します。
- 「WebSphere バインディング」の下で、以下のプロパティーを指定します。
- リスナー・ポート名
- このメッセージ駆動型 Bean 用のリスナー・ポートの名前を入力します。
- デプロイメント記述子の変更を保管します。
- デプロイメント記述子エディターを閉じます。
- 指示が出たら、「はい」をクリックして、デプロイメント記述子の変更を保管するよう指示します。
- アーカイブ・ファイルを検査します。 詳しくは、Application
Server Toolkit の資料を参照してください。
- プロジェクトのポップアップ・メニューの「デプロイ」をクリックして、EJB デプロイメント・コードを生成します。
- オプション: WebSphere Application Server システムで
完了したモジュールをテストします。 モジュールを右クリックして、
「サーバー上で実行」をクリックし、表示されるウィザードの指示に従います。
注: 「サーバー上で実行」は、Windows、Linux/Intel、および AIX オペレーティング・システムでのみ動作します。
Solaris などの UNIX オペレーティング・システムでは、WebSphere Application Server
インストールへのリモートでのデプロイは行えません。
重要: 「サーバー上で実行」は、単体テストにのみ使用してください。
アセンブリー・ツールは WebSphere Application Server インストールを制御します。
アプリケーションがリモート側で公開される場合、
アセンブリー・ツールは当該サーバーのサーバー構成ファイルを上書きします。
実動サーバーでは使用しないでください。
次の作業
アプリケーションのアセンブルが完了したら、システム管理ツールを使用して、アプリケーションを実行するアプリケーション・サーバーに
EAR ファイルをデプロイします。例えば、
アプリケーションのデプロイおよび管理で説明しているように、管理コンソールを使用します。