ページの先頭行へ戻る
Interstage Application Server/Interstage Web Server J2EE ユーザーズガイド(旧版互換)
Interstage

24.12 アプリケーション実行時の注意事項

TopicRequestor/QueueRequestor使用時について

TopicRequestorクラス、またはQueueRequestorクラスのrequest()メソッドは、Topic、またはQueueに要求メッセージを送り、その応答を待ちます。受信アプリケーションが接続していない場合、または受信アプリケーションが応答メッセージを返さない場合など、アプリケーションの構成によってrequest()メソッドから復帰しないことがあります。
上記のような無限の待ち合わせを回避する方法として、システムプロパティを使用することにより、一定時間内に応答が返らない場合にrequest()メソッドからの復帰を指示することができます。


[システムプロパティ名]
com.fujitsu.interstage.jms.receive_timeout
[指定方法]

ミリ秒単位でタイムアウト時間を設定します。


-Dcom.fujitsu.interstage.jms.receive_timeout=10000

ポイント

システムプロパティに、イベントサービス動作環境の「メッセージの待ち合わせ時間(-wtimeの指定値)」より小さい値を設定した場合、-wtimeに指定された時間だけ待ち合わせます。
タイムアウト発生時、request()メソッドは、nullで復帰します。


■メッセージの欠落の防止について

イベントチャネルのメッセージ蓄積可能なデータ数の上限値を超過した場合、メッセージが欠落することがあります。
メッセージの欠落を回避する方法として、システムプロパティを使用することにより、エラー通知を指示することができます。


[システムプロパティ名]
com.fujitsu.interstage.jms.queue_max_err
[指定方法]

“yes”を設定します。


-Dcom.fujitsu.interstage.jms.queue_max_err=yes

■JMS1.0.2規約のAPIについて

本製品の8.0以前に作成したJava Message Service 1.0.2規約に従ったアプリケーションは、システムプロパティを使用することにより、8.0以前と同じように動作させることができます。


[システムプロパティ名]
com.fujitsu.interstage.jms.exception_version_lower
[指定方法]

“yes”を設定します。


-Dcom.fujitsu.interstage.jms.exception_version_lower=yes

メッセージの受信タイムアウトについて

  メッセージを受信できない場合に受信タイムアウトが発生するタイミングは、receive()メソッドに指定したタイムアウト時間より長くなることがあります。メッセージの受信タイムアウトの詳細については、“24.13.4 パッケージjavax.jmsのAPI一覧(その4)”のreceive()メソッドの(注1)を参照してください。