Apache camel 如何使用来自主题ActiveMQ Artemis的消息
我正在尝试处理有关ActiveMQ Artemis的主题 我已经在这个地址中创建了一个多播地址和一个多播队列 在本主题中使用Apache Camel创建了两条路由以连接,但当我发布消息时,只有一条路由使用该消息,而当我发布另一条消息时,使用该消息的第二条路由使用该消息 下面是代码和输出Apache camel 如何使用来自主题ActiveMQ Artemis的消息,apache-camel,activemq-artemis,Apache Camel,Activemq Artemis,我正在尝试处理有关ActiveMQ Artemis的主题 我已经在这个地址中创建了一个多播地址和一个多播队列 在本主题中使用Apache Camel创建了两条路由以连接,但当我发布消息时,只有一条路由使用该消息,而当我发布另一条消息时,使用该消息的第二条路由使用该消息 下面是代码和输出 public class CamelRoutes { public static void main(String[] args) throws Exception { ActiveMQJMSCon
public class CamelRoutes {
public static void main(String[] args) throws Exception {
ActiveMQJMSConnectionFactory connection = new ActiveMQJMSConnectionFactory("tcp://localhost:61616", "admin", "admin");
CamelContext camel = new DefaultCamelContext();
camel.addComponent("amq", JmsComponent.jmsComponent(connection));
camel.addRoutes(new RouteBuilder(){
@Override
public void configure() throws Exception {
from("amq:TEST.TOPIC")
.routeId("Route1")
.log("ROUTE1: ${body}");
}
});
camel.addRoutes(new RouteBuilder(){
@Override
public void configure() throws Exception {
from("amq:TEST.TOPIC")
.routeId("Route2")
.log("ROUTE2: ${body}");
}
});
camel.start();
Thread.sleep(20000000);
}
}
您是在队列中消费,而不是在主题中消费。 您需要更正消费者的URI方案 将您的消费者更改为:
from("amq:topic:TEST.TOPIC");
以下是创建队列使用者的方法:
from("amq:queue:YOUR.QUEUE.NAME);
// or as queue is default value
from("amq:YOUR.QUEUE.NAME);
from("amq:topic.YOUR.TOPIC.NAME);
以下是创建主题消费者的方法:
from("amq:queue:YOUR.QUEUE.NAME);
// or as queue is default value
from("amq:YOUR.QUEUE.NAME);
from("amq:topic.YOUR.TOPIC.NAME);
您是在队列中消费,而不是在主题中消费。 您需要更正消费者的URI方案 将您的消费者更改为:
from("amq:topic:TEST.TOPIC");
以下是创建队列使用者的方法:
from("amq:queue:YOUR.QUEUE.NAME);
// or as queue is default value
from("amq:YOUR.QUEUE.NAME);
from("amq:topic.YOUR.TOPIC.NAME);
以下是创建主题消费者的方法:
from("amq:queue:YOUR.QUEUE.NAME);
// or as queue is default value
from("amq:YOUR.QUEUE.NAME);
from("amq:topic.YOUR.TOPIC.NAME);
嗨,谢谢!工作。我检查了一下,他创建了两个“队列”,每个消费者一个。我只需将信息发送到地址,所有消费者都会收到信息。谢谢,嗨,谢谢!工作。我检查了一下,他创建了两个“队列”,每个消费者一个。我只需将信息发送到地址,所有消费者都会收到信息。谢谢