Java 使用springBoot&;向两个ActiveMQ代理发送消息;骆驼

Java 使用springBoot&;向两个ActiveMQ代理发送消息;骆驼,java,spring-boot,apache-camel,activemq,messagebroker,Java,Spring Boot,Apache Camel,Activemq,Messagebroker,我正在努力创建一个Spring引导应用程序,它使用ApacheCamel并将消息发送到两个独立的ActiveMQ代理 我创建了两个ActiveMQComponentbean,每个bean都配置为不同的代理。然后,我定义了一个路由器,它从第一个代理中的队列获取消息,对其进行处理并将其传输到第二个代理中的队列 当我尝试运行应用程序时,出现以下错误: org.apache.camel.FailedToCreateRouteException:未能创建路由route1:route1(route1)[从[

我正在努力创建一个Spring引导应用程序,它使用ApacheCamel并将消息发送到两个独立的
ActiveMQ
代理

我创建了两个
ActiveMQComponent
bean,每个bean都配置为不同的代理。然后,我定义了一个路由器,它从第一个代理中的队列获取消息,对其进行处理并将其传输到第二个代理中的队列

当我尝试运行应用程序时,出现以下错误:

org.apache.camel.FailedToCreateRouteException:未能创建路由route1:route1(route1)[从[{primary.input.queue}}]->[Log[新的mess…,因为找不到以下的终结点:primary://MyInputQueue 
我的配置代码是:

@Bean(“主”)
公共ActiveMQComponent primaryAMQComponent(最终连接工厂连接工厂,最终
JmsTransactionManager(JmsTransactionManager){
ActiveMQComponent组件=新的ActiveMQComponent();
组件。setBrokerURL(“tcp://localhost:61616");
setPreserveMessageQos(true);
组件。setConnectionFactory(connectionFactory);
组件.setTransactionManager(jmsTransactionManager);
返回组件;
}
@豆类(“次要”)
公共ActiveMQComponent primaryAMQComponent(最终连接工厂连接工厂,最终
JmsTransactionManager(JmsTransactionManager){
ActiveMQComponent组件=新的ActiveMQComponent();
组件。setBrokerURL(“tcp://remotehost:61616");
setPreserveMessageQos(true);
组件。setConnectionFactory(connectionFactory);
组件.setTransactionManager(jmsTransactionManager);
返回组件;
}
我的路由器是:

@组件
公共类JmsTestRouter扩展RouteBuilder{
静态最终记录器log=LoggerFactory.getLogger(JmsTestRouter.class);
@凌驾
public void configure()引发异常{
来自(“{primary.input.queue}}”)
.log(“收到新消息”)
.流程(交换->{
System.out.println(“接收到新消息-消息文本:”+exchange.getMessage().getBody());
字符串convertedMessage=exchange.getMessage().getBody()+“已处理”;
exchange.getMessage().setBody(convertedMessage);
})
.to(“{secondary.output.queue}}”)
.log(“消息已成功发送到输出队列”)
.end();
}
}
属性的定义是:

primary.input.queue=primary:MyInputQueue
secondary.output.queue=secondary:MyOutputQueue

显然我做错了什么。如果有任何帮助,我们将不胜感激。

您确定配置代码已经执行了吗?您可以调试或添加一些日志记录/系统输出,以确保spring启动调用,这样Camel就可以找到同名的bean。在您的配置中为这两个bean使用相同的
primaryAMQComponent
方法正常吗ans?对我来说,这段代码不会编译。但问题可能在其他地方。你确定配置代码已经执行了吗?你可以调试或添加一些日志/系统输出来确保spring启动调用,这样Camel就可以找到同名的bean。在你的配置中使用相同的
primaryAMQComponent
方法正常吗这两个bean?对我来说,这段代码无法编译。但问题可能在其他地方。