【问题标题】:need to add header to message which will be sent to IBM MQ websphere需要将标头添加到将发送到 IBM MQ websphere 的消息中
【发布时间】:2018-01-20 10:59:32
【问题描述】:

我不确定如何将消息头添加到我们发送到 IBM MQ websphere 服务器的消息中。以下是我尝试使用但出现异常的代码:

创建与服务器的连接

        qMgr = new MQQueueManager(queueMgr, props);

        int openOptions = MQC.MQOO_INPUT_AS_Q_DEF
                | MQC.MQOO_OUTPUT |  MQC.MQOO_INQUIRE;
        queue = qMgr.accessQueue(queueName, openOptions);
        message = new MQMessage();

发送消息

public String sendMessage(){

      MQPutMessageOptions pmo = new MQPutMessageOptions();


        message.format                  = MQC.MQFMT_STRING;
        message.feedback                = MQC.MQFB_NONE;
        message.messageType             = MQC.MQMT_DATAGRAM;

        message.messageId     = MQC.MQMI_NONE;
        message.correlationId = MQC.MQCI_NONE;

            message.writeString(sMsg);
            queue.put(message,pmo);
}

我尝试使用以下代码添加标题

((TextMessage)message).setStringProperty(header_name,header_value);

但我得到了例外java.lang.ClassCastException: com.ibm.mq.MQMessage cannot be cast to javax.jms.TextMessage

我被困在这里了。如果这个问题解决了,那么这个谜题就完成了。

【问题讨论】:

    标签: java jms ibm-mq


    【解决方案1】:

    为什么要将 Java SE MQ API 调用与 JMS 调用混合使用?

    从手册中,在用于 Java 的 WebSphere MQ 类的“处理消息属性”部分中:

    处理消息句柄的函数调用在 用于 Java 的 WebSphere MQ 类。设置、返回或删除消息 处理属性,使用MQMessage类的方法。

    所以,你为什么不干脆做:

    MQPutMessageOptions pmo = new MQPutMessageOptions();
    pmo.options = MQC.MQPMO_FAIL_IF_QUIESCING | MQC.MQPMO_NO_SYNCPOINT;
    
    message.format        = MQC.MQFMT_STRING;
    message.feedback      = MQC.MQFB_NONE;
    message.messageType   = MQC.MQMT_DATAGRAM;
    message.messageId     = MQC.MQMI_NONE;
    message.correlationId = MQC.MQCI_NONE;
    
    message.setStringProperty(header_name,header_value)
    
    message.writeString(sMsg);
    queue.put(message,pmo);
    

    最后一点,请不要回复说您不能这样做,因为您使用的是 WMQ v6。 WMQ v6 几乎在 2 年前就停止了支持,因此您必须升级到 WMQ v7.*(最好升级到 WMQ v7.5)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-03-20
      • 1970-01-01
      • 2012-06-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-31
      • 1970-01-01
      相关资源
      最近更新 更多