如何使用多个独立实例管理 WildFly/JBoss

Posted

技术标签:

【中文标题】如何使用多个独立实例管理 WildFly/JBoss【英文标题】:How to manage WildFly/JBoss with multiple Standalone instances 【发布时间】:2021-11-26 19:42:01 【问题描述】:

我想在同一 WildFly 24 服务器内的不同独立实例中运行多个 web 应用程序。 我已经创建了独立目录的多个副本并相应地更改了端口。 但我确实有几个问题。

    在我的第一个独立版本中,我定义了一个数据源。不幸的是,我在其他独立实例中找不到它。我所有的应用程序都需要这个数据源。 如何使用 jboss-cli 在正确的独立实例中创建数据源? 或者是否可以以对所有独立实例都可用的方式定义数据源?

    我为每个独立实例创建了自定义脚本,以使用正确的配置运行正确的实例。但是如何使用 jboss-cli.sh 连接到特定的独立实例并能够重新启动实例 (shutdown --restart=true)?

感谢您的帮助

【问题讨论】:

为什么应用在不同的实例中? 为什么不呢?应用程序有不同的目标和不同的要求。在不同的实例中,它们可以使用不同的 VM_opts 运行。例如,如果一个实例内存不足,其他实例仍然不受影响。 因为,正如您所说,它更难管理。如果他们共享一个数据源,那么他们并没有太大的不同。我已经用几十个 webapp 运行 Wildfly,没有任何问题。只是为了一点点利益似乎更难做到。你是正确的,内存仍然是共享的,但现在你必须在不同实例而不是一个大实例之间对机器上的内存进行分区。 这实际上是最佳实践。这就是 Glassfish 的工作原理。多年来,我一直在使用 4 个域运行 Payara,没有出现任何问题。在 4 个域之间分配内存是可管理的。 你可能想看看域模式docs.wildfly.org/25/Admin_Guide.html#Domain_Setup。尽管没有理由不在一个独立实例下运行多个应用程序。 【参考方案1】:

您需要连接到正确的独立实例,这意味着您需要指定要连接到的实例。

./jboss-cli.sh -c --controller=remote+http://$host:$instance-management-port

【讨论】:

感谢您的回复。此命令的本地变体是什么? ./jboss-cli.sh -c --controller=$instance-management-port。某处是否有 jboss-cli.sh 的手册页? 好的,我找到了docu here。

以上是关于如何使用多个独立实例管理 WildFly/JBoss的主要内容,如果未能解决你的问题,请参考以下文章

如何单击以在多个实例中相互独立地滑动打开的 div?

如何在Windows 7的多个窗口中显示SAS的单个实例

多个 WKWebView 实例的独立 webView didFinish WKNavigationDelegate 方法

Docker,独立的多个 Rails 实例

如何使用phpMyAdmin创建独立数据库用户

如何使用 OpenCV 和 SIFT 查找我的训练图像的多个实例