以下に、メッセージ駆動型 Bean に使用されるデプロイメント記述子プロパティーを示します。
- トランザクション・タイプ
- メッセージ駆動型 Bean が自らトランザクションを管理するか、
コンテナーが Bean の代わりにトランザクションを管理するかを指定します。
- Bean
- メッセージ駆動型 Bean 自体がトランザクションを管理します。
- コンテナー
- コンテナーが Bean の代わりにトランザクションを管理します。
- メッセージ・セレクター
- メッセージ駆動型 Bean が受信する
メッセージを決定するために使用する、JMS メッセージ・セレクター。
例を以下に示します。
JMSType='car' AND color='blue' AND weight>2500
セレクター・ストリングは、JMS メッセージ・ヘッダー内のフィールド、およびメッセージ・プロパティー内のフィールドを参照できます。メッセージ・セレクターは、メッセージ本体の値を参照することはできません。
- 応答モード
- セッションが受信したメッセージに応答する方法。
このプロパティーは、Bean 管理トランザクション境界を使用するメッセージ駆動型 Bean にのみ適用されます (トランザクション・タイプ は「Bean」に設定されます)。
- 自動応答
- セッションは、メッセージが受信呼び出しから正常に戻されたとき、
あるいはメッセージを処理するために呼び出したメッセージ・リスナーが正常に戻されたときに、
メッセージに自動的に応答します。
- 重複 OK 応答
- このセッションは、メッセージの送達に応答するのに時間を要します。
JMS で障害が発生すると、重複するメッセージが送達されることがあるため、
メッセージの重複が気にならないユーザーのみご利用ください。
EJB 仕様で定義されているように、クライアントは Message.acknowledge() を使用してメッセージに応答することはできません。
CLIENT_ACKNOWLEDGE の値が createxxxSession 呼び出しに渡されると、
メッセージは、アプリケーション・サーバーによって自動確認され、Message.acknowledge() は使用されません。
- 宛先タイプ
- メッセージ駆動型 Bean がキューまたはトピックのいずれの宛先を使用するかを指定します。
- キュー
- メッセージ駆動型 Bean はキュー宛先を使用します。
- トピック
- メッセージ駆動型 Bean はトピック宛先を使用します。
- サブスクリプション耐久性
- JMS トピック・サブスクリプションが永続的か非永続的かを指定します。
- 永続的
- サブスクライバーは、
JMS に保存された固有の ID を持つ永続的サブスクリプションを登録します。
同一 ID を持つ後続のサブスクライバー・オブジェクトが再開するサブスクリプションは、
先行するサブスクライバーが残した状態のままです。
永続的サブスクリプションのアクティブ・サブスクライバーがない場合、JMS は、サブスクリプションのメッセージを、サブスクリプションが受信するまで、あるいはメッセージの有効期限が切れるまで保管します。
- 非永続的
- 非永続的サブスクリプションは、
所有するサブスクライバー・オブジェクトの存続時間中は持続します。
すなわち、トピックに公開されたメッセージをクライアントが確認できるのは、
サブスクライバーがアクティブの間だけです。
サブスクライバーがアクティブでない場合、クライアントはそのトピックに関して公開されたメッセージを見られません。
非永続サブスクライバーは、
そのサブスクライバーが作成されたときに存在していたものと同じトランザクション・コンテキスト (例えば、
グローバル・トランザクションまたは指定解除されたトランザクション・コンテキスト) でしか使用できません。
このコンテキストの制約事項について詳しくは、非永続的なサブスクライバーに対するトランザクション・コンテキストの影響を参照してください。
- ActivationSpec 名
- このメッセージ駆動型 Bean をデプロイす
るために使用される J2C アクティベーション・スペックの JNDI 名を入力します。
この名前は WebSphere Application Server に定義するアクティベーション・スペックの名前と一致しなければなりません