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

时间:2016-03-30 11:38:25

标签: java ibm-mq

可以使用sombody共享WebSphere Code来设置队列中消息的过期。

我知道这是一个JMSAPI来设置消息的到期时间。\

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

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

MQMessage.write& MQMessage.writeUTF

问候 KARTHIK

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分: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);