如何在JMstemplate中发送标头消息



我试图将消息标头插入AMQ。JMStem板中没有针对AMQ中设置标头的特定方法。当我这样设置时,它将保存在 StringProperty 中,而不是标题中。为了保存到标题如何传递数据

 amqTemplate.convertAndSend(goMQ, message,new MessagePostProcessor() {
      @Override
        public Message postProcessMessage(Message message) throws JMSException {
            message.setStringProperty("test1","testdata");
            message.setStringProperty("country","US");
          //setObjectProperty -- also set the string property 
            return message;
        }
    });

我需要将数据发送到标题中,客户端将为我的消息标题实现选择器。

您正在通过设置字符串属性正确地进行操作。现在,您的客户应该能够根据消息选择器接收消息。

例如,在JMS中,客户只会在以下设置中获得"我们"的消息:

           <activation-config>
                <activation-config-property>
                    <activation-config-property-name>destinationType</activation-config-property-name>
                    <activation-config-property-value>javax.jms.Queue</activation-config-property-value>
                </activation-config-property>
                <activation-config-property>
                    <activation-config-property-name>destinationJNDIName</activation-config-property-name>
                    <activation-config-property-value>jms/queueName</activation-config-property-value>
                </activation-config-property>
                <activation-config-property>
                    <activation-config-property-name>messageSelector</activation-config-property-name>
                    <activation-config-property-value>country='US'</activation-config-property-value>
                </activation-config-property>
            </activation-config>

相关内容

  • 没有找到相关文章

最新更新