问题标签 [jmscontext]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
311 浏览

java - 使用 JMSContext 的 TomEE Embedded ActiveMQ:在配置的阻塞超时(5000 [ms])内没有可用的 ManagedConnections

我的应用程序使用嵌入了 TomEE Plus-8.0.0-M1 的 ActiveMQ。

无论是使用 resources.xml 明确定义的 javax.jms.ConnectionFactory 还是让 TomEE 动态生成一个,池连接用完的行为都是相同的。

连接超时的不同设置似乎没有效果:

如果 ExampleSessionBean.sendMessage() 被连续调用 11 次,Abandoned Connection 警告将记录在消息 1-10 上。在消息 #11 上,抛出 JMSRuntimeException: No Managed Connections Available。

然后,如果我等待几分钟,JMSContext 生产者就可以再次发送。

我的第一个想法是 JMSContext 中的底层连接需要关闭

但来自接口 JMSContext

“如果 JMSContext 是容器管理(注入),则不得使用此方法。”

这里需要哪些程序或配置更改?

谢谢你,泰德小号

资源.xml

ExampleSessionBean.java

警告 - 消息 1-10:(请原谅格式化。由于某种原因,SE 格式化程序不会格式化此文本块)

开始警告文本

警告:事务完成,但连接仍有关联的句柄:ManagedConnectionInfo: ... org.apache.openejb.resource.activemq.jms2.cdi.JMS2CDIExtension$InternalJMSContext.createProducer(JMS2CDIExtension.java:370), com.myorg.jms。 ExampleSessionBean.sendMessage(ExampleSessionBean.java:46),


...

结束警告文本

消息 #11 异常

更新:此行为已被复制并添加到TomEE 问题跟踪器中。

0 投票
2 回答
395 浏览

jms - 在 IBM MQ 中重用 JMSContext

我正在尝试重用 a以使用与此IBM MQ 教程JMSContext中所示相同的上下文发送多条消息。

假设连接在某个时候断开。上下文会自动恢复还是我需要再次重建上下文?


更新 -

这是当前连接工厂的构建方式: