JMS アクティベーション・スペックは、1 つ以上のメッセージ駆動型 Bean に関連付けられ、Bean がメッセージを受け取るために必要な構成を提供します。
メッセージ駆動型 Bean を使用して Java EE コネクター・アーキテクチャー (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 名。
| 通知 | 値 |
|---|---|
| 必須 | はい |
| データ型 | ストリング |
リソースのオプションの説明。
| 通知 | 値 |
|---|---|
| 必須 | いいえ |
| データ型 | テキスト域 |
メッセージ駆動型 Bean がキューまたはトピックのいずれの宛先を使用するかを指定します。
| 通知 | 値 |
|---|---|
| 必須 | はい |
| データ型 | ドロップダウン・リスト |
| 範囲 |
|
宛先の JNDI 名。
「宛先タイプ」プロパティーで、宛先のタイプを選択します。
JMS をサポートしているリソース・アダプターの場合は、リソース・アダプターが JMS 宛先からのメッセージを提供できるように、javax.jms.Destinations をアクティベーション・スペックに関連付ける必要があります。 この場合、管理者は、javax.jms.Destination インターフェースを実装して JNDI にそれをバインドする J2C 管理オブジェクトを構成します。
J2C 管理オブジェクトを構成して、 setDestination(javax.jms.Destination) メソッドを実行する ActivationSpec クラスを使用します。 この場合、宛先 JNDI 名を指定することができます (つまり、 javax.jms.Destination を実行する J2C 管理オブジェクト用の JNDI 名 )。
アプリケーションの起動中は、エンドポイントの活動化の一部とし てアクティベーション・スペックが初期化されている場合、サーバーは宛先 JNDI 名を使用し て宛先の管理オブジェクトを検索し、それをアクティベーション・スペックのインスタンス上に設定します。
| 通知 | 値 |
|---|---|
| 必須 | はい |
| データ型 | ストリング |
メッセージ駆動型 Bean が受信するメッセージを決定するために使用される JMS メッセージ・セレクター。この値は、使用可能なメッセージのサブセットを選択するために使用されるストリングです。この構文は、JMS 仕様で説明されているように、SQL 92 条件式構文のサブセットに基づいています。 詳しくは、インフォメーション・センターを参照してください。
JMSType='car' AND color='blue' AND weight>2500
セレクター・ストリングは、JMS メッセージ・ヘッダー内のフィールド、およびメッセージ・プロパティー内のフィールドを参照できます。メッセージ・セレクターは、メッセージ本体の値を参照することはできません。
ヌル値 (空ストリング) は、メッセージ・コンシューマー用のメッセージ・セレクターがないことを示します。
| 通知 | 値 |
|---|---|
| 必須 | いいえ |
| データ型 | ストリング |
接続先となるバスの名前。
| 通知 | 値 |
|---|---|
| 必須 | いいえ |
| データ型 | カスタム |
セッションが受信したメッセージに応答する方法。
肯定応答は、メッセージが削除されたときに送信されます。
サービスの品質がベスト・エフォート非パーシスタントに設定されている場合、Bean が開始するときにメッセージは削除されます。他のすべてのサービスの品質の場合、メッセージは Bean が完了するときに削除されます。
| 通知 | 値 |
|---|---|
| 必須 | いいえ |
| データ型 | ドロップダウン・リスト |
| 範囲 |
|
メッセージング・エンジンのグループを識別するターゲットの名前。「TargetType」プロパティーを使用してターゲットのタイプを指定します。
| 通知 | 値 |
|---|---|
| 必須 | いいえ |
| データ型 | ストリング |
ターゲット・プロパティーで指定されたターゲットのタイプ。
| 通知 | 値 |
|---|---|
| 必須 | いいえ |
| データ型 | ドロップダウン・リスト |
| 範囲 |
|
このプロパティーは、ターゲット・グループの重要度を指定します。
| 通知 | 値 |
|---|---|
| 必須 | いいえ |
| データ型 | ドロップダウン・リスト |
| 範囲 |
|
アプリケーションと異なるプロセスにあるメッセージング・エンジンに接続する際に、 アプリケーションがターゲットとするインバウンド・トランスポート・チェーンの名前。別のプロセスのメッセージング・エンジンが選択されたときには、 指定されたインバウンド・トランスポート・チェーンを実行するサーバーにメッセージング・エンジンがある場合にのみ接続が確立されます。詳しくは、インフォメーション・センターを参照してください。
選択したメッセージング・エンジンがアプリケーションと同じサーバーにある場合は、直接プロセス内接続が実行され、このトランスポート・チェーン・プロパティーは無視されます。
| 通知 | 値 |
|---|---|
| 必須 | いいえ |
| データ型 | ストリング |
ブートストラップ・サーバーに接続する場合は、hostName:portNumber:chainName という構文を持つ、コンマで区切られたエンドポイント・トリプレットのリストが使用されます。例えば、Merlin:7276:BootstrapBasicMessaging,Gandalf:5557:BootstrapSecureMessaging のようにします。
ホスト名が指定されない場合は、localhost がデフォルト値として使用されます。
ポート番号が指定されない場合は、7276 がデフォルト値として使用されます。
プロトコルが指定されない場合は、BootstrapBasicMessaging などの定義済みのチェーンがデフォルト値として使用されます。
| 通知 | 値 |
|---|---|
| 必須 | いいえ |
| データ型 | テキスト域 |
メッセージング・エンジンから単一バッチで受信するメッセージの最大数。
| 通知 | 値 |
|---|---|
| 必須 | いいえ |
| データ型 | 整数 |
| 範囲 | 1 から 2147483647 |
メッセージが同時に送信される先のエンドポイントの最大数。
| 通知 | 値 |
|---|---|
| 必須 | いいえ |
| データ型 | 整数 |
| 範囲 | 1 から 2147483647 |
これらのパラメーターにより、連続して失敗したメッセージの数が指定した制限に達すると、エンドポイントを自動的に停止させることができます。 これは、メッセージ自身の問題により 1 個から 2 個のメッセージが失敗した場合と、システムのリソースの問題により複数のメッセージが連続して失敗した場合とを識別する上で役立ちます。
エンドポイントが自動的に停止された場合、管理コンソール・パネルでのその「Status (状況)」は赤です。「再開」をクリックして、手動で再始動する必要があります。
エンドポイント が再始動された後、そのエンドポイントが停止される原因となった失敗したメッセージはすべて再試行 されます。メッセージがそれでも失敗する場合は、構成済みであれば、メッセージは例外宛先に移動されます。
以下のパラメーターに基づいてエンドポイントの自動停止を使用可能に設定します。
| 通知 | 値 |
|---|---|
| 必須 | いいえ |
| データ型 | ブール値 |
連続して失敗したメッセージの数が、構成されている限度に達すると、エンドポイントは停止します。MDB における処理の依存関係によっては、実際に処理されるメッセージ数はこの値を超える可能性があります。
このプロパティーは、繰り返されるメッセージの障害時にエンドポイントを自動停止する プロパティーが有効である場合を除き、無効です。
| 通知 | 値 |
|---|---|
| 必須 | いいえ |
| データ型 | 整数 |
MDB による処理は失敗したが、最大デリバリー失敗数の限度に達していないメッセージのみが、この時間 (ミリ秒) が経過すると再試行されます。その他のメッセージは、順次失敗しきい値および最大並行性が 1 に設定されていない限り、この期間中に試行することができます。
失敗を示すメッセージの再試行の間隔を遅らせるように設定すると、MDB が停止されるまでに不必要に例外宛先に移動されるメッセージの数が少なくなります。 移動されるメッセージの数を最小にするには、この遅延を、宛先に到着するメッセージ間の予想される時間間隔よりも大きくします。
このプロパティーは、繰り返されるメッセージの障害時にエンドポイントを自動停止する プロパティーが有効である場合を除き、無効です。
| 通知 | 値 |
|---|---|
| 必須 | いいえ |
| データ型 | 整数 |
| 範囲 | ミリ秒単位の時間。値 0 は、再試行間に遅延がないことを指示します。 |
JMS トピック・サブスクリプションが永続か非永続かを指定します。
| 通知 | 値 |
|---|---|
| 必須 | いいえ |
| データ型 | ドロップダウン・リスト |
| 範囲 |
|
永続トピック・サブスクリプションに必要なサブスクリプション名。永続トピック・サブスクリプションを使用する際の必須フィールド。
このサブスクリプション名は、所定のクライアント ID 内で固有のものである必要があります。
| 通知 | 値 |
|---|---|
| 必須 | いいえ |
| データ型 | ストリング |
このアクティベーション・スペックを使用して作成されたすべての接続上の永続トピック・サブスクリプションに必要な JMS クライアント ID。
| 通知 | 値 |
|---|---|
| 必須 | いいえ |
| データ型 | ストリング |
この JMS アクティベーション・スペックから作成されたオブジェクトの永続サブスクリプションに送信されるメッセージを保管するために使用されるメッセージング・エンジンの名前。これは、永続トピック・サブスクリプションを使用する場合、必須フィールドです。
| 通知 | 値 |
|---|---|
| 必須 | いいえ |
| データ型 | ストリング |
有効にすると、このアクティベーション・スペックを使用して受信したオブジェクト・メッセージのメッセージ・データは、必要不可欠な場合のみ、システムによってシリアライズされます。 これらのメッセージから取得したデータは、アプリケーションで読み取り専用として扱う必要があります。
| 通知 | 値 |
|---|---|
| 必須 | いいえ |
| データ型 | ブール値 |
有効にすると、ペイロードが変更されたこのアクティベーション・スペックを使用して転送されたオブジェクト・メッセージまたはバイト・メッセージのデータは、メッセージに設定される際にコピーされず、必要不可欠な場合のみ、システムによってメッセージ・データがシリアライズされます。 そのようなメッセージを送信するアプリケーションは、メッセージに設定されたデータを変更できません。
| 通知 | 値 |
|---|---|
| 必須 | いいえ |
| データ型 | ブール値 |
先読みは、コンシューマーにメッセージを先制して割り当てる最適化です。これにより、コンシューマーの要求に応えるためにかかる時間が改善されます。
コンシューマーに割り当てられているメッセージは、サーバー上でロックされており、その宛先の他のコンシューマーは、それらのメッセージを使用することはできません。 コンシューマーに割り当てられているが、そのコンシューマーがクローズされるまで使用されなかったメッセージは、 クローズ後にサーバー上でアンロックされるため、他のコンシューマーがそれらを受信することができます。
JMS 宛先の「Read ahead」プロパティーを設定することにより、個々の JMS 宛先でこのプロパティーをオーバーライドすることができます。
| 通知 | 値 |
|---|---|
| 必須 | いいえ |
| データ型 | ドロップダウン・リスト |
| 範囲 |
|
このプロパティーが使用されるのは、ターゲット・バスのメンバーであるサーバーで MDB アプリケーションが実行されている場合のみです。 ターゲット・バスのメンバーではないサーバーで MDB が実行されている場合は、このプロパティーは使用されません。
ターゲット・バスのメンバーであるサーバーで MDB アプリケーションが実行されている場合、 そのサーバーが実行中のメッセージング・エンジンもホストしているかどうかに関係なく、 このオプションを有効にすることで MDB アプリケーションはメッセージを処理できるようになります。 このオプションが有効ではない場合、ローカルで ME が実行されていないサーバー上の MDB アプリケーションはメッセージを処理しません。
詳しくは、『メッセージ駆動型 Bean がクラスター内で接続する方法』のトピックを参照してください。
| 通知 | 値 |
|---|---|
| 必須 | いいえ |
| データ型 | ブール値 |
最初の接続と、よりよい接続を確立するために試行される後続の接続の両方についての、メッセージング・エンジンへの接続試行間の遅延 (秒)。
| 通知 | 値 |
|---|---|
| 必須 | いいえ |
| データ型 | 整数 |
| 範囲 | 1 から 2147483647 |
サービス統合バスへの接続のコンポーネント管理認証に使用される J2C 認証別名の名前。
Java Platform, Enterprise Edition (Java EE) コネクター・アーキテクチャー (JCA) 認証別名は、JMS プロバイダーへの新規接続の作成を認証するために使用するユーザー ID とパスワードを指定します。
認証別名フィールドが使用される場合、ユーザー名とパスワードのカスタム・プロパティー・フィールドは未指定のままにしてください。アプリケーションのデプロイメントの一部として設定された認証別名のプロパティーは、アクティベーション・スペック管理オブジェクト上に設定されたプロパティーに優先します。
トランザクションのリカバリー・ログの場合も、認証別名の みが暗号化されない形でファイルに書き込まれます。 こうしたセキュリティー・サービスは、実ユーザー名とパスワードを守るために使用されます。
アプリケーションの起動中は、アクティベーション・スペックがエンドポイント活動化 の一部として初期化されている場合、サーバーは認証別名を使用して実ユーザー名とパスワードをセキュリティーから検索し、それをアクティベーション・スペックのインスタンス上に設定します。
| 通知 | 値 |
|---|---|
| 必須 | いいえ |
| データ型 | ドロップダウン・リスト |