在我的应用程序中,我在apache骆驼中使用通配符,并且定义了如下的路由生成器:
from(“ activemq:queue:*。processQueue”)。bean(beanOne,“ someMethod”);
发送消息时,我将消息发送到“ {uniqueID} .processQueue”队列,因此我需要在beanOne的someMethod中获取该uniqueId。
最佳答案
完整的队列路径位于In
消息的JMSDestination
标头中(例如,JMSDestination为queue://test1.processQueue
)。您可以使用字符串操作函数来获取所需的uniqueId
。
示例(uniqueId
将为test1
):
@Handler
public void someMethod(@Header("JMSDestination") String jmsDestination) {
String uniqueId = jmsDestination.substring("queue://".length(), jmsDestination.indexOf(".processQueue"));
}