JMS アクティベーション・スペック [設定]
メッセージ駆動型 Bean を使用して、Java™ EE Connector Architecture (JCA) 1.5 を通してデフォルトのメッセージング・プロバイダーと通信する場合は、JMS アクティベーション・スペックを作成します。JCA は、WebSphere® Application Server などのアプリケーション・サーバーとエンタープライズ情報システムの間の Java 接続を提供します。これによって、JMS プロバイダーの Java EE アプリケーション・サーバーとの統合の標準化された方法が提供され、データがメッセージの形で転送されるエンタープライズ・システムとのデータの交換のためのフレームワークが提供されます。
「名前」、「JNDI 名」、「宛先 JNDI 名」または「宛先ルックアップ」、および「認証別名」以外のすべてのアクティベーション・スペック構成プロパティーは、関連付けられた EJB 2.1 またはそれ以降のメッセージ駆動型 Bean のデプロイメント記述子内の、適切な名前のアクティベーション構成プロパティーによってオーバーライドされます。EJB 2.0 メッセージ駆動型 Bean の場合、「宛先タイプ」、「サブスクリプション耐久性」、「確認モード」、および「メッセージ・セレクター」の各プロパティーは、デプロイメント記述子の対応するエレメントによってオーバーライドされます。 どちらのタイプの Bean でも、「宛先 JNDI 名」または「宛先ルックアップ」プロパティーは、メッセージ駆動型 Bean のバインディングに指定された値によってオーバーライドできます。
アクティベーション・スペックのプロパティーは、 デフォルト・メッセージング・プロバイダーがメッセージ駆動型 Bean アプリケーションの接続先のメッセージング・エンジンをどう選択するかに影響します。 デフォルトでは、環境が、バス上の使用可能なメッセージング・エンジンにアプリケーションを自動的に接続します。 ただし、接続プロセスに影響する追加の構成の詳細を指定できます。例えば、特別なブートストラップ・サーバーを識別したり、使用可能なメッセージ・エンジンのサブグループに接続を制限したり、可用性やパフォーマンスを向上したり、受信メッセージの順次処理を確認したりすることができます。これを実行する理由および方法については、『JMS アプリケーションをバス上のメッセージング・エンジンに接続する方法』のトピックを参照してください。
「構成」タブ
「構成」タブには、このオブジェクトの構成プロパティーが表示されます。 これらのプロパティーの値は、ランタイム環境を停止してから再始動しても保持されています。ランタイム環境に構成変更を適用する方法については、インフォメーション・センターのタスクの説明を参照してください。
一般プロパティー
有効範囲
アプリケーション・サーバーがこのリソース・オブジェクトを使用できる最高トポロジー・レベルを指定します。
通知 | 値 |
---|---|
必須 | いいえ |
データ型 | ストリング |
プロバイダー
Java Message Service (JMS) に基づいて非同期メッセージングを有効化する JMS プロバイダーを指定します。JMS プロバイダーは、特定の JMS キュー宛先またはトピック宛先に対して接続を確立するための J2EE 接続ファクトリーを備えています。JMS プロバイダーの管理オブジェクトは、関連する JMS プロバイダーの JMS リソースを管理するために使用されます。
通知 | 値 |
---|---|
必須 | いいえ |
データ型 | ストリング |
名前
リソースに必要な表示名。
通知 | 値 |
---|---|
必須 | はい |
データ型 | ストリング |
JNDI 名
リソースの JNDI 名。
通知 | 値 |
---|---|
必須 | はい |
データ型 | ストリング |
説明
リソースのオプションの説明。
通知 | 値 |
---|---|
必須 | いいえ |
データ型 | テキスト域 |
宛先タイプ
通知 | 値 |
---|---|
必須 | はい |
データ型 | ドロップダウン・リスト |
範囲 |
|
宛先ルックアップ
「宛先タイプ」プロパティーで、宛先のタイプを選択します。
JMS をサポートしているリソース・アダプターの場合は、リソース・アダプターが JMS 宛先からのメッセージを提供できるように、javax.jms.Destinations をアクティベーション・スペックに関連付ける必要があります。 この場合、管理者は、javax.jms.Destination インターフェースを実装して JNDI にそれをバインドする J2C 管理オブジェクトを構成します。
J2C 管理オブジェクトを構成して、 setDestination(javax.jms.Destination) メソッドを実行する ActivationSpec クラスを使用します。 この場合、宛先ルックアップ (javax.jms.Destination を実装する J2C 管理オブジェクトの JNDI 名) を指定できます。
通知 | 値 |
---|---|
必須 | はい |
データ型 | ストリング |
接続ファクトリーのルックアップ
接続ファクトリーの JNDI 名。
通知 | 値 |
---|---|
必須 | はい |
データ型 | ストリング |
メッセージ・セレクター
JMSType='car' AND color='blue' AND weight>2500
セレクター・ストリングは、JMS メッセージ・ヘッダー内のフィールド、およびメッセージ・プロパティー内のフィールドを参照できます。メッセージ・セレクターは、メッセージ本体の値を参照することはできません。
ヌル値 (空ストリング) は、メッセージ・コンシューマー用のメッセージ・セレクターがないことを示します。
通知 | 値 |
---|---|
必須 | いいえ |
データ型 | ストリング |
バス名
通知 | 値 |
---|---|
必須 | いいえ |
データ型 | カスタム |
応答モード
メッセージが削除されると、確認応答が送信されます。
- システムが、Bean の完了時にメッセージを削除するように構成されている場合、メッセージは Bean の新規インスタンスにディスパッチされるため、別のタイミングで処理されます。
- システムが、Bean の開始時にメッセージを削除するように構成されている場合、メッセージは失われます。
サービスの品質がベスト・エフォート非パーシスタントに設定されている場合、Bean が開始するときにメッセージは削除されます。他のすべてのサービスの品質の場合、メッセージは Bean が完了するときに削除されます。
通知 | 値 |
---|---|
必須 | いいえ |
データ型 | ドロップダウン・リスト |
範囲 |
|
ターゲット
通知 | 値 |
---|---|
必須 | いいえ |
データ型 | ストリング |
ターゲット・タイプ
通知 | 値 |
---|---|
必須 | いいえ |
データ型 | ドロップダウン・リスト |
範囲 |
|
ターゲット重要度
通知 | 値 |
---|---|
必須 | いいえ |
データ型 | ドロップダウン・リスト |
範囲 |
|
ターゲット・インバウンド・トランスポート・チェーン
選択したメッセージング・エンジンがアプリケーションと同じサーバーにある場合は、直接プロセス内接続が実行され、このトランスポート・チェーン・プロパティーは無視されます。
- InboundBasicMessaging
- 標準の TCP/IP 接続 (JFAP-TCP/IP) を使用するコネクション指向プロトコルです。これには、2 フェーズのトランザクション (リモート XA) フローのサポートが含まれているため、クライアント・システムまたはサーバー・システム上で実行されているメッセージ・プロデューサーまたはコンシューマーは、そのクライアント・システムまたはサーバー・システムで管理されているグローバル・トランザクションに参加できます。 XA フローには、あるサーバーで実行されているアプリケーションから 2 番目のサーバー上のメッセージング・エンジンへのアクセスをサポートする、という特有の使い方があります。これは、最初のサーバーが適切なメッセージング・エンジンを持っていない可能性があるためです。 リモート XA フローを使用した場合、そのアプリケーションからトランザクション・コーディネーターがローカルで使用可能になっている必要があります。
- InboundSecureMessaging
- これは、SSL でラップされた InboundBasicMessaging プロトコルです。
通知 | 値 |
---|---|
必須 | いいえ |
データ型 | ストリング |
プロバイダーのエンドポイント
ブートストラップ・サーバーに接続する場合は、hostName:portNumber:chainName という構文を持つ、コンマで区切られたエンドポイント・トリプレットのリストが使用されます。例えば、Merlin:7276:BootstrapBasicMessaging,Gandalf:5557:BootstrapSecureMessaging のようにします。
ホスト名が指定されない場合は、localhost がデフォルト値として使用されます。
ポート番号が指定されない場合は、7276 がデフォルト値として使用されます。
プロトコルが指定されない場合は、BootstrapBasicMessaging などの定義済みのチェーンがデフォルト値として使用されます。
通知 | 値 |
---|---|
必須 | いいえ |
データ型 | テキスト域 |
最大バッチ・サイズ
通知 | 値 |
---|---|
必須 | いいえ |
データ型 | 整数 |
範囲 | 1 から 2147483647 |
エンドポイントごとの MDB の最大並行呼び出し数
通知 | 値 |
---|---|
必須 | いいえ |
データ型 | 整数 |
範囲 | 1 から 2147483647 |
繰り返されるメッセージの障害時にエンドポイントを自動停止する
これらのパラメーターにより、連続して失敗したメッセージの数が指定した制限に達すると、エンドポイントを自動的に停止させることができます。 これは、メッセージ自身の問題により 1 個から 2 個のメッセージが失敗した場合と、システムのリソースの問題により複数のメッセージが連続して失敗した場合とを識別する上で役立ちます。
エンドポイントが自動的に停止された場合、管理コンソール・パネルでのその「Status (状況)」は赤です。「再開」をクリックして、手動で再始動する必要があります。
エンドポイント が再始動された後、そのエンドポイントが停止される原因となった失敗したメッセージはすべて再試行 されます。メッセージがそれでも失敗する場合は、構成済みであれば、メッセージは例外宛先に移動されます。
使用可能
通知 | 値 |
---|---|
必須 | いいえ |
データ型 | ブール |
連続障害メッセージのしきい値
このプロパティーは、繰り返されるメッセージの障害時にエンドポイントを自動停止する プロパティーが有効である場合を除き、無効です。
通知 | 値 |
---|---|
必須 | いいえ |
データ型 | 整数 |
障害のあるメッセージの再試行間の遅延
失敗を示すメッセージの再試行の間隔を遅らせるように設定すると、MDB が停止されるまでに不必要に例外宛先に移動されるメッセージの数が少なくなります。 移動されるメッセージの数を最小にするには、この遅延を、宛先に到着するメッセージ間の予想される時間間隔よりも大きくします。
このプロパティーは、繰り返されるメッセージの障害時にエンドポイントを自動停止する プロパティーが有効である場合を除き、無効です。
通知 | 値 |
---|---|
必須 | いいえ |
データ型 | 整数 |
範囲 | ミリ秒単位の時間。値 0 は、再試行間に遅延がないことを指示します。 |
サブスクリプション耐久性
通知 | 値 |
---|---|
必須 | いいえ |
データ型 | ドロップダウン・リスト |
範囲 |
|
サブスクリプション名
このサブスクリプション名は、所定のクライアント ID 内で固有のものである必要があります。
通知 | 値 |
---|---|
必須 | いいえ |
データ型 | ストリング |
クライアント ID
通知 | 値 |
---|---|
必須 | いいえ |
データ型 | ストリング |
サブスクリプション・ホーム
通知 | 値 |
---|---|
必須 | いいえ |
データ型 | ストリング |
参照によるメッセージ・ペイロードの受け渡し
メッセージの受信にこのアクティベーション・スペックを使用するアプリケーションは、次のルールに従っていなければなりません。
- アプリケーションは、JMS オブジェクト・メッセージから取得したデータ・オブジェクトは変更しません。 このデータ・オブジェクトは読み取り専用として取り扱われます。
通知 | 値 |
---|---|
必須 | いいえ |
データ型 | ブール |
初めにこのアクティベーション・スペックを使用して受信したメッセージを再送するアプリケーションは、次のルールに従っていなければなりません。
- アプリケーションは、 メッセージにまだデータ・オブジェクトが設定されていない場合に限り、JMS オブジェクト・メッセージ内のデータ・オブジェクトを置き換えることができます。 アプリケーションは、 メッセージにデータ・オブジェクトが設定された後で、そのデータ・オブジェクトを変更したり置き換えたりすることはありません。
- アプリケーションは、JMS バイト・メッセージ内のバイト配列を置き換えることはありますが、 使用するのは writeBytes(byte[]) の単一呼び出しのみで、 メッセージにまだバイト配列が設定されていない場合に限ります。 アプリケーションは、 メッセージにバイト配列が設定された後で、そのバイト配列を変更したり置き換えたりすることはありません。
通知 | 値 |
---|---|
必須 | いいえ |
データ型 | ブール |
先読み
コンシューマーに割り当てられているメッセージは、サーバー上でロックされており、その宛先の他のコンシューマーは、それらのメッセージを使用することはできません。 コンシューマーに割り当てられているが、そのコンシューマーがクローズされるまで使用されなかったメッセージは、 クローズ後にサーバー上でアンロックされるため、他のコンシューマーがそれらを受信することができます。
JMS 宛先の「Read ahead」プロパティーを設定することにより、個々の JMS 宛先でこのプロパティーをオーバーライドすることができます。
通知 | 値 |
---|---|
必須 | いいえ |
データ型 | ドロップダウン・リスト |
範囲 |
|
常にすべてのサーバーで MDB を活動化する
このプロパティーが使用されるのは、ターゲット・バスのメンバーであるサーバーで MDB アプリケーションが実行されている場合のみです。 ターゲット・バスのメンバーではないサーバーで MDB が実行されている場合は、このプロパティーは使用されません。
ターゲット・バスのメンバーであるサーバーで MDB アプリケーションが実行されている場合、 そのサーバーが実行中のメッセージング・エンジンもホストしているかどうかに関係なく、 このオプションを有効にすることで MDB アプリケーションはメッセージを処理できるようになります。 このオプションが有効ではない場合、ローカルで ME が実行されていないサーバー上の MDB アプリケーションはメッセージを処理しません。
- クラスター内の処理能力を十分に利用するために、クラスター内のすべてのサーバーが MDB アプリケーションからのメッセージを受信できます。
- メッセージが順次処理されるように、一度に 1 つのサーバーのみが MDB アプリケーションからのメッセージを受信できます。
詳しくは、『メッセージ駆動型 Bean がクラスター内で接続する方法』のトピックを参照してください。
通知 | 値 |
---|---|
必須 | いいえ |
データ型 | ブール |
再試行間隔
通知 | 値 |
---|---|
必須 | いいえ |
データ型 | 整数 |
範囲 | 1 から 2147483647 |
認証別名
Java Platform, Enterprise Edition (Java EE) コネクター・アーキテクチャー (JCA) 認証別名は、JMS プロバイダーへの新規接続の作成を認証するために使用するユーザー ID とパスワードを指定します。
認証別名フィールドが使用される場合、ユーザー名とパスワードのカスタム・プロパティー・フィールドは未指定のままにしてください。アプリケーションのデプロイメントの一部として設定された認証別名のプロパティーは、アクティベーション・スペック管理オブジェクト上に設定されたプロパティーに優先します。
トランザクションのリカバリー・ログの場合も、認証別名の みが暗号化されない形でファイルに書き込まれます。 こうしたセキュリティー・サービスは、実ユーザー名とパスワードを守るために使用されます。
アプリケーションの起動中は、アクティベーション・スペックがエンドポイント活動化 の一部として初期化されている場合、サーバーは認証別名を使用して実ユーザー名とパスワードをセキュリティーから検索し、それをアクティベーション・スペックのインスタンス上に設定します。
通知 | 値 |
---|---|
必須 | いいえ |
データ型 | ドロップダウン・リスト |