WebSphere MQ を使用した基本メッセージング
Db2® MQ 機能を使ったメッセージングの最も基本的な形は、 すべてのデータベースアプリケーションが同じ Db2 データベースサーバーに接続するときに発生します。 クライアントは、データベース・サーバーのローカル側にあっても、ネットワーク環境に分散していても構いません。
単純なシナリオとして、クライアント A が、MQSEND 関数を呼び出して、ユーザー定義ストリングをデフォルト・サービスで定義された場所に送信します。 Db2 は、データベース・サーバー上でこの操作を実行する MQ 関数を実行します。 しばらく後に、クライアント B が MQRECEIVE 関数を呼び出し、 デフォルト・サービスで定義されたキューの先頭のメッセージを除去してから、それをクライアントに返します。 Db2 は、データベース・サーバー上でこの操作を実行する MQ 関数を実行します。
- データの収集
情報を 1 つ以上のソースからメッセージの形式で受け取ります。 情報源は、任意のアプリケーションを使用できます。 データはキューから受け取り、追加の処理を行うためにデータベース表に保管されます。
- ワークロードの分散
同じアプリケーションの複数のインスタンスが共有するキューに作業要求を追加します。 アプリケーション・インスタンスは、作業を実行する準備が整うと、作業要求が入ったメッセージをキューの先頭から受け取ります。 アプリケーションの複数インスタンスが、プールされた要求の単一のキューによって表されるワークロードを共有できます。
- アプリケーションのシグナル
複数のプロセスが共同作業を行う状況では、それぞれの作業を調整するためにメッセージが使用されることがよくあります。 こうしたメッセージには、実行する必要があるコマンドや要求を含めることができます。 この手法の詳細については、 WebSphere MQ を使用したアプリケーション間接続」を参照してください。
- Db2 クライアントは、マシン B 上のリモート・キューとして定義されているターゲット・サービスを指定して、MQSEND 関数呼び出しを実行します。
- MQ 関数が、メッセージを送信する作業を実行します。 マシン A 上の WebSphere MQ サーバーは、メッセージを受け入れ、サービスによって定義された宛先、およびマシン A の現在の MQ 構成にメッセージを送信することを保証します。 サーバーは、宛先がマシン B 上のキューであると判断します。 その後、サーバーは、必要に応じて再試行して、マシン B 上の WebSphere MQ サーバーにメッセージを配信しようとします。
- マシン B 上の WebSphere MQ サーバーは、マシン A 上のサーバーからメッセージを受け入れ、それをマシン B 上の宛先キューに入れます。
- マシン B 上の WebSphere MQ クライアントが、キューの先頭にあるメッセージを要求します。
SQL State: 38401
Vendor Code: -443
Message: [SQL0443] cc=2:rc=2058:MQCONN FAILED
このメッセージは、MQCONN API が理由コード 2058 で失敗したことを示します。 Websphere MQSeries インフォメーション・センターに、理由コード 2058 の詳細な説明があります。