Java 如何以及在何处检查某些Apache Camel设置

Java 如何以及在何处检查某些Apache Camel设置,java,jms,activemq,apache-camel,Java,Jms,Activemq,Apache Camel,我有一个基于Camel的应用程序,它通过如下路由向ActiveMQ实例发布/订阅消息: <from uri="activemq:myQueue" /> 或: 我试图确定我是否无意中将我的应用程序设置为“同步模式”,这种情况发生在以下情况之一: ActiveMQConnectionFactory#setAlwaysSyncSend为真;或 “MessageProducer”设置为“Persistent” 我相信,如果没有Camel,我通常会手动设置这些属性。这里介绍Cam

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

<from uri="activemq:myQueue" />

或:


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

  • ActiveMQConnectionFactory#setAlwaysSyncSend
    为真;或
  • MessageProducer
    ”设置为“Persistent”

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

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

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

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

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

ActiveMQConnectionFactory配置选项已详细记录,适用于传输的选项为

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

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

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

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

ActiveMQConnectionFactory配置选项有详细的文档记录,适用于传输的选项有

谢谢@Tim Bish(+1)-hmmm我现在似乎有进展了。我看到ActiveMQ组件没有添加任何新选项,并且所有选项都适用于ActiveMQ。所以,看看这些JMS选项,我看到了一些类似于
alwaysSyncSend
(即
异步消费者
异步监听器
异步停止监听器
),但是我没有看到任何类似于
消息生产者的。有什么想法吗?我觉得我离这里很近,但在这里看“穿越树林的森林”仍然很艰难。再次感谢!此外,
asyncConsumer
(听起来最像
alwaysSyncSend
)默认值为
false
。因此,如果这是与
alwaysSyncSend
相对应的属性,并且我没有明确地将其设置为
true
,那么这是否意味着我的客户端配置为“同步模式”?您能否澄清一下您的问题,以了解您真正想要做的是什么?或者什么东西没有按你希望的方式工作?我很难理解你的问题,很难形成一个好的答案。阅读我在AMQ客户机上添加的链接,以及在某些情况下使用异步发送。通常您不需要处理其中的大部分内容。Camel JMS deliveryPersistent选项控制MessageProducer DeliveryMode,默认值为true。与ActiveMQConnectionFactory alwaysSyncSend没有关联,因为它是ActiveMQ特定的,并且在添加ActiveMQ组件URI时在ActiveMQ组件URI上设置。该选项的默认值为false。ActiveMQ Camel组件页面显示了一个事实,即您可以在BrokerUri上为该组件设置属性。如果您遵循到代理URI页面的链接,您可以找到有关传输和ActiveMQConnectionFactory的各种URI设置的文档。如果您认为需要更多的文档,请随时在AMQ邮件列表上发表意见或进行讨论。谢谢@Tim Bish(+1)-嗯,我现在似乎有进展了。我看到ActiveMQ组件没有添加任何新选项,并且所有选项都适用于ActiveMQ。所以,看看这些JMS选项,我看到了一些类似于
alwaysSyncSend
(即
异步消费者
异步监听器
异步停止监听器
),但是我没有看到任何类似于
消息生产者的。有什么想法吗?我觉得我离这里很近,但在这里看“穿越树林的森林”仍然很艰难。再次感谢!此外,
asyncConsumer
(听起来最像
alwaysSyncSend
)默认值为
false
。因此,如果这是与
alwaysSyncSend
相对应的属性,并且我没有明确地将其设置为
true
,那么这是否意味着我的客户端配置为“同步模式”?您能否澄清一下您的问题,以了解您真正想要做的是什么?或者什么东西没有按你希望的方式工作?我很难理解你的问题,很难形成一个好的答案。阅读我在AMQ客户机上添加的链接,以及在某些情况下使用异步发送。通常您不需要处理其中的大部分内容。Camel JMS deliveryPersistent选项控制MessageProducer DeliveryMode,默认值为true。与ActiveMQConnectionFactory alwaysSyncSend没有关联,因为它是ActiveMQ特定的,并且在添加ActiveMQ组件URI时在ActiveMQ组件URI上设置。该选项的默认值为false。ActiveMQ Camel组件页面显示了一个事实,即您可以在BrokerUri上为该组件设置属性。如果您遵循到代理URI页面的链接,您可以找到有关传输和ActiveMQConnectionFactory的各种URI设置的文档。如果您认为需要更多的文档,请随时在AMQ邮件列表上提供或讨论。