2.4.6 キュー間転送の互換通信
送信側システムと受信側システムのReliable Messagingのバージョンの違いによって,次のようにメッセージを送受信します。
-
メッセージを送信する場合
受信側システムのReliable Messagingのバージョンに合わせた形式のメッセージを送信します。ユーザは受信側システムのReliable Messagingのバージョンに合わせて,送信するメッセージの形式を選択する必要があります。送信するメッセージの形式の選択については,「2.4.6(1) 送信するメッセージの形式の選択」を参照してください。
-
メッセージを受信する場合
送信側システムのReliable Messagingのバージョンの形式でメッセージを受信します。
Reliable Messagingのバージョンの違いによるメッセージの送受信の概要を次の図に示します。
- 〈この項の構成〉
(1) 送信するメッセージの形式の選択
送信側システムのReliable Messagingでは,受信側システムのReliable Messagingのバージョンのメッセージ形式に合わせて,次のように転送モードを選択します。
-
受信側システムのReliable Messagingのバージョンが01-03以降の場合
hrmmkqueコマンドで転送キューを作成する,またはhrmchgqueコマンドで転送キューの属性を変更するときに,-iオプションにnormal(通常モード)を指定します。
-
受信側システムのReliable Messagingのバージョンが01-02以前の場合
hrmmkqueコマンドで転送キューを作成する,またはhrmchgqueコマンドで転送キューの属性を変更するときに,-iオプションにcompatible(互換モード)を指定します。
なお,01-02以前のバージョンのReliable Messagingに対して通常モードでObjectMessageを送信した場合,ペイロードにnullが指定されたObjectMessageとして受信されます。
(2) 注意事項
(a) 01-02以前のバージョンのReliable Messagingと通信する場合
01-03以降のバージョンのReliable Messagingが01-02以前のバージョンのReliable Messagingとメッセージ送受信する場合の注意事項を次に示します。
-
送信側システムのReliable Messagingのバージョンが01-03以降の場合
互換モードの転送キューを使用してユーザ定義クラスを設定したObjectMessageを送信する場合は,コンテナ拡張ライブラリとしてユーザ定義クラスを指定する必要があります。
-
受信側システムのReliable Messagingのバージョンが01-03以降の場合
01-02以前のバージョンのReliable Messagingからユーザ定義クラスを設定したObjectMessageを受信する場合は,コンテナ拡張ライブラリとしてユーザ定義クラスを指定する必要があります。
(b) 01-03以降のバージョンのReliable Messagingと通信する場合
互換モードの転送キューを使用してユーザ定義クラスを設定したObjectMessageを送信する場合は,コンテナ拡張ライブラリとしてユーザ定義クラスを指定する必要があります。
(c) 送受信できるReliable Messagingのバージョン
送受信できるReliable Messagingのバージョンを転送モードごとに次の表に示します。
送信側システムのReliable Messagingのバージョン |
転送モード |
受信側システムのReliable Messagingのバージョン |
|
---|---|---|---|
01-02以前 |
01-03以降 |
||
01-02以前 |
− |
△ |
△ |
01-03以降 |
互換モード |
△ |
△ |
通常モード |
× |
○ |