如何通过 Java 代码(而不是 JMS API - 生存时间)在 WebSphere MQ(队列)中设置消息过期

How to set message expiry in WebSphere MQ (queue) by Java code ( not by JMS API - time to Live )

有人可以分享用于设置队列中消息过期的 WebSphere 代码吗?

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

但是这个JMS-API不适用于Java代码的WebSphere MQAPI。

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

MQMessage.write & MQMessage.writeUTF

问候 卡尔提克

class 到 MQMessage 的基数具有属性 MQMD.expiryint 以十分之一秒为单位。

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

使用 link 获取更多信息。这是 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);