現在、私は Camel をオーケストレーション エンジンとして使用しています (Camel コードが HTTP POST/PUT/GET リクエストを外部サーバーに送信する HTTP POST リクエストを受信し、最後に Camel が (うまくいけば) 200 OK を送信するまで)最初の HTTP POST リクエストのイニシエータ)。
読み込みツール <-> Camel コード <-> 外部サーバー
Camel 2.9.2 を使用しています。
パフォーマンスをチェックするために、httperf を使用して多数の HTTP POST メッセージを Camel 実装に送信しています。httperf が 1 秒あたり 100 リクエストのレートでリクエストを送信するように構成されている場合、次のエラーが頻繁に表示されます。
ERROR Failed delivery for (MessageId: ID-wpm-seal-59304-133965736935 6-0-3482128 on ExchangeId: ID-wpm-seal-59304-1339657369356-0-3482126)。配信試行後に使い果たされました: 1 つがキャッチされました: org.apache.camel. component.http.HttpOperationFailedException: http://anExternalServer.com:7000/M2M/resources/m2mSubscription ?subscriptionId=32477000000 を statusCode: 500 で呼び出す HTTP 操作に失敗しました
このエラーの原因を確認するためにデバッグする方法を知りたいです...
また、それが意味すること: 1) Camel がそれ以上リクエストを処理できなかったということですか? 2) Camel が HTTP メッセージを外部サーバーに送信しようとしたが、このサーバーが要求に応答/受け入れなかったということですか (過負荷のために要求を受け入れることができなかった可能性があります)? -> これは私には最も論理的に見えましたが、Wireshark トレースは、Camel がその外部サーバーへの TCP 接続をセットアップしようとしなかったことを示しました ... ?! 3) または ...
TCP 接続数の制限に達したのではないでしょうか? またはスレッド?
完全なエラー ダンプは次のとおりです。
DefaultErrorHandler ERROR (MessageId: ID-wpm-seal-59304-133965736935 6-0-3482128 on ExchangeId: ID-wpm-seal-59304-1339657369356-0-3482126) の配信に失敗しました。配信試行後に使い果たされました: 1 つがキャッチされました: org.apache.camel. component.http.HttpOperationFailedException: http://anExternalServer.com:7000/M2M/resources/m2mSubscription ?subscriptionId=32477000000 の呼び出しで HTTP 操作が失敗しました: statusCode: 500 org.apache.camel.component.http.HttpOperationFailedException: HTTP 操作でhttpの呼び出しに失敗しました://anExternalServer.com:7000/M2M/resource 52)[キャメル-コア-2.9。2.jar:2.9.2] org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:45) [camel-core-2.9.2.jar:2.9.2] org.apache.camel.processor で.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[camel-core-2.9.2.jar:2.9.2] at org.apache.camel.processor.interceptor.DefaultChannel.process(DefaultChannel.java:304)[camel- core-2.9.2.jar:2.9.2] at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[camel-core-2.9.2.jar:2.9.2] at org.apache .camel.processor.Pipeline.process(Pipeline.java:117)[camel-core-2.9.2.jar:2.9.2] org.apache.camel.processor.Pipeline.process(Pipeline.java:80)[ camel-core-2.9.2.jar:2.9.2] org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java: