SIMessage
SIMessage インターフェースは、メディエーションおよびその他のサービス統合バス・コンポーネントで使用するサービス統合バス・メッセージへのパブリック・インターフェースです。このインターフェースは、java.lang.Cloneable および java.lang.Serializable を拡張します。
メディエーションによってサポートされているサービス・データ・オブジェクト (SDO) のバージョンはバージョン 1 です。
SIMessage インターフェースには、ユーザーによるメッセージ・プロパティー、
ヘッダー・コンテンツ、ルーティング・パス、メタデータ等の使用を可能にする多くのメソッドが備わっています。
- メソッド getDataGraph は、SDO データ・グラフを戻します。これには、ツリー表現の SIMessage ペイロード・コンテンツが含まれています。データ・グラフを使用すると、 メッセージ・ペイロードで個々のフィールドを直接使用することができます。SDO データ・グラフについて詳しくは、SDO データ・グラフを参照してください。
- メソッド getNewDataGraph(format) を呼び出して、メッセージ・ペイロードを変換することができます。このメソッドは、新規のフォーマットでペイロードのコピーを戻します。 setDataGraph(DataGraph, format) を使用して、メッセージに新規のデータグラフを書き込むことができます。詳しくは、メッセージ・フォーマット間のトランスコーディングを参照してください。
- メッセージをシンプルなバイト・ストリームとしてログに記録したい場合は、メソッド getDataGraphAsBytes を使用してメッセージ・ペイロードをバイト配列として検索することができます。 データ・グラフからバイトへの変換、およびそれを元に戻すことについての詳細は、メッセージ・ペイロードのバイト配列へのトランスコーディングおよびバイト配列のメッセージ・ペイロードへのトランスコーディングを参照してください。
- ユーザー・プロパティーとメッセージ・プロパティーを取得、セット、削除、クリア するためのメソッドがあります。また、ユーザー・プロパティー名のリストを取得することもできます。 プロパティーを使用した作業についての詳細は、メッセージ・プロパティーの処理を参照してください。
- 転送ルーティング・パスおよび逆ルーティング・パスは、メッセージがターゲット・バス宛先に到達するまでに
通過する中間バス宛先の順次リストを定義します。ルーティング・パスを使用して、
いくつかの宛先上に構成されたメディエーションを、パスに従って送信されるメッセージに適用します。
以下のメソッドを使用すると、SIMessage のために ForwardRoutingPath および
ReverseRoutingPath のコンテンツを取得および設定することができます。
- getForwardRoutingPath()
- setForwardRoutingPath()
- getReverseRoutingPath()
- setReverseRoutingPath()
- ユーザーのメディエーションでメッセージのコンテンツが変更される場合、 メッセージが無効になる危険性があります。データ・グラフが無効であると、 サービス統合バスを介してメッセージを送信したり、メッセージ・ストアに保管したりできなくなります。この場合、そのメッセージは適格ではありません。メッセージ・プロパティーの値をすべてシリアライズすることができ、 しかもメッセージのデータ・グラフがメッセージのフォーマットに準拠している場合、 メッセージは適格です。メソッド isWellFormed を使用してメッセージをテストすることができます。メッセージが適格なデータ・グラフを含んでいる場合、 true が戻されます。このテストはパフォーマンスに影響を与えます。詳しくは、メディエーションのチューニング・プロパティーの設定を参照してください。
- メッセージが最初に送信されてからメッセージが存続する時間 (ミリ秒単位で測定) に関して、
以下のような作業を行うことができます。
- メソッド getTimeToLive および setTimeToLive は、 メッセージ・ヘッダーの TimeToLive フィールドの値を取得およびセットを許可します。 値が 0 であれば、メッセージが有効期限切れになることはありません。
- メソッド getRemainingTimeToLive および setRemainingTimeToLive は、 メッセージの有効期限が切れる前に残り時間 (ミリ秒) を取得し、メッセージの有効期限が切れる前に 残り時間 (ミリ秒) をセットすることを許可します。
SIMessage について詳しくは、API 文書を参照してください。