【问题标题】:How to set message expiry in WebSphere MQ (queue) by Java code ( not by JMS API - time to Live )如何通过 Java 代码(而不是通过 JMS API - 生存时间)在 WebSphere MQ(队列)中设置消息到期
【发布时间】:2020-07-30 04:21:29
【问题描述】:

可以分享用于设置队列中消息过期的 WebSphere 代码。

我知道有一个 JMSAPI 可以设置消息的过期时间。\

但是这个 JMS-API 不适用于 Java Code 的 WebSphere MQ API。

我正在使用以下代码来生成消息。

MQMessage.write & MQMessage.writeUTF

问候 卡提克

【问题讨论】:

    标签: java ibm-mq


    【解决方案1】:

    使用链接了解更多信息。以下是 MQ/Java 应用程序的基础:

    MQPutMessageOptions pmo = new MQPutMessageOptions();
    pmo.options = CMQC.MQPMO_FAIL_IF_QUIESCING;
    
    MQMessage sendmsg = new MQMessage();
    sendmsg.messageId    = CMQC.MQMI_NONE;
    sendmsg.correlationId= CMQC.MQCI_NONE;
    sendmsg.format       = CMQC.MQFMT_STRING;
    sendmsg.messageType  = CMQC.MQMT_DATAGRAM;
    sendmsg.expiry       = timeToLive; // expiry is in tenths of a second
    sendmsg.write(msg.getBytes());
    
    outQ(sendmsg, pmo);
    

    【讨论】:

      【解决方案2】:

      MQMessage 的基类有一个属性 MQMD.expiry,int 以十分之一秒为单位。

      来源:https://www.ibm.com/support/knowledgecenter/SSFKSJ_7.5.0/com.ibm.mq.javadoc.doc/WMQJavaClasses/com/ibm/mq/MQMD.html%23expiry

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-08-04
        • 2013-12-27
        • 1970-01-01
        • 1970-01-01
        • 2012-02-08
        • 2015-02-02
        • 2012-07-31
        • 1970-01-01
        相关资源
        最近更新 更多