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 +or+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 回答