0

Apache Camelを使用して、ディスパッチャーEIPを実装しています。キューには、さまざまなURLで配信する必要があるメッセージが何千もあります。各メッセージには、独自の配信URLおよび配信プロトコル(FTP、電子メール、HTTPなど)があります。

それが実装されている方法:

  • 単一の camel コンテキストを起動します。コンテキストは JMX に対して無効になり、loadStatisticsEnabled は ManagementStrategy で false に設定されます。バックグラウンド管理スレッドの作成を無効にするために、バージョン 2.11.0 で対処された jira の問題で言及されているように。
  • メッセージごとにルートが構築され、メッセージは配信のためにルートにプッシュされます。
  • メッセージが処理された後、ルートはシャットダウンされ、コンテキストから削除されます。

それぞれが同じコンテキストを共有するディスパッチャ コンポーネントの 200 のスレッドを使用して、小規模なパフォーマンス テストを行いました。処理時間はミリ秒単位であるのに対し、ルートを開始する時間は最大 60 秒まで増加することが観察されました。

問題 CAMEL-5675 は、これが修正されたと述べていますが、ルートの開始にかなりの時間がかかることを観察しています。 https://issues.apache.org/jira/browse/CAMEL-5675

HTTPのために作成されているルートはです

from("direct:"+dispatchItem.getID())
.toF("%s?httpClient.soTimeout=%s&disableStreamCache=true", dispatchItem.getEndPointURL(),timeOutInMillis); 

各 dispatchItem には一意の ID があります。

4

1 に答える 1

1

これは、ユーザーが最初にこの質問を投稿した場所で活発に議論されています: http://camel.465427.n5.nabble.com/Slow-startup-of-routes-tp5732356.html

于 2013-05-14T08:15:53.347 に答える