ActiveMQ 托管连接 (EAP/AMQ) 是否支持自动关闭?

Does ActiveMQManagedConnection (EAP/AMQ) support Autoclosable?

我正在使用:

我可以使用“try-with-resources”吗?

我不确定并且认为不会...因为 ActiveMQManagedConnection 5.11.0(我不知道 redhat 发生了什么变化)没有实现 Autoclosable。实施的 javax.resource.spi.ManagedConnection

也没有

https://github.com/apache/activemq/blob/activemq-5.11.0/activemq-ra/src/main/java/org/apache/activemq/ra/ActiveMQManagedConnection.java#L53

我还没有找到这个EAP ConnectionProxy 的来源。也许它有自动关闭功能。

如果您在 OpenShift(基于 ActiveMQ 5.x)上使用 Red Hat AMQ 6,那么您将卡在 JMS 1.1 上。 javax.jms.Connection in JMS 1.1 doesn't extend java.lang.AutoCloseable. Red Hat AMQ 7 (based on ActiveMQ Artemis) implements JMS 2 and the javax.jms.Connection in JMS 2 扩展 java.lang.AutoCloseable.

Red Hat JBoss EAP 7.2.3 随附 ActiveMQ Artemis,因此如果您正在使用它(连同它的 JCA 资源适配器),那么您可以使用 try-with-resources。但是,如果您配置了 JCA 资源适配器以与基于 ActiveMQ 的代理集成 5.x,那么您不能。