使用 wildfly CLI java api 添加 wildfly jms 子系统,而无需重新加载服务器



因此,我们需要在启动服务器时在 wildfly 中配置(将 jms 扩展/子系统/配置添加到独立.xml)JMS 子系统,如果它尚未配置并且需要自动发生。我们有一个用java编写的应用程序,我们选择使用wildfly的cli java api为jms子系统提供,并在我们的应用程序开始部署时执行。问题是我们需要配置 jms 子系统并在同一应用程序中使用它。

问题是,当我们使用wildfly的cli java API独立添加所需的配置时.xml服务器需要重新加载,但我们无法重新加载它,因为我们的应用程序已经在部署,它尝试使用定义的队列并失败,因为...好吧,子系统尚未激活。下次服务器重新启动时一切正常,但正如您在生产环境中可以猜到的那样,这是不可接受的。有什么解决方案吗?我尝试在创建 jms 子系统的批处理末尾添加一个 reload cli 命令,它开始重新加载服务器,但部署没有停止,异常开始左右飞行。

此外,在应用程序部署时从应用程序重新加载服务器的整个想法对我来说似乎有点错误。

提前谢谢。

溶液: 最终的解决方案很简单,我们只需要在添加 jms 子系统的批处理操作中添加一个重新加载步骤。问题是我们有一组异步操作,这些操作在部署应用程序时全部触发,所以我只需要确保它们都没有启动,直到我可以检查消息传递子系统并在必要时重新加载野蝇。这样我就不会强行中断任何异步任务。

您需要选择适当的配置文件,即仅在启动服务器时完全或完全ha。如果这样做,则无需添加 JMS 子系统。

如果您只想使用您的方法,请在 中添加队列的依赖关系 应用。除非队列绑定到服务器,否则它不会开始部署。

我们在添加新子系统时需要执行重新加载操作,如果您不想执行重新加载操作,那么我建议您以"仅限管理员"模式启动服务器。当我们以"仅限管理员"模式启动服务器时,它只打开管理端口(9990/9999)。通过 CLI 命令重新加载服务器实例配置消息传递子系统。希望对您有所帮助..!!

相关内容

  • 没有找到相关文章

最新更新