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

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

接続マップからアクセスされるアウトバウンド WebSphere MQ アダプタのパラメータについて、次の節で説明します。

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

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

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

名前 

説明 

必要な値 

キュー名

メッセージのパブリッシュ先となるキューの名前を指定します。このパラメータは省略可能です。キュー名の指定は、PUT を発生させるビジネスプロセスまたはコラボレーションで手動で行うこともできます。 

メッセージの取得元またはパブリッシュ先となるキュー名。 

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 アダプタ設定 > キューオープンオプション

WebSphere MQ アダプタの接続マッププロパティーの「アウトバウンドアダプタ設定 > キューオープンオプション」セクションには、次の表に示す最上位パラメータが含まれています。これらのプロパティーは特に、MQOPEN 呼び出しに適用されます。

表 1–26 接続マップ - アウトバウンドアダプタ設定 > キューオープンオプション

名前 

説明 

必要な値 

MQOO_ALTERNATE_USER_AUTHORITY

オープンの承認を確認する際に代替ユーザー識別子が使用されるかどうかを指定します。true は、代替ユーザー識別子が使用されることを示します。

true または false。 

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

MQOO_BIND_AS_Q_DEF

キューハンドルに使用されるバインディングが DefBind キュー属性から取得されるかどうかを指定します。true は、使用されるバインディングが DefBind キュー属性から取得されることを示します。

true または false。 

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

MQOO_BIND_NOT_FIXED

オープン対象のオブジェクトがクラスタキューである場合に、ローカルキューマネージャーが送信先キューの特定インスタンスにキューハンドルをバインドするかどうかを指定します。true は、ローカルキューマネージャーが特定の送信先にバインドすることを示します。

クラスタキューでないキューでこのオプションを指定しても、無視されます。 

true または false。 

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

MQOO_BIND_ON_OPEN

オープン対象のオブジェクトがクラスタキューである場合に、ローカルキューマネージャーが送信先キューの特定インスタンスにキューハンドルをバインドするかどうかを指定します。true は、ローカルキューマネージャーが特定の送信先にバインドしないことを示します。

クラスタキューでないキューでこのオプションを指定しても、無視されます。 

true または false。 

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

MQOO_BROWSE

メッセージを参照するためにキューが開かれているかどうかを指定します。true は、次のオプションを使って MQGET を呼び出すためにキューが開かれていることを示します。

MQGMO_BROWSE_FIRST

MQGMO_BROWSE_NEXT

MQGMO_BROWSE_MSG_UNDER_CURSOR

true または false。 

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

MQOO_FAIL_IF_QUIESCING

キューマネージャーが休止状態にある場合に MQOPEN 呼び出しが失敗するかどうかを指定します。承認確認の制御に使用されます。true は、キューマネージャーが休止している場合に MQOPEN 呼び出しが失敗することを示します。

true または false。 

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

MQOO_INPUT_AS_Q_DEF

キューに定義されたデフォルトを使ってメッセージを参照するためにキューが開かれているかどうかを指定します。true は、後続の MQGET 呼び出しで使用するためにキューが開かれていることを示します。


注 –

アダプタが自動接続モードで動作している場合、このパラメータの値は無視されます。なぜなら、アダプタはメッセージの受信と送信の両方を行える必要があるからです。


true または false。 

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

MQOO_INPUT_EXCLUSIVE

排他アクセスでメッセージを取得するためにキューが開かれているかどうかを指定します。true は、後続の MQGET 呼び出しで使用するためにキューが開かれていることを示します。キューが現在、このアプリケーションまたは別のアプリケーションによって何らかのタイプの入力用として使用されている (開かれている) 場合、呼び出しは理由コード MQRC_OBJECT_IN_USE で失敗します。

true または false。 

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

MQOO_INPUT_SHARED

共有アクセスでメッセージを取得するためにキューが開かれているかどうかを指定します。true は、後続の MQGET 呼び出しで使用するためにキューが開かれていることを示します。キューが現在、このアプリケーションまたは別のアプリケーションによって何らかのタイプの入力用として使用されている (開かれている) 場合でも、呼び出しは成功します。

true または false。 

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

MQOO_INQUIRE

属性を照会するためにオブジェクトが開かれているかどうかを指定します。true は、キュー、名前リスト、プロセス定義、またはキューマネージャーが、後続の MQINQ 呼び出しで使用するために開かれていることを示します。

true または false。 

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

MQOO_OUTPUT

メッセージを格納するためにオブジェクトが開かれているかどうかを指定します。true は、InhibitPut キュー属性が MQQA_PUT_INHIBITED に設定されていても MQOPEN 呼び出しが成功できることを示します (ただし、後続の MQPUT 呼び出しは失敗する)。


注 –

アダプタが自動接続モードで動作している場合、このパラメータの値は無視されます。なぜなら、アダプタはメッセージの受信と送信の両方を行える必要があるからです。


true または false。 

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

