継続タイムアウトに達したために、jettyエンドポイントのhttp応答に書き込めない交換機を管理するためのハンドラを登録する可能性はありますか?キャメル・エクスチェンジが桟橋の続きで終了しました
1
A
答えて
1
これは不可能です。遅い処理交換がある場合は、より高いタイムアウトを設定する必要があるかもしれません。
このようなonTimeoutイベントのフックを見つけて、それをキャメル・ブーティーでサポートするために必要なものがあるかどうかは、Jetty APIを参照してください。
2
私はこのような私のコードでErrorHandlingHttpBinding
というカスタムHttpBindingとの組み合わせで、この
if (continuation.isExpired()) {
String id = (String) continuation.getAttribute(EXCHANGE_ATTRIBUTE_ID);
// remember this id as expired
expiredExchanges.put(id, id);
log.warn("Continuation expired of exchangeId: {}", id);
consumer.getBinding().doWriteExceptionResponse(new TimeoutException(), response);
return;
}
ようif (continuation.isExpired())
ブロックでCamelContinuationServletを変更することによって、私のプロジェクトでは、それが利用可能になったので、私はちょうどその上で私のノートを追加します
public class ErrorHandlingHttpBinding extends DefaultHttpBinding {
@Override
public void doWriteExceptionResponse(Throwable exception, HttpServletResponse response) throws IOException {
if (exception instanceof TimeoutException) {
response.setStatus(HttpServletResponse.SC_GATEWAY_TIMEOUT);
response.getWriter().write("Continuation timed out...");
} else {
super.doWriteExceptionResponse(exception, response);
}
}
}
id="errorHandlingHttpBinding"
とスプリングBeanとして登録さjetty:http://localhost:21010/?useContinuation=true&continuationTimeout=1&httpBindingRef=errorHandlingHttpBinding
として成分ストリングにいいます。
関連する問題
- 1. - 桟橋
- 2. 桟橋なしのリング/コンビネーション
- 3. 桟橋サーバーログリクエストボディ
- 4. ロードアップ桟橋
- 5. は桟橋
- 6. 桟橋は、SBT
- 7. 桟橋サーバーエラー
- 8. 桟橋を使用した手動コードカバレッジ
- 9. 桟橋:HelloWorldの例では、私は桟橋に新たなんだ
- 10. 桟橋のスレッドプールembeddend
- 11. 桟橋セッションクラスタリングにClassNotFoundException
- 12. doGetは2回の桟橋サーバーを呼び出しました
- 13. 私はEclipseでのJettyサーバーを起動すると桟橋が(桟橋-WTPプラグインを使用して)WTPプラグイン
- 14. ジャージー+桟橋チャレンジ付きの春
- 15. Mavenの桟橋のプラグイン - ディレイバックグラウンドモード
- 16. 春ブーツと桟橋のProxyServlet
- 17. 桟橋とNettyの統合
- 18. 桟橋:WebコンソールのURL
- 19. 桟橋9ハンドラの例?
- 20. のNode.jsと桟橋6
- 21. 桟橋8.1.1.v20120215(JSF + Mavenの)
- 22. websocketsプロジェクトの桟橋のランエラーです。
- 23. は、Solrの桟橋でのssh 9
- 24. richfaces 4.2.1.finalは桟橋で作業していません8
- 25. ムービーがJMFで終了し、プログラムを終了しました
- 26. アプリが終了したときにアプリが終了しない
- 27. 桟橋メイフェアアーティファクトはボスボルトですか?
- 28. スクイズの桟橋にノワール戦争を展開したときの404秒
- 29. 終了手続きが開始されたら、Emacsが終了しないようにしますか?
- 30. シミュレーションが終了コードで終了しました:132
今のところ解決策がありますが、調整が必要です。あなたは私の提案を以下に見て、それがラクダ桟橋に入る可能性があるかどうかを評価するかもしれません。 – micfra
これは良い解決策のようです。私はこれに関するチケットを記録している:https://issues.apache.org/jira/browse/CAMEL-10175。これをそのままの状態で実装するには、パッチ/ PRで作業してください。 –