パッキング転送機能は、イベントチャネル連携サービスのメッセージ転送性能を向上させるための機能です。アプリケーションの介在なしでイベントチャネル連携サービスが複数のメッセージをパッキングして一括送信します。
図11.16 パッキング転送機能の概要にパッキング転送機能の概要を示します。
図11.16 パッキング転送機能の概要
[図の説明]
送信側および受信側のイベントチャネル連携サービスでは、以下の処理を行います。
1) 送信側のイベントチャネル連携サービスは、送信キューから複数のメッセージを取り出し、一つにパッキングします。
2) 一つにパッキングしたメッセージを転送します。
3) 受信側のイベントチャネル連携サービスは、パッキングされた複数のメッセージをアンパッキング(パッキング前の状態に戻す処理)して受信キューに格納します。
なお、相手システムがパッキング転送機能をサポートしてない場合(Interstage Application Server V4.0の場合)、チャネルコネクション確立時にMQD6340のメッセージをシステムログに出力し、1通ずつメッセージを転送します。
パッキング転送機能を使用する場合、サービス定義に以下の項目が必要です。
パッキング数
パッキングするメッセージ数。1度の送信で、2~100通のメッセージを転送できます。パッキング数の設定の目安は、以下の計算式を参考に設計してください。
パッキング数 = N × T ≦ 100
N: 送信アプリケーションが1秒間に送信キューに格納するメッセージ数
T: 最大遅延時間(秒)
なお、メモリ不足などによりパッキング数は一時的に定義値より小さくなることがあります。この場合、MQD6341のメッセージがシステムログに出力されます。
最大遅延時間
メッセージがパッキング数に達しない場合に、待ち合わせをするための送信待ち時間(秒)を指定します。最大遅延時間(300秒)以内の転送を保証し、かつ、パッキングすることで効率よくメッセージを転送します。最大遅延時間の設定の目安は、送信キューにパッキング数分のメッセージが溜まる時間となります。なお、当項目は、パッキング転送機能を使用する場合にだけ有効です。
パッキング転送機能は、送信側のサーバのイベントチャネル連携サービスのサービス定義でパッキング数と最大遅延時間を指定することで利用できます。定義方法については、表11.21 CHANNELセクションの記述内容を参照してください。
パッキング転送中にエラーが発生した場合
パッキング転送中にエラーが発生した場合、イベントチャネル連携サービスは以下のように動作します。
送信側の非同期メッセージ基盤がMQDの場合
パッキング単位に送信が停止します。エラーの発生したメッセージがキューの先頭にあるとは限りません。
送信側の非同期メッセージ基盤がノーティフィケーションサービスまたはJMSの場合
パッキング送信中にエラーが発生した場合は、一時的にパッキング送信を1通づつの送信に切り替え、送信をリトライします。そのため、送信異常メッセージがキューの先頭になって送信が停止します。ユーザがキューの先頭にある送信異常メッセージに対する対処をした後に送信を再開すると、再びパッキング転送で送信を行います。
パッキング転送中にエラーが発生した場合のメッセージ滞留状態の例を図11.17 パッキング転送エラー発生時のメッセージ滞留状態に示します。
図11.17 パッキング転送エラー発生時のメッセージ滞留状態