アプリケーションアダプタ用 Java CAPS プロジェクトコンポーネントの構成

インバウンド WebSphere MQ アダプタの接続マッププロパティー

接続マップからアクセスされるインバウンド WebSphere MQ アダプタのパラメータは、次の各セクションにまとめられています。

インバウンド WebSphere MQ アダプタ設定

WebSphere MQ アダプタの接続マッププロパティーの「インバウンド WebSphere MQ アダプタ設定」セクションには、次の表に示す最上位パラメータが含まれています。

表 1–20 接続マップ - インバウンド WebSphere MQ アダプタ設定

名前 

説明 

必要な値 

キュー名

メッセージの取得元 (サブスクライブ先) となるキューの名前を指定します。 


注 –

インバウンドモードのアダプタは、非ローカルキューが指定されると正しく機能しません。非ローカルキューには、別名キューと、リモートキューへのローカルキュー定義が含まれます。この制限は、ポーリング/受信モードのアダプタだけに適用されます。メッセージの取得に使用されるアウトバウンドアダプタには適用されません。


WebSphere MQ キューの名前。 

デフォルト構成は「default」です。

最大メッセージサイズ

アダプタがキューから取得できる最大メッセージサイズを指定します。値ゼロ (0) を指定すると、アダプタは MQ が提供するデフォルトサイズを使用します。ゼロ以外の値を指定すると、キュー上のメッセージがこの値よりも大きい場合に次のいずれかが発生します。 

MQC.MQGMO_ACCEPT_TRUNCATED_MSG プロパティーが true に設定されている場合、アダプタは、キューからのメッセージのできるだけ多くの部分を処理し、切り詰められたメッセージを生成します。

MQC.MQGMO_ACCEPT_TRUNCATED_MSG プロパティーが false に設定されている場合、アダプタはメッセージをキュー上に残し、完了コード MQCC_WARNING と理由コード MQRC_TRUNCATED_MSG_FAILED を指定して MQException を発行します。

最大メッセージサイズをバイトで示す数値。 

デフォルト構成は 0 です (MQ に定義されたデフォルトサイズを使用)。

スケジュール間隔

サブスクライブしたキューに対するポーリングを行ってメッセージの有無を確認する際のポーリング間隔を、ミリ秒で指定します。これは、キューからのメッセージ取得試行間の、ミリ秒単位の一時停止期間です。 

キューに対するポーリング間隔を示すミリ秒数。デフォルト構成は 5000 (つまり 5 秒) です。

Security Exit

省略可能な、com.ibm.mq.MQSecurityExit インタフェースを実装したユーザー定義クラスのパッケージ修飾名を指定します。アダプタがキューマネージャーへの接続を試みるたびに、WebSphere MQ はこのクラスのインスタンスを呼び出します。指定されたクラスにはデフォルトコンストラクタが含まれている必要があります。

このパラメータが使用されるのは、クライアント接続の場合だけです。Security Exit をバインディング接続に適用することはできません。 

Security Exit の詳細については、IBM のマニュアル『WebSphere MQ Using Java』 (CSQZAW09) の MQSecurityExit に関する記述を参照してください。 

ユーザー定義クラスの名前。このプロパティーを使用する場合には、「Security Exit JAR クラスパス」プロパティーの値も割り当てる必要があります。

Security Exit JAR クラスパス

指定された Security Exit を含む JAR ファイルへの絶対パスを指定します。「Security Exit」を指定した場合、このプロパティーも指定する必要があります。 

指定された JAR はアプリケーション (EAR) ファイルにパッケージ化されますが、このファイルはプロジェクトの起動中に生成されます。指定された JAR がアクセス不可能であるか見つからない場合には、起動が失敗します。 

このプロパティーの値を空のままにした場合、配備処理前か配備処理中に Integration Server の lib ディレクトリ内に JAR ファイルを手動でコピーするなどして、Security Exit を含む JAR ファイルが実行時環境からアクセス可能になっていることをプロジェクト配備前に確認する必要があります。 

Security Exit の詳細については、IBM のマニュアル『WebSphere MQ Using Java』 (CSQZAW09) の MQSecurityExit に関する記述を参照してください。 

指定された Security Exit クラスを含む JAR ファイルの絶対パス。 

インバウンド WebSphere MQ アダプタ設定 > GetMessageOptions > matchOptions

