【问题标题】:Camel transactional JMS Weblogic: big number of "consumers total" is normal?Camel transactional JMS Weblogic:大量“消费者总数”正常吗?
【发布时间】:2013-12-29 18:35:12
【问题描述】:

我使用在 WebLogic 10.3.5 中运行的 Apache Camel 2.10.0 定义如下路由:

from("wmq:jms/myqueue").to( some logic goes here )

如果我把它变成事务性的

from("wmq:jms/myqueue?transacted=true").to( some logic goes here ) 

它按预期工作,但“总消费者”(在 WebLogic 控制台中监控)的数量每秒都在增加。 例如:

在服务器启动时我们有

  • 消费者当前 = 1
  • 消费者高 = 1
  • 消费者总数 = 1
  • 消息数高 = 0

5 分钟后(没有消息发送)

  • 消费者当前 = 1
  • 消费者高 = 1
  • 消费者总数 = 1668
  • 消息数高 = 0

这是否意味着内存泄漏?会不会是生产环境的问题?

【问题讨论】:

    标签: java transactions jms weblogic apache-camel


    【解决方案1】:

    仔细查看 camel-jms 文档页面

    并注意使用事务以及对性能的影响以及cacheLevel选项可以设置为什么。

    在您的用例中,当使用 transacted=true 时,缓存级别默认为无,这意味着每次轮询都会创建一个新的消费者。将缓存级别设置为消费者将重用消费者,并且您应该只有 1 个消费者,就像没有缓存一样。

    【讨论】:

    • 很好的答案!非常感谢你,克劳斯。没错,我错过了文档的这一部分。现在它完美地工作了
    猜你喜欢
    • 2013-04-16
    • 1970-01-01
    • 1970-01-01
    • 2012-05-17
    • 1970-01-01
    • 2016-05-04
    • 1970-01-01
    • 2011-06-04
    • 2016-10-10
    相关资源
    最近更新 更多