MQOO_PASS_ALL_CONTEXT

すべてのコンテキストを渡せるようにするかどうかを指定します。true は、キューへのメッセージ格納時に PutMsgOpts パラメータに MQPMO_PASS_ALL_CONTEXT オプションが指定されることを示しており、この場合、MQOO_SAVE_ALL_CONTEXT オプションを指定して開かれた入力キューからのアイデンティティーおよび作成元コンテキスト情報が、メッセージに渡されます。

また、true は、MQOO_PASS_IDENTITY_CONTEXT は暗黙的に指定されており、明示的に指定する必要はないことも示します。

true または false。 

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

MQOO_PASS_IDENTITY_CONTEXT

アイデンティティーコンテキストを渡せるようにするかどうかを指定します。true は、キューへのメッセージ格納時に PutMsgOpts パラメータに MQPMO_PASS_IDENTITY_CONTEXT オプションが指定されることを示します。この場合、MQOO_SAVE_ALL_CONTEXT オプションを指定して開かれた入力キューからのアイデンティティーコンテキスト情報が、メッセージに渡されます。

true は、MQOO_OUTPUT オプションを指定する必要があることを示します。 

true または false。 

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

MQOO_RESOLVE_NAMES

MQOO_RESOLVE_NAMES を指定します。ImqQueue クラスの resolved queue manager name および resolved queue name 属性を使用する場合は、true を選択します。

true または false。 

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

MQOO_SAVE_ALL_CONTEXT

メッセージの取得時にコンテキストを保存するかどうかを指定します。true は、コンテキストが保存されることを示します。コンテキスト情報はこのキューハンドルに関連付けられ、このハンドルを使って取得されたすべてのメッセージのコンテキストから設定されます。 

true または false。 

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

MQOO_SET

属性を設定するためにキューが開かれているかどうかを指定します。true は、属性を設定するためにキューが開かれており、後続の MQSET 呼び出しでこのキューが使用されることを示します。 

true または false。 

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

MQOO_SET_ALL_CONTEXT 

すべてのコンテキストを設定できるようにするかどうかを指定します。true は、すべてのコンテキストが設定可能であることを示します。キューへのメッセージ格納時に、PutMsgOpts パラメータに MQPMO_SET_ALL_CONTEXT オプションが指定されます。MQPUT または MQPUT1 呼び出しに指定された MsgDesc パラメータに含まれるアイデンティティーおよび作成元コンテキスト情報を、メッセージに渡します。

true または false。 

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

MQOO_SET_IDENTITY_CONTEXT

アイデンティティーコンテキストを設定できるようにするかどうかを指定します。true は、アイデンティティーコンテキストが設定可能であることを示します。キューへのメッセージ格納時に、PutMsgOpts パラメータに MQPMO_SET_IDENTITY_CONTEXT オプションを指定できます。MQPUT または MQPUT1 呼び出しに指定された MsgDesc パラメータに含まれるアイデンティティーおよび作成元コンテキスト情報を、メッセージに渡します。

true または false。 

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

クライアント (アウトバウンド) モードでの XA トランザクションの実行

アウトバウンド WebSphere MQ アダプタは、Solaris、AIX、HP-UX、Linux、または Windows で稼働する WebSphere MQ Manager サーバーでの XA トランザクションをサポートします (OS/400 や z/OS ではサポートされない)。Sun Java Composite Application Platform Suite が WebSphere MQ サーバーとは別のコンピュータにインストールされている場合に XA モードを使用するには、Application Server にまず WebSphere MQ ベースクライアントをインストールし、次に WebSphere MQ Extended Transactional クライアントをインストールする必要があります。

XA モードの WebSphere MQ アダプタのトランザクションマネージャーが、Sun Integration Server 内で実行されます。Integration Server (IS) が正しく動作するには、2 つの JAR ファイル com.ibm.mq.jarcom.ibm.mqetclient.jar を、Integration Server のクラスパスに追加する必要があります。

分散 XA トランザクションに関する情報や、XA モードでは発行できない WebSphere MQ API などの制限事項については、IBM のマニュアル『WebSphere MQ External Transactional Clients』を参照してください。

IBM によれば、WebSphere MQ Extended Transactional クライアントを使用する場合、クライアントアプリケーションが単一スレッド内で一度に接続できるキューマネージャーの数は、1 つだけです。この制限は、WebSphere MQ Extended Transactional クライアントに適用されます。(WebSphere MQ ベースクライアントは単一スレッド内で複数のキューマネージャーに同時に接続できる。)WebSphere MQ アダプタの場合、これは、1 つの配備内では WebSphere MQ 外部システムに接続する XA モードのアウトバウンドアダプタを 1 つしか持てないことを意味します。異なる WebSphere MQ 外部システムに対する複数の XA アウトバウンド接続を用意し、複数の WebSphere MQ キューマネージャーの XA トランザクションを Integration Server のトランザクションマネージャーが処理するのを期待することはできません。