【问题标题】:Get the Message Type in JMS - IBM MQ在 JMS 中获取消息类型 -​​ IBM MQ
【发布时间】:2014-11-12 22:05:46
【问题描述】:

我正在构建一个应用程序,它从 Message Queue 接收消息,处理它并将生成的响应发送到另一个队列。我已经成功构建了相同的。

但是,在发送消息之前,我必须从中获取相关 ID、消息 ID 和消息类型,这样我才能在生成的响应消息中设置这些。

我已使用以下代码获取 CorrelationID 和消息 ID。

               Message Requestmessage = ReceiveMessage(queueName);
               String correlationID = Requestmessage.getJMSCorrelationID();
               String messageID = Requestmessage.getJMSMessageID();

我将如何获得消息类型。据我了解,有 5 种类型的消息。 1. 短信 2.字节消息 3. 串流消息 4. 对象消息 5.地图留言 我只需要找出我的“Requestmessage”属于哪种类型。

提前致谢。

【问题讨论】:

  • 不能只用instanceof来检查类型吗?

标签: java jms ibm-mq


【解决方案1】:

找到了答案。我使用了 instanceof 关键字。

        if(Requestmessage instanceof TextMessage )
        {
             //
        }

        if(Requestmessage instanceof BytesMessage)
        {
            //
        }
        if(Requestmessage instanceof ObjectMessage)
        {
            //          
        }
        if(Requestmessage instanceof StreamMessage)
        {
            //
        }

【讨论】:

  • 伤心。但似乎是唯一的解决方案。 :-(
【解决方案2】:

geJMSType() 可能是您正在寻找的方法。您浏览过信息中心的 API 文档吗?
http://pic.dhe.ibm.com/infocenter/wmqv7/v7r5/index.jsp?topic=%2Fcom.ibm.mq.javadoc.doc%2FWMQJMSClasses%2Fcom%2Fibm%2Fjms%2FJMSMessage.html

【讨论】:

  • 试一试,你会发现这不是正确的答案...
猜你喜欢
  • 1970-01-01
  • 2011-01-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-02
相关资源
最近更新 更多