gpt4 book ai didi

deployment - 如何在远程机器未运行时为远程 JMS 队列初始化 ConnectionFactory?

转载 作者:行者123 更新时间:2023-12-04 20:25:36 26 4
gpt4 key购买 nike

使用 JBoss 4.0.5、JBossMQ 和 Spring 2.0.8,我试图将 Spring 配置为实例化依赖于远程 JMS 队列资源的 bean。我遇到的所有示例都依赖于使用 JNDI 来查找诸如远程 ConnectionFactory 对象之类的东西。

我的问题是当尝试启动一台将消息放入远程队列的机器时,如果远程机器没有启动,JNDI 查找就会失败,从而导致部署失败。有没有办法让 Spring 在不阻塞部署的其余部分的情况下继续尝试在后台查找此对象?

最佳答案

如果没有看到您的 spring 配置,很难确定,但假设您正在使用 Spring 的 JndiObjectFactoryBean做JNDI查找,然后你可以设置lookupOnStartup属性设置为 false,即使 JNDI 目标不存在,也允许上下文启动。 JNDI 解析将在第一次使用 ConnectionFactory 时完成。

然而,这只会将问题进一步转移到链上,因为如果其他组件试图获取 JMS Connection在启动时,您就会回到起点。您可以使用 lazy-init="true"属性在你的其他 bean 上以防止这种情况在部署时发生,但是很容易不小心在你的配置中放入一些强制一切初始化的东西。

关于deployment - 如何在远程机器未运行时为远程 JMS 队列初始化 ConnectionFactory?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1323489/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com