Enable/disable 加载 MDB 或如果 MDB 无法连接到服务器则忽略部署错误
Enable/disable loading of MDBs OR ignore deployment error if MDB cannot connect to the server
[环境:javaee 6,jms 1.1,wildfly 10,wmq 9]
我必须设置 9 个消息驱动的 Bean,它们在 3 个不同的服务器上监听不同的主题:
- 1 个 DEV 主题
- 4 个在产品中
- TEST 中 4 个(PROD 中每个一个)
问题是主题仅限于它们各自的服务器,这意味着如果我在 DEV 中部署 TEST 和 PROD bean,我会收到连接错误并且部署失败。如果我从 TEST 等部署 DEV 和 PROD bean,也是一样的。
它仅在我 'comment out' 属于其他区域的 bean 时才有效。这显然不是解决方案,因为必须将相同的代码部署到所有服务器。
所以我拼命想找到一种方法以某种方式从外部 enable/disable bean,具体取决于应用程序部署在哪个服务器上。
... 或者如果 bean 无法连接则以某种方式忽略,因此部署仍然成功并且不会影响相应服务器的侦听器。
也欢迎任何其他关于如何解决这个问题的想法。
提前致谢!
我建议使用 MDB 的 jboss-ejb.xml
部署描述符中的 active
元素 或 MDB 本身的 @DeliveryActive
注释。如果您使用后者,则可以在必要时通过 CLI 以管理方式激活 MDB。有关详细信息,请参阅 the documentation。
[环境:javaee 6,jms 1.1,wildfly 10,wmq 9]
我必须设置 9 个消息驱动的 Bean,它们在 3 个不同的服务器上监听不同的主题:
- 1 个 DEV 主题
- 4 个在产品中
- TEST 中 4 个(PROD 中每个一个)
问题是主题仅限于它们各自的服务器,这意味着如果我在 DEV 中部署 TEST 和 PROD bean,我会收到连接错误并且部署失败。如果我从 TEST 等部署 DEV 和 PROD bean,也是一样的。 它仅在我 'comment out' 属于其他区域的 bean 时才有效。这显然不是解决方案,因为必须将相同的代码部署到所有服务器。
所以我拼命想找到一种方法以某种方式从外部 enable/disable bean,具体取决于应用程序部署在哪个服务器上。
... 或者如果 bean 无法连接则以某种方式忽略,因此部署仍然成功并且不会影响相应服务器的侦听器。
也欢迎任何其他关于如何解决这个问题的想法。
提前致谢!
我建议使用 MDB 的 jboss-ejb.xml
部署描述符中的 active
元素 或 MDB 本身的 @DeliveryActive
注释。如果您使用后者,则可以在必要时通过 CLI 以管理方式激活 MDB。有关详细信息,请参阅 the documentation。