WebOTX ESBの標準機能としては、そのような機能は提供しておりません。しかしながら、メッセージ加工用に任意の実装を組み込める各種ハンドラ機能を提供しており、そこでサイズによってデータの受信を中断するように実装を組み込むことが可能です。SOAP over HTTPとのことなので、ESBの SOAP BC と HTTP BC が使用できます。
ただし、OutOfMemoryError発生の抑止という要件にはWebOTX ESBでメッセージを展開しないことが必要であり、次のとおりSOAP BCのコンシューマ側では対応できません。
・SOAP BC
コンシューマ側ではハンドラでの処理の前に一度メッセージを全て受け付けます。そのためOutOfMemoryError発生前に制御するのは困難です。プロバイダ側ではハンドラまで読み込むことなくStreamで保持するため、受信途中で破棄することは可能です。
・HTTP BC
ハンドラまで読み込むことなくStreamで保持するため、受信途中で破棄することは可能です。
なお、SOAPやHTTPの場合、ESBの前段にあるWebOTX Webサーバ(Apache)でLimitRequestBodyディレクティブを使用すると受信メッセージサイズの上限が指定できます。
【対象製品】Enterprise Service Bus
【確認済みのバージョン】V7.11以降
【確認済みの対象OS】すべて
【確認済みのJavaバージョン】すべて
【カテゴリー】開発/設計(性能チューニング)