JMS Quick Send Message

メッセージング > JMS との接続  > コンポーネントプログラム

メッセージキューをオープンし、メッセージを送り、メッセージキューをクローズします。このプログラムは、簡単にメッセージを送りたい場合は有効ですが、大量のメッセージを送る場合は、効率的ではありません。

このプログラムは、「Open Queue」、「Message Setup」、「Send message」、「Close Queue」の各プログラムを順に呼び出します。

パラメータ

説明

Connection Factory

文字(250)/入力:JMS接続ファクトリの名前。 キューに対してはキュー接続ファクトリを、トピックに対してはトピック接続ファクトリを指定します。

Queue Name

文字(250):オープンするキューまたはトピックの名前

Username

文字(25)/オプション:接続時のユーザ名

Password

文字(25)/オプション: 接続時のパスワード

Acknowledgement mode

数値(1)/入力:確認応答モードを指定します。

  • 1:AUTO_ACKNOWLEDGE ……セッションが receive の呼び出しからの復帰に成功するか、メッセージを処理するためにセッションが呼び出したメッセージリスナーが復帰に成功すると、セッションはクライアントのメッセージ受信を自動的に確認応答します。

  • 2:CLIENT_ACKNOWLEDGE …… クライアントは、メッセージの acknowledge メソッドを呼び出して処理済みのメッセージを確認応答します。処理済みのメッセージを確認応答すると、セッションが処理した全てのメッセージが確認応答されます。

  • 3:DUPS_OK_ACKNOWLEDGE …… セッションに対し、メッセージ配信の遅延確認応答を指示します。

JMS Message Type

文字(1):JMSメッセージタイプを指定します。

  • T ……テキストメッセージ:XMLファイルのコンテンツのようなJava言語のStringオブジェクト

  • B …… バイトメッセージ:BLOB のようなバイナリデータストリーム

  • M …… マップメッセージ:名前が文字列、値がJavaプリミティブ型である複数の名前と値の組み合わせ。名前を指定することによって、順次にもランダムにも読み取ることができます。
    このタイプを指定した場合、バッファテーブルを使用してメッセージを送信します。詳細は、「バッファテーブル」を参照してください。

  • S …… ストリームメッセージ:Javaプリミティブ型のストリーム。データの順番は重要です。
    このタイプを指定した場合、バッファテーブルを使用してメッセージを送信します。詳細は、「バッファテーブル」を参照してください。

  • O …… オブジェクトメッセージ:シリアライズ可能なJavaオブジェクトの疑似参照を指定します。

  • H …… ヘッダメッセージ:メッセージ本文以外のメッセージヘッダとプロパティだけを含みます。

Message

BLOB( 入力 ):メッセージデータ を含んだ RTF 形式の BLOBデータ。メッセージタイプが 「マップメッセージ」 か「ストリームメッセージ」の場合、メモリテーブルの内容をBLOBデータ化してください。詳細は、「バッファテーブル」を参照してください。

JMS.TimeToLive

数値(9)/入力:メッセージの寿命をミリ秒で指定します。デフォルトは、0(無期限)です。

JMS.Priority

数値(1)/入力:デフォルトは 4。9が最も優先度が高くなります。

JMS.DeliveryMode

数値(1)/入力:恒久性を指定します。

  • 1 …… 恒久性なし:プロバイダがダウンした場合、メッセージは失われます。

  • 2 …… 恒久性あり:メッセージは失われません。デフォルトです。

JMS.Type

文字(200)/入力:メッセージのフィルタリングを行う場合に使用します。このパラメータに値を設定することで、受信側で指定されたメッセージのみを受け取るようすることができます。
例えば、 このパラメータを「Magic」と設定してメッセージを送信した場合、受信側の「OpenDestination」プログラムで[Message selector]を「JMSType = 'Magic'」と指定してキューをオープンし、メッセージの受信処理を行うと、このタイプのメッセージのみ受信対象となります。

Setup string

文字(2000)/入力:メッセージセレクタの Stringプロパティを指定します。Stringプロパティは名前と値の一対で一組の値となり、[Delimiter]パラメータで指定された区切り文字で分離されて送られます。
例えば、「Sender」というプロパティを設定し、その値として「Magic」を指定する場合は、「Sender!Magic」 となります(! が区切り文字になります)。この指定で送信されたメッセージを受信する場合のメッセージセレクタは、「Sender = 'Magic'」となります。
複数のプロパティを設定できます。

Delimiter

文字(5)/入力:[Setup string]パラメータの区切り文字を指定します。

Correlation Id

文字(200)/入力(オプション):相関IDを指定します。

Message Id

文字(200)/出力:メッセージIDが返ります。

 

戻り値

数値(15):処理が成功した場合 0、失敗した場合は負の数(エラーコード)が返ります。