【问题标题】:WSO2 ESB and JMS or AMQP custom propertiesWSO2 ESB 和 JMS 或 AMQP 自定义属性
【发布时间】:2015-03-27 14:10:21
【问题描述】:

是否可以从入站 JMS 和/或 AMQP 消息中读取自定义标头/属性值?这是如何实现的?我们目前在 Apache Camel 中使用标头进行路由,所以我需要对 WSO2 ESB 做同样的事情。谢谢。

【问题讨论】:

    标签: routing jms wso2 amqp


    【解决方案1】:

    完成@Jean-Michel 的回答 您必须使用 CAMEL_CASe 作为标题

    <log level="custom">
        <property name="jms_timestamp" expression="get-property('transport', 'JMS_TIMESTAMP')"/>
        <property name="jms_message_id" expression="get-property('transport', 'JMS_MESSAGE_ID')"/>
        <property name="jms_destination" expression="get-property('transport', 'JMS_DESTINATION')"/>
        <property name="jms_expiration" expression="get-property('transport', 'JMS_EXPIRATION')"/>
        <property name="jms_delivery_mode" expression="get-property('transport', 'JMS_DELIVERY_MODE')"/>
    </log>
    

    结果:

    jms_timestamp = 1637588070662, jms_message_id = ID:AMQP_NO_PREFIX:283e7b13cbaa4ad0b8bccb2c525b6705, jms_destination = testwso2/Subscriptions/mySubscription, jms_expiration = 1638797670662, jms_delivery_mode = 1
    

    【讨论】:

      【解决方案2】:

      使用此表达式来读取您的 jms 标头:

      get-property('transport','YOUR_JMS_HEADER_NAME')
      

      样本:

      <log level="custom">            
          <property name="my jms property" expression="get-property('transport', 'YOUR_JMS_HEADER_NAME')"/>            
      </log>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-06-24
        • 1970-01-01
        • 1970-01-01
        • 2015-03-23
        • 2012-09-09
        • 2013-06-08
        • 1970-01-01
        相关资源
        最近更新 更多