Apache camel浏览队列而不进行轮询

时间:2015-03-30 12:18:08

标签: java logging browser apache-camel

我需要使用ActiveMQ上的事件记录我的数据库。 使用日志记录,我的意思是消息无法消费。

是否可以使用

public class QueueRouteBuilder extends RouteBuilder {
@Override
public void configure(){
 from("browse:activemq:KBC)
.process(new QueueProcessor());
}
}

1 个答案:

答案 0 :(得分:0)

那条骆驼路线是事件驱动的。即它必须以某种方式轮询该队列的事件,以了解已处理的内容。

相反,我会将副本转到用于记录的队列。这可以通过ActiveMQ以两种方式完成。

  1. Mirrored queues。也就是说 - 每个队列都有一个镜像,所有消息都复制到它。您只需阅读镜像即可进行记录/监控。
  2. Virtual Destinations。您可以设置一个复合队列,将消息转发到多个队列(一个用于实际使用,一个用于记录)。但是,这必须通过所有相关队列的配置来完成。
  3. 为了方便点击,您可以切换到主题。只需添加订阅者即可轻松点击消息。如果你真的需要队列语义,你可以使用Virtual Topics这两个世界中最好的 - 队列主题!