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 个不同的服务器上监听不同的主题:

问题是主题仅限于它们各自的服务器,这意味着如果我在 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