1

我有一个基于 Camel 的应用程序,它使用以下路由向 ActiveMQ 实例发布/订阅消息/从 ActiveMQ 实例订阅消息:

<from uri="activemq:myQueue" />

或者:

<to uri="activemq:someOtherQueue" />

我正在尝试确定我是否无意中将我的应用程序设置为“同步模式”,这种情况发生在以下任一情况下:

  • ActiveMQConnectionFactory#setAlwaysSyncSend是真的; 或者
  • MessageProducer”设置为“持久”

相信,没有骆驼,我通常会手动设置这些属性。在这里介绍 Camel 作为 ActiveMQ 客户端,不确定如何/去哪里找到这些属性的值。有任何想法吗?提前致谢。

4

1 回答 1

1

您可以在添加组件时通过在传递给 ActiveMQ 组件的连接 URI 上设置这些值来配置这些值。Camel 网站上的此文档向您展示了它是如何完成的。

ActiveMQ 客户端通过在某些情况下选择使用异步而不是同步来进行一些自己的优化以提高发送性能。这在此处记录,值得一读。

因此,当您通过如下代码添加组件时,您将对其进行配置:

camelContext.addComponent("activemq", activeMQComponent("tcp://localhost:61616?jms.alwaysSyncSend=true"));

ActiveMQConnectionFactory 配置选项在此处详细记录,适用于传输的选项在此处

于 2013-03-12T10:35:36.740 回答