作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我向队列注入(inject)消息时,出现以下异常,每次注入(inject)第 512 条消息时都会发生这种情况,之前的 511 条消息都注入(inject)得很好:
Exception in thread "main" javax.jms.ResourceAllocationException: MQJMS2008: failed to open MQ queue 'xxxx.xx.xxxxx.xxxx'.
at com.ibm.msg.client.wmq.v6.jms.internal.MQQueueServices.getQueueOpenException(MQQueueServices.java:907)
at com.ibm.msg.client.wmq.v6.jms.internal.MQQueueServices.getOutputQueue(MQQueueServices.java:726)
at com.ibm.msg.client.wmq.v6.jms.internal.JMSServicesMgr.getOutputQueue(JMSServicesMgr.java:210)
at com.ibm.msg.client.wmq.v6.jms.internal.MQSession.createQProducer(MQSession.java:3173)
at com.ibm.msg.client.wmq.v6.jms.internal.MQSession.createProducer(MQSession.java:2896)
at com.ibm.msg.client.wmq.v6.jms.internal.MQSession.createProducer(MQSession.java:2953)
at com.ibm.msg.client.jms.internal.JmsSessionImpl.createProducer(JmsSessionImpl.java:1302)
at com.ibm.msg.client.jms.internal.JmsQueueSessionImpl.createSender(JmsQueueSessionImpl.java:131)
at com.ibm.mq.jms.MQQueueSession.createSender(MQQueueSession.java:148)
at com.ibm.mq.jms.MQQueueSession.createProducer(MQQueueSession.java:249)
at com.connect.MQAction.injectMessage(MQAction.java:45)
at pricecheck.Main.main(Main.java:73)
这个错误的原因是什么?
我每次都使用以下方法注入(inject)消息:
public void injectMessage(String content) throws JMSException, IOException {
MessageProducer producer = queueSession.createProducer(queue);
Message msg = queueSession.createTextMessage(content);
producer.send(msg);
}
是不是因为我每次都创建一个MessageProducer?
最佳答案
为了确定我们需要“原因”链接异常。但是,您很可能会遇到某种资源限制,因为每次调用该函数时都会创建一个 MessageProducer,但永远不会关闭它,因此您会发生主要资源泄漏!
将“Producer.close()”添加到函数的末尾,最好是在finally block 中,或者更好的是创建生产者一次,然后在每次调用函数时使用它。创建 MessageProducer 是一项昂贵的操作,因此请尽可能少地进行操作以获得最佳性能。
关于javax.jms.ResourceAllocationException : MQJMS2008 error when injecting 512th message,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40261783/
我添加了com.ibm.mqjms我的 pom.xml 中的 Maven 依赖项: com.ibm com.ibm.mqjms 5.3.07 它给了我: The following arti
我是一名优秀的程序员,十分优秀!