WebSphere MQ によるメッセージの送信
WebSphere® MQ を使用してメッセージを送信するときには、送信するデータの内容、その送信先、および送信する時を選択します。 このタイプのメッセージングは、応答不要送信と呼ばれます。 つまり、送信側はメッセージを送信しますが、メッセージを宛先に確実に届ける処理は WebSphere MQ に依存します。
WebSphere MQ を使用してメッセージを送信するには、MQSEND を使用します。
複数の列の情報を送信する場合、それらの列をブランク文字で区切ります。
例えば、次の通りです。
VALUES MQSEND(LASTNAME CONCAT ' ' CONCAT FIRSTNAME);
次の例では、デフォルト・サービス DB2®.DEFAULT.SERVICE、
および SYNCPOINT 値が「Y」のデフォルト・ポリシー DB2.DEFAULT.POLICY を使用します。
この MQSEND 関数はトランザクションの下で実行されるため、COMMIT ステートメントを実行すると、メッセージは確実にキューに追加されます。
VALUES MQSEND('Testing msg');
COMMIT;
SYNCPOINT 値が「N」に設定されたポリシーを使用する場合、COMMIT ステートメントを使用する必要はありません。
例えば、ポリシー MYPOLICY2 の SYNCPOINT 値が「N」であると想定します。
次の SQL ステートメントを実行すると、COMMIT ステートメントを必要とせずにメッセージがキューに追加されます。
VALUES MQSEND('DB2.DEFAULT.SERVICE', 'MYPOLICY2', 'Testing msg')
メッセージの内容は、SQL ステートメント、式、関数、およびユーザー指定データを任意に組み合わせて使用できます。
VARCHAR 列が LASTNAME、FIRSTNAME、および DEPARTMENT の EMPLOYEE 表があると想定します。
DEPARTMENT 5LGA の各従業員にこの情報を含むメッセージを送信するために、次の SQL SELECT ステートメントを実行します。
SELECT MQSEND(LASTNAME CONCAT ' ' CONCAT FIRSTNAME CONCAT ' ' CONCAT DEPARTMENT)
FROM EMPLOYEE
WHERE DEPARTMENT = '51GA';
COMMIT;