如何为不同的 WildFly 实例设置 JBOSS_BASE_DIR?

How to set JBOSS_BASE_DIR for different WildFly instances?

我的设置

我目前 运行在 Linux 机器上安装 2 个 WildFly 9.0.0.CR1 实例。

我有设置一切的安装脚本。除了现有的 standalone 文件夹外,它还会创建一个 sim_standalone 文件夹,并复制到 sim-standalone-full.xml 文件中(此文件将端口号偏移 100)。

它们都作为服务安装在 /etc/init.d/wildfly/etc/init.d/sim-wildfly 下,sim-wildfly 被调整为使用不同的配置文件(它指向 sim_standalone 文件夹和使用 sim-standalone-full.xml 文件而不是 standalonestandalone-full.xml).


我的问题

我现在遇到的唯一问题是 wildflysim-wildfly 都在使用 JBOSS_HOME/bin/standalone.sh 文件到 运行。这会导致问题,因为 JBOSS_BASE_DIR 指向 standalone 文件夹,导致日志重叠并从该文件夹读取两个实例的部署。

我目前的解决方案是创建另一个standalone.sh文件并将JBOSS_BASE_DIR更改为sim_standalone文件夹;但是,我想知道是否有一种方法可以在我现有的一个文件中设置 JBOSS_BASE_DIR 而无需创建另一个 standalone.sh 文件。我尝试在 sim-wildfly.conf 中设置它,因为那里有许多其他变量,但那没有用。

如有任何帮助,我们将不胜感激!


编辑:所以我的 /etc/init.d/sim-wildfly 脚本 运行s standalone.sh。它通过设置来设置脚本:

JBOSS_SCRIPT=$JBOSS_HOME/bin/standalone.sh

我正在尝试将其设置为:

JBOSS_SCRIPT=$JBOSS_HOME/bin/standalone.sh -Djboss.server.base.dir=$JBOSS_HOME/sim_standalone

...但这似乎不起作用。当我 运行 systemctl status sim-wildfly 时它说 Djboss.server.base.dir=$JBOSS_HOME/sim_standalone 不是文件或目录。我也尝试用引号引起来。我错过了什么?

设置jboss.server.base.dir属性,例如通过调用

standalone.sh -Djboss.server.base.dir=/opt/server1

linux服务通过/etc/default/wildflyX配置(X表示可能有多个),通过/etc/init执行。d/wildfly*

然后在配置文件中设置:/etc/default/wildflyX

JBOSS_OPTS="--debug 38787 -Djboss.server.base.dir=$JBOSS_HOME/standalone-internet-booking" 

--debug PORT是如果你使用调试端口(记得在/bin/standalone.conf中禁用,否则它会覆盖)。

不要将 JBOSS_MODE=standalone 模式重命名为 standaloneX,因为 init.d 脚本将 运行 域设置,如果它不是完全独立的话。