【发布时间】:2019-03-21 19:36:05
【问题描述】:
我想我会在这里提出一个问题,以防有人有想法。我的 MQ 管理员创建了一个新队列和别名队列供我写入消息。我有一个应用程序写入队列,另一个应用程序正在侦听别名队列。我正在使用 spring jmsTemplate 写入我的队列。我们看到消息被写入队列但随后立即被丢弃的行为。我们禁用了获取并查看是否以某种方式设置了过期参数,我使用 jms 模板来设置过期设置 (timeToLive)。我将到期时间设置为 10 分钟,但我的消息仍然会立即消失。我的代码和设置的 sn-p 如下。
public void publish(ModifyRequestType response) {
jmsTemplate.setExplicitQosEnabled(true);
jmsTemplate.setTimeToLive(600000);
jmsTemplate.send(CM_QUEUE_NAME, new MessageCreator() {
public Message createMessage(Session session) throws JMSException {
String responseXML = null;
try {
responseXML myJAXBContext.getInstance().toXML(response);
log.info(responseXML);
TextMessage message = session.createTextMessage(responseXML);
return message;
} catch (myException e) {
e.printStackTrace();
log.info(responseXML);
return null;
}
}
});
}
///////////////我的设置
QUEUE.PUB_SUB_DOMAIN=false
QUEUE.SUBSCRIPTION_DURABLE=false
QUEUE.CLONE_SUPPORT=0
QUEUE.SHARE_CONV_ALLOWED=1
QUEUE.MQ_PROVIDER_VERSION=6
【问题讨论】:
标签: websphere ibm-mq message mq