java - 如何以及在哪里检查某些 Apache Camel 设置

标签 java jms activemq apache-camel

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

<from uri="activemq:myQueue" />

或者:

<to uri="activemq:someOtherQueue" />

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

  • ActiveMQConnectionFactory#setAlwaysSyncSend 为 true;或
  • MessageProducer”设置为“持久”

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

最佳答案

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

ActiveMQ 客户端会在某些情况下选择使用异步而不是同步,从而进行一些自身的优化,以提高发送性能。这是documented here值得一读。

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

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

ActiveMQConnectionFactory 配置选项有详细记录 here适用于运输的选项是 here

关于java - 如何以及在哪里检查某些 Apache Camel 设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15357195/

相关文章:

java - java.rmi.Naming.bind() 中的延迟

java - JMS为什么要用Java Mail发送邮件

activemq - 如何捕获 MessageListener 内引发的 ActiveMQ 线程异常

java - 如何在 Spring Boot Java 中运行多个监听器?

java - JMS ObjectMessage 类路径

VB6 和 ActiveMQ

java - 将实时数据从java发送到android应用程序

java - 无法实例化以下类 :com. google.android.gms.ads.AdView(打开类,显示错误日志)

Java Socket 服务器端无法读取 play 框架应用程序中传入的文本行

java - 为什么我在调用 ResultSet.refreshRow() 时看到 NotUpdatable?