0

動的エンドポイント(この質問に関連)を使用してConsumerTemplate.receiveを実行するクォーツジョブを設定しようとしています。

グーグルとソースコードのピークから、ConsumerTemplateがエンドポイントをキャッシュしようとすることがわかりますが、それは動的であるため、OutOfMemoryExceptionが発生する可能性があり、いずれの場合も動的エンドポイントをキャッシュする理由はありません。(http://mail-archives.apache.org/mod_mbox/camel-users/201003.mbox/%3C75bda7a01003222327i456bf92egd37e1d4868d06041@mail.gmail.com%3Eを参照)

エンドポイントがConsumerTemplateによってキャッシュされるべきではないことを示す方法はありますか?おそらくエンドポイントURIのオプションですか?キャッシュサイズをグローバルに設定する方法があるようです(https://cwiki.apache.org/confluence/display/CAMEL/How+do+I+configure+the+default+maximum+cache+size+for+ProducerCache +または+ProducerTemplate)、しかし、おそらくキャッシュの恩恵を受ける静的なコンシューマーがいくつかあるので、そうしたいとは思いません。

4

1 に答える 1

2

キャッシュ制限を指定できる CamelContext の API からコンシューマー テンプレートを作成できます。http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/CamelContext.html#createConsumerTemplate(int )。

于 2012-12-03T14:36:09.027 に答える