Apache camel 如何在Apache camel中记录MQ交付时间以进行动态交付(toD)?

Apache camel 如何在Apache camel中记录MQ交付时间以进行动态交付(toD)?,apache-camel,Apache Camel,我正在尝试获取一条消息在apachecamel中传递到ibmq队列所需的时间。以下是路线配置 from("direct:deliver-route-2").process("mySampleProcessor").split().method("messageSplitterBean", "splitMessage").shareUnitOfWork().stopOnException().toD("mqDeliverJms:${headers.Deliver}?preserveMessageQ

我正在尝试获取一条消息在apachecamel中传递到ibmq队列所需的时间。以下是路线配置

from("direct:deliver-route-2").process("mySampleProcessor").split().method("messageSplitterBean", "splitMessage").shareUnitOfWork().stopOnException().toD("mqDeliverJms:${headers.Deliver}?preserveMessageQos=true");
我有一个拆分器,可以拆分消息列表,并使用消息头“deliver”动态交付(toD)

我使用了其中一个问题中给出的MessageHistory建议,但是我没有看到将消息传递到IBM MQ的(toD)所用的时间

String MessageHist = org.apache.camel.util.MessageHelper.dumpMessageHistoryStacktrace(exchange,
                new DefaultExchangeFormatter(), false);
这是信息历史


您可以使用“EventNotifier”在您有时间的地方捕获
ExchangeSent
事件,例如驼峰文档中没有什么例子:

您可以使用“EventNotifier”在您有时间的地方捕获
ExchangeSent
事件,例如,在Camel文档中没有什么例子:

您使用的Camel版本是什么?Camel版本是2.18.4您使用的Camel版本是什么?Camel版本是2.18.4 Hanks Claus,我可以通过在“事件通知程序”上应用端点类型过滤器来获得MQ交付时间<代码>如果(sentEvent.getEndpoint()instanceof JmsQueueEndpoint)谢谢克劳斯,我可以通过在“事件通知程序”上应用端点类型过滤器来获取MQ传递时间<代码>如果(sentEvent.getEndpoint()实例为jmsqueeEndpoint)