我正在使用queueSender.send(msg)将消息发送到目标q。这里q会话不是事务性的,而queueSender的传递模式是默认模式[我相信默认是PERSISTENT]。如果应用程序在q达到最大q深度时仍在发送消息,将会发生什么。应用程序性能有任何问题吗?处理这个问题的最佳方法是什么?
答案 0 :(得分:1)
更新:
如果在将消息放入完整队列时使用JMS,则会出现JMS异常:JMSWMQ2007。如果JMSException不为null,则获取LinkedException。 即。
catch (JMSException e)
{
System.err.println(e.getLocalizedMessage());
if (e != null)
System.err.println("getLinkedException()=" + e.getLinkedException());
}
错误消息应如下所示:
JMSWMQ2007:无法向目标“TEST.Q25”发送消息。 getLinkedException()= com.ibm.mq.MQException:JMSCMQ0001:WebSphere MQ 调用失败,编译'2'('MQCC_FAILED')原因'2053' ( 'MQRC_Q_FULL')。
答案 1 :(得分:0)
求maxdepth(最大队列深度)参数的值
display qlocal(<QUEUENAME>)
更改最大深度值 (0-999999999)
alter qlocal(<QUEUENAME>) maxdepth(<DEPTH>)