骆驼 JMS - 它是否循环从队列中提取消息?
Camel JMS - does it pull messages from queue in a loop?
我已按照本文档中的说明启用了 JMS 事务:http://camel.apache.org/transactional-client.html
我的队列订阅者注册如下:from("jms:queue:xyz).to(MyBean.class)
此队列上没有消息,但我可以在 Camel 日志中看到,它启动和结束了多个 JMS 事务,并且这种情况在不同的线程 ID 下发生了多次。整个池化发生在死循环中 运行 不间断
他们真的在循环中提取 JMS 消息吗?我可以将其切换为推送吗?
camel-jms 使用 Spring JMS MessageListenerContainer 来接收消息。因此,您可以阅读 Spring JMS 的工作原理以了解它。
但是是的 Spring JMS 有一个事件循环,它从远程 JMS 代理中提取消息,并且有一个默认的 1 秒超时,这允许它在扩大/缩小/关闭等时做出反应。这是名为 receiveTimeout
.
的选项
我已按照本文档中的说明启用了 JMS 事务:http://camel.apache.org/transactional-client.html
我的队列订阅者注册如下:from("jms:queue:xyz).to(MyBean.class)
此队列上没有消息,但我可以在 Camel 日志中看到,它启动和结束了多个 JMS 事务,并且这种情况在不同的线程 ID 下发生了多次。整个池化发生在死循环中 运行 不间断
他们真的在循环中提取 JMS 消息吗?我可以将其切换为推送吗?
camel-jms 使用 Spring JMS MessageListenerContainer 来接收消息。因此,您可以阅读 Spring JMS 的工作原理以了解它。
但是是的 Spring JMS 有一个事件循环,它从远程 JMS 代理中提取消息,并且有一个默认的 1 秒超时,这允许它在扩大/缩小/关闭等时做出反应。这是名为 receiveTimeout
.