【问题标题】:How can i change JMS_IBM_MQMD_Format: MQHRF2 to JMS_IBM_MQMD_Format: MQSTR?如何将 JMS_IBM_MQMD_Format: MQHRF2 更改为 JMS_IBM_MQMD_Format: MQSTR?
【发布时间】:2019-06-22 05:58:17
【问题描述】:

如何在 WebsphereMQ 消息中将 JMS_IBM_MQMD_Format: MQHRF2 更改为 JMS_IBM_MQMD_Format: MQSTR

我需要 JMS_IBM_MQMD_Format: MQSTR

我得到如下输出:

JMSMessage class: jms_text
  JMSType:          null
  JMSDeliveryMode:  2
  JMSExpiration:    0
  JMSPriority:      4
  JMSMessageID:     ID:010203040506070801020304050607080102030405060708
  JMSTimestamp:     1365655482749
  JMSCorrelationID: null
  JMSDestination:   queue:///MYQUEUE?mdMessageContext=1&mdWriteEnabled=true
  JMSReplyTo:       null
  JMSRedelivered:   false
    JMSXAppID: WebSphere MQ Client for Java
    JMSXDeliveryCount: 1
    JMSXUserID:             
    JMS_IBM_Character_Set: UTF-8
    JMS_IBM_Encoding: 273
    JMS_IBM_Format: MQSTR   
    JMS_IBM_MQMD_AccountingToken: 0000000000000000000000000000000000000000000000000000000000000000
    JMS_IBM_MQMD_ApplIdentityData:                                 
    JMS_IBM_MQMD_ApplOriginData:     
    JMS_IBM_MQMD_BackoutCount: 0
    JMS_IBM_MQMD_CodedCharSetId: 1208
    JMS_IBM_MQMD_CorrelId: 000000000000000000000000000000000000000000000000
    JMS_IBM_MQMD_Encoding: 273
    JMS_IBM_MQMD_Expiry: -1
    JMS_IBM_MQMD_Feedback: 0
    JMS_IBM_MQMD_Format: MQHRF2  
    JMS_IBM_MQMD_GroupId: 000000000000000000000000000000000000000000000000
    JMS_IBM_MQMD_MsgFlags: 0
    JMS_IBM_MQMD_MsgId: 010203040506070801020304050607080102030405060708
    JMS_IBM_MQMD_MsgSeqNumber: 1
    JMS_IBM_MQMD_MsgType: 8
    JMS_IBM_MQMD_Offset: 0
    JMS_IBM_MQMD_OriginalLength: -1
    JMS_IBM_MQMD_Persistence: 1
    JMS_IBM_MQMD_Priority: 4
    JMS_IBM_MQMD_PutApplName: WebSphere MQ Client for Java
    JMS_IBM_MQMD_PutApplType: 28
    JMS_IBM_MQMD_PutDate: 20130411
    JMS_IBM_MQMD_PutTime: 04444315
    JMS_IBM_MQMD_ReplyToQ:                                                 
    JMS_IBM_MQMD_ReplyToQMgr: MYQM                                            
    JMS_IBM_MQMD_Report: 0
    JMS_IBM_MQMD_UserIdentifier:             
    JMS_IBM_MsgType: 8
    JMS_IBM_PutApplType: 28
    JMS_IBM_PutDate: 20130411
    JMS_IBM_PutTime: 04444315

SimpleMQMDWrite:你今天的幸运数字是 733

【问题讨论】:

    标签: java jms ibm-mq


    【解决方案1】:
    Destination producerDestination = producerSession.createQueue(
        messagingQueueDetail.getRequestQueueName()
    );
    
    ((MQQueue) producerDestination).setTargetClient(JMSC.MQJMS_CLIENT_NONJMS_MQ);
    
    // MessageProducer is used for sending messages
    producer = producerSession.createProducer(producerDestination);
    

    【讨论】:

    • 您能否解释一下代码的作用和/或为什么它可以解决问题。
    【解决方案2】:

    在您的MessageCreator 实现(实现MessageCreator 的类)中添加一个setJMSType,其值为"MQSTR"

    public TextMessage createMessage(Session session) throws JMSException {
        TextMessage messageObject = session.createTextMessage();
        messageObject.setText(message);
        messageObject.setJMSType("MQSTR");
        return messageObject;
    }
    

    【讨论】:

    • 你实际测试过这个吗?
    猜你喜欢
    • 2016-11-14
    • 1970-01-01
    • 2013-10-13
    • 1970-01-01
    • 2010-12-30
    • 2014-11-23
    • 2018-11-03
    • 2010-11-26
    • 2012-07-01
    相关资源
    最近更新 更多