最大受信バッファサイズの拡張について
最大受信バッファサイズは、接続先の送信データサイズより大きい値を指定する必要があります。最大メッセージ分割サイズの拡張時、接続先の送信データサイズが256000Byteを超える場合がないか確認してください。
デフォルトの最大受信バッファサイズは256000Byteですので、接続先の送信データサイズが256000Byteを超える場合、最大受信バッファサイズを拡張してください。
最大受信バッファサイズの設定は、Java VMオプションで指定します。
最大受信バッファサイズはデータ受信時の設定であり、クライアントからのリクエスト受信時と、サーバーからのリプライ受信時に有効な機能になります。
com.sun.corba.ee.transport.ORBMaximumReadByteBufferSize
256000~2147483647(Byte)
256000
スタンドアロンクライアントの場合
Java VMオプションに設定します。
-Dcom.sun.corba.ee.transport.ORBMaximumReadByteBufferSize=設定値
アプリケーションクライアントコンテナに設定する場合
環境変数VMARGSに設定します。詳細については、「4.9.1 Java EEアプリケーションクライアントの環境設定」を参照してください。
IJServerクラスタに設定する場合
asadminコマンドを使用してJava VMオプションに設定します。詳細については、「JVMオプション」を参照してください。
設定変更時は、IJServerクラスタを再起動する必要があります。
-Dcom.sun.corba.ee.transport.ORBMaximumReadByteBufferSize=設定値
接続先から受信したデータは、受信バッファに格納されます。受信バッファのサイズは、受信するデータサイズにより、インストール直後の値64000Byteから、最大受信バッファサイズの設定値まで、2倍ずつ(64000→128000→256000)拡張されます。
受信するデータサイズが、最大受信バッファサイズを超過した場合、データ受信処理は失敗し、以下の警告メッセージが通知されます。
IOP00410233
本警告メッセージが通知された場合は、接続先の送信データサイズが最大受信バッファサイズより小さくなるようにチューニングしてください。
Windowsにおける処理遅延について
オペレーションシステムの仕様(KB2020447)により、以下の条件でデータ送受信中に5秒間の処理遅延が発生する場合があります。
Java EEのクライアントとサーバを同一マシンで運用する。
65536Byteから1048576Byteの通信データを一度に送受信する。
本現象を回避するためには、以下の対処を行ってください。
最大メッセージ分割サイズが有効な場合
最大メッセージ分割サイズを65536Byte未満に設定します。
最大メッセージ分割サイズが無効な場合
ユーザーアプリケーションで一度に送受信する通信データサイズを以下の範囲で調整します。
65536Byte未満
1048577Byte以上