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;