JMS通配符值

时间:2015-12-04 09:29:10

标签: mule esb

在mule中我可以使用这样的通配符来监听多个JMS queus:

<jms:inbound-endpoint  queue="Consumer.sandy-proxy.MES.*.PRINTER.LABELS.*" connector-ref="jmsConnector" />

如何获取真实的队列目的地名称? ES。 MES。的 AV .PRINTER.LABELS。的 PRINTER1

我需要知道两个粗体的参数,但我无法在任何地方找到它们。谢谢

INFO  2015-12-04 10:26:17,959 [sandy-subscriber.stage1.02] org.mule.api.processor.LoggerMessageProcessor: 
org.mule.DefaultMuleMessage
{
  id=d4a47ed4-9a66-11e5-a5b5-879af7c5a144
  payload=java.lang.String
  correlationId=<not set>
  correlationGroup=-1
  correlationSeq=-1
  encoding=UTF-8
  exceptionPayload=<not set>

Message properties:
  INVOCATION scoped properties:
  INBOUND scoped properties:
    ActiveMQ.MQTT.QoS=0
    JMSDeliveryMode=1
    JMSDestination=queue://Consumer.sandy-proxy.MES.*.PRINTER.LABELS.*
    JMSExpiration=0
    JMSMessageID=ID:itviacvlt0014-60763-1449158672950-4:5:-1:1:5
    JMSPriority=4
    JMSRedelivered=false
    JMSTimestamp=1449220220299
    MULE_MESSAGE_ID=ID:itviacvlt0014-60763-1449158672950-4:5:-1:1:5
    MULE_ORIGINATING_ENDPOINT=endpoint.jms.Consumer.sandy.proxy.MES.PRINTER.LABELS
  OUTBOUND scoped properties:
    Content-Type=text/plain;charset=UTF-8
    MULE_ENCODING=UTF-8
  SESSION scoped properties:

1 个答案:

答案 0 :(得分:0)

你使用的是什么样的mule版本?

我正在使用Anypoint Studio版本5.3.2并运行时间3.6.1,我可以将JMS队列名称视为JMSDestination值的一部分。

我的JMS接收器队列通配符

activemq.*.testing

当我打印日志时,我可以看到

INBOUND scoped properties:
JMSDeliveryMode=2
JMSDestination=queue://activemq.rk100.testing
JMSExpiration=0
JMSMessageID=ID:PC04899-51895-1449232247109-1:1:5:1:1
JMSPriority=4
JMSRedelivered=false
JMSTimestamp=1449232255753