WebSphere MQ アダプタの接続マッププロパティーの「インバウンドアダプタ設定 > GetMessageOptions > matchOptions」セクションには、次の表に示す最上位パラメータが含まれています。

表 1–21 接続マップ - インバウンド WebSphere MQ アダプタ設定 > GetMessageOptions > matchOptions

名前 

説明 

必要な値 

correlationId

取得するメッセージの相互関係識別子を指定します。キューマネージャーは通常、指定された識別子に一致するメッセージ識別子と相互関係識別子を含む最初のメッセージを返します。 

メッセージの相互関係識別子。 

groupId

物理メッセージが所属するメッセージグループを識別するバイト文字列を指定します。 

メッセージグループを示すバイト文字列。 

messageId

MQGET 呼び出しの場合、このフィールドは、取得するメッセージのメッセージ識別子を指定します。キューマネージャーは通常、指定された識別子に一致するメッセージ識別子と相互関係識別子を含む最初のメッセージを返します。 

MQPUT 呼び出しの場合、これは、使用するメッセージ識別子を指定します。 

メッセージ識別子。 

messageSequenceNumber

グループ内の論理メッセージのシーケンス番号を指定します。 

グループ内の論理メッセージのシーケンス番号 

デフォルト構成は 1 です。

MQMO_MATCH_CORREL_ID

correlationId パラメータの値に一致する相互関係識別子が、取得するメッセージに含まれている必要があることを指定します。値は次のとおりです。 

  • true: 一致する相互関係識別子がメッセージに含まれている必要があることを示します。

  • false: 相互関係識別子は無視され、どのような相互関係識別子でも受け入れられることを示します。

    この一致は、適用可能なその他のすべての一致 (メッセージ識別子など) に追加されます。

true または false。 

デフォルト構成は false です。 

MQMO_MATCH_GROUP_ID

groupId パラメータの値に一致するグループ識別子が、取得するメッセージに含まれている必要があることを指定します。値は次のとおりです。 

  • true: 一致するグループ識別子がメッセージに含まれている必要があることを示します。

  • false: グループ識別子は無視され、どのようなグループ識別子でも受け入れられることを示します。

    この一致は、適用可能なその他のすべての一致 (相互関係識別子など) に追加されます。

true または false。デフォルト構成は false です。 

MQMO_MATCH_MSG_ID

messageId パラメータの値に一致するメッセージ識別子が、取得するメッセージに含まれている必要があることを指定します。値は次のとおりです。 

  • true: 一致するメッセージ識別子がメッセージに含まれている必要があることを示します。

  • false: メッセージ識別子は無視され、どのようなメッセージ識別子でも受け入れられることを示します。

    この一致は、適用可能なその他のすべての一致 (相互関係識別子など) に追加されます。

true または false。 

デフォルト構成は false です。 

MQMO_MATCH_MSG_SEQ_NUMBER

messageSequenceNumber パラメータの値に一致するメッセージシーケンス番号が、取得するメッセージに含まれている必要があることを指定します。値は次のとおりです。 

  • true: 一致するメッセージシーケンス番号がメッセージに含まれている必要があることを示します。

  • false: メッセージシーケンス番号は無視され、どのようなメッセージシーケンス番号でも受け入れられることを示します。

    この一致は、適用可能なその他のすべての一致 (グループ識別子など) に追加されます。

true または false。 

デフォルト構成は false です。 

MQMO_NONE

返されるメッセージの選択時にどの一致も使用すべきでないことを指定します。キュー上のすべてのメッセージが取得対象となります (ただし、一部の MQGMO_ オプションの内容にもよる)。 

true または false。 

デフォルト構成は true です。 

インバウンド WebSphere MQ アダプタ設定 > GetMessageOptions > options

WebSphere MQ アダプタの接続マッププロパティーの「インバウンドアダプタ設定 > GetMessageOptions > options」セクションには、次の表に示す最上位パラメータが含まれています。

表 1–22 接続マップ - インバウンドアダプタ設定 > GetMessageOptions > options

名前 

説明 

必要な値 

MQGMO_ACCEPT_TRUNCATED_MSG

切り詰められたメッセージが完全なメッセージとみなされるかどうかを指定します。メッセージバッファーが小さすぎてメッセージの全体を格納できない場合にこのオプションを指定すれば、MQGET 呼び出しは、バッファーにできるだけ多くの情報を格納したあと、処理を完了できます。与えられた状況では、このオプションを指定しなくても MQGET 呼び出しは容量いっぱいまで情報を格納しますが、それで処理が完了したとはみなされません。値は次のとおりです。 

  • true: 切り詰められたメッセージが完全なメッセージとみなされることを示します。

  • false: 切り詰められたメッセージが完全なメッセージとはみなされないことを示します。

true または false。 

デフォルト構成は true です。

MQGMO_FAIL_IF_QUIESCING

キューマネージャーが休止状態にある場合に、MQGET 呼び出しを強制的に失敗させます。値は次のとおりです。 

  • true: キューマネージャーが休止状態にある場合に MQGET 呼び出しが失敗することを示します。

  • false: キューマネージャーが休止状態にある場合に MQGET 呼び出しが失敗しないことを示します。

true または false。 

デフォルト構成は true です。

MQGMO_SYNCPOINT

MQGET 呼び出しに、同期点管理下でメッセージを強制的に取得させます。メッセージはほかのアプリケーションから使用不可能としてマークされますが、そのメッセージがキューから削除されるのは、処理単位がコミットされた場合だけです。処理単位がバックアウトされると、メッセージが再度使用可能になります。値は次のとおりです。 

  • true: MQGET の呼び出し時に同期点管理下でメッセージが取得されることを示します。

  • false: MQGET の呼び出し時に同期点管理下でメッセージが取得されないことを示します。

true または false。 

デフォルト構成は false です。

MQGMO_SYNCPOINT_IF_PERSISTENT

メッセージが持続的である場合に、MQGET 呼び出しに同期点管理下でメッセージを強制的に取得させます。値は次のとおりです。 

  • true: メッセージが持続的である場合に、MQGET の呼び出し時に同期点管理下でメッセージが取得されることを示します。

  • false: メッセージが持続的である場合に、MQGET の呼び出し時に同期点管理下でメッセージが取得されないことを示します。

true または false。 

デフォルト構成は false です。

MQGMO_COMPLETE_MSG

MQGET の呼び出し時に完全な論理メッセージしか返せないことを指定します。論理メッセージが複数のセグメントに分割されている場合、キューマネージャーはそれらのセグメントを組み立て直し、完全な論理メッセージをアプリケーションに返します。論理メッセージがセグメントに分割されていたという事実は、アダプタにはわかりません。値は次のとおりです。 

  • true: MQGET の呼び出し時に完全な論理メッセージしか返せないことを指定します。

  • false: 完全な論理メッセージが必要とされないことを示します。

true または false。 

デフォルト構成は false です。

MQGMO_WAIT

キュー内でメッセージが使用可能になるまで MQ GET 呼び出しが待機する (ブロック/中断) ことを指定します。値は次のとおりです。 

  • true: キュー内でメッセージが使用可能になるまで MQ GET 呼び出しが待機することを示します。

  • false: キュー内でメッセージが使用可能になるまで MQ GET 呼び出しが待機しないことを示します。

true または false。 

デフォルト構成は false です。

waitInterval

キュー内でメッセージが使用可能になるまで MQ GET 呼び出しが待機する時間 (ミリ秒) を指定します。このパラメータは「MQGMO_WAIT」と組み合わせて使用されます。「MQGMO_WAIT」が false に設定されると「waitInterval」は使用されません。

負の値は、待機が無期限に続くことを示します。 

この値を負数に設定すると、ポーリングを行うアダプタは、待機間隔 MQWI_UNLIMITED で MQ GET 呼び出しを実行します。このタイプの取得呼び出しでは、アダプタは適切なメッセージが使用可能になるまで無期限にブロックします。(Application Server と連携している) Integration Server が、アダプタがまだブロックされている状態で停止や再起動を指示された場合、適切な MQ メッセージが使用可能になってアダプタのブロックが解除されるまで、Integration Server は処理を続行できません。

ポーリングを行わない方法でアダプタを使用する場合も、これと同じ制限が当てはまります。WebSphere MQ Adapter の OTD GMO 構造体は、setUnlimitedWait() という名前のメソッドを Java コラボレーションに公開していますが、これを使用すると、「waitInterval」が値 MQWI_UNLIMITED に設定されます。setUnlimitedWait() を使用した結果、後続の取得呼び出し時にアダプタが無期限にブロックした場合、そのアダプタのブロックが解除されるまで Integration Server は停止できません。

キュー内でメッセージが使用可能になるまで MQ GET 呼び出しが待機する時間をミリ秒で示す数値。 

デフォルト構成は 0 です。