我在部署我的应用程序时遇到以下问题。
它使用 JMS 和远程 openMQ 在服务器之间进行通信。问题是连接不是完全可靠的,所以它可以打开或关闭。为了重新连接,我设置了 jms reconnect glassfish 属性,以便在连接丢失时重新连接。当我尝试部署应用程序但没有连接时出现问题。看起来它一直在重试连接,但应用程序在连接可用之前不会完成部署。
是否可以以任何方式配置它,即使没有连接,部署也会继续,并不断重试,直到有可用的连接?
非常感谢。
编辑:我试图在不同的线程中运行 MDB 初始化。我都试过了
我正在尝试通过两种方式更改 sun-ejb.jar.xml 来为 MDB 分配不同的线程
<bean-pool>
<steady-pool-size>1</steady-pool-size>
<resize-quantity>1</resize-quantity>
<max-pool-size>1</max-pool-size>
<pool-idle-timeout-in-seconds>60</pool-idle-timeout-in-seconds>
</bean-pool>
还有
<use-thread-pool-id>a-new-thread-pool</use-thread-pool-id>
但是我运气不好。看起来它正在等待该线程结束,因为它看起来正在获取新线程,但它等待该线程结束以完成启动应用程序,因此,在我的情况下,应用程序未正确部署。
编辑 2 我也尝试在不同的线程中运行 jms 服务......
asadmin create-resource-adapter-config --threadpools a-new-thread-pool jmsra
也没有运气。
最佳答案
对于 glassfish 默认的 JMS 提供程序,这是不可能的。我终于设法通过将 JCA 适配器更改为
关于java - 带有 Java 消息队列的消息驱动 Bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2453313/