看不到我显式设置的消息属性(Spring/JMS/MQ)

看不到我显式设置的消息属性(Spring/JMS/MQ),jms,websphere,ibm-mq,jmstemplate,spring-jms,Jms,Websphere,Ibm Mq,Jmstemplate,Spring Jms,两个独立的进程通过MQ上的JMS进行通信 编写器设置字符串属性: new MessageAction() { public void actOn(Message message) throws JMSException { logger.debug("Setting message property (GmmThreadId, CASHFLOW-1234)"); message.setStringProperty("GmmThreadId", "CASHF

两个独立的进程通过MQ上的JMS进行通信

编写器设置字符串属性:

new MessageAction() {
    public void actOn(Message message) throws JMSException {
        logger.debug("Setting message property (GmmThreadId, CASHFLOW-1234)");
        message.setStringProperty("GmmThreadId", "CASHFLOW-1234");
    }
});
执行此
MessageAction
,如日志所示:

设置消息属性(gmmthreadd,CASHFLOW-1234)


读取器使用消息选择器获取此消息。(使用Spring的JmsTemplate v1——我知道这是一个旧版本,但它已经融入了我们供应商的框架,我们不得不使用它。)

template.receiveSelected(队列,“GmmThreadId='CASHFLOW-1234'或GmmThreadId为NULL”)

队列上唯一的消息是那些日志显示编写器设置了消息属性的消息。在阅读器的日志中,我枚举了属性,并尝试记录GmmThreadId的值。它还显示属性GmmThreadId不存在

message property JMS_IBM_PutDate = 20111003
message property JMSXAppID = WebSphere MQ Client for Java
message property JMS_IBM_Format = MQSTR
message property JMS_IBM_PutApplType = 28
message property JMS_IBM_MsgType = 8
message property JMSXUserID = MUSR_MQADMIN
message property JMS_IBM_PutTime = 23551798
message property JMSXDeliveryCount = 2
message had GmmThreadId property of null
注意,如果我的消息选择器只有
“GmmThreadId='CASHFLOW-1234'
,则不会有任何内容出列

使用WebSphere MQ Explorer查看消息时,我找不到任何地方可以查看应用程序集消息属性。消息类型是MQSTR,如果这有什么区别的话

读写器应用程序都在WebSphereV6中运行


哪里出错了?

如果目标类型为“MQ”,则消息属性指示的将被抑制。对我来说,这是在WebSphereAppServer控制台中配置的。我将队列类型更改为“JMS”,并保留了消息属性。

请注意,中的工具
rfhutil.exe
将允许查看消息的各种扩展属性。3个月后,我完全忘记了这一点。我又来营救你了!