我需要注册消息离开ActiveMQs队列的时间。我有Q1,消费者是Jboss服务器上的一个java应用程序,通过activemq-ra.rar。有没有可能用Camel(包含在ActiveMQ中)拦截器来实现这一点?我不是程序员,所以XML DSL中的解决方案将是完美的。任何帮助都将不胜感激。谢谢。
ryoqjall1#
使用advisoryForConsumed并将咨询消息转发到队列为我解决了这个问题。在activemq.xml中:
<destinationPolicy> <policyMap> <policyEntries> <policyEntry queue="Q1" advisoryForConsumed="true"/> </policyEntries> </policyMap> </destinationPolicy>
然后将ActiveMQ.Advisory.MessageConsumed.Queue.Q1转发到另一个队列AvisoryConsumed。
<destinationInterceptors> <virtualDestinationInterceptor> <virtualDestinations> <compositeTopic name="ActiveMQ.Advisory.MessageConsumed.Queue.Q1" > <forwardTo><queue physicalName="AvisoryConsumed" /> </forwardTo> </compositeTopic> </virtualDestinations> </virtualDestinationInterceptor>
那么当一条消息被使用时,AvisoryConsumed中会有一条brokerOutTime消息和原始消息的属性。
scyqe7ek2#
查看日志代理插件,它可以将信息输出到日志中,然后您可以使用该日志来构建度量。参考:Logging Broker Plugin
2条答案
按热度按时间ryoqjall1#
使用advisoryForConsumed并将咨询消息转发到队列为我解决了这个问题。
在activemq.xml中:
然后将ActiveMQ.Advisory.MessageConsumed.Queue.Q1转发到另一个队列AvisoryConsumed。
那么当一条消息被使用时,AvisoryConsumed中会有一条brokerOutTime消息和原始消息的属性。
scyqe7ek2#
查看日志代理插件,它可以将信息输出到日志中,然后您可以使用该日志来构建度量。
参考:Logging Broker Plugin