2

我在部署我的应用程序时遇到以下问题。

它使用 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

也没有运气。

4

2 回答 2

1

使用 glassfish 默认 JMS 提供程序,这是不可能的。我终于设法通过将 JCA 适配器更改为

https://jmsjca.dev.java.net/

于 2010-03-27T10:10:19.963 回答
0

您是否可以考虑生成一个连接到 JMS 的单独线程,以便主应用程序继续运行而不会被阻塞。

于 2010-03-17T11:20:25.363 回答