6
  1. 我下载了 jboss tar 文件。
  2. 复制到我的测试服务器。
  3. 解压并安装在 $HOME/jboss/

现在,我需要在单个服务器上同时运行三个实例——Dev、QA、UAT。

域模式适合这种情况吗?我的结论是,它不是。该域模式是跨多个服务器管理 JVM。例如,如果我希望 QA 在 server1 和 server2 中。那是对的吗?

但是,我不需要跨多个服务器管理 JBOSS 实例。

鉴于我应该使用独立模式吗?如果是这样,我将如何同时运行三个 JBOSS 实例(Dev、QA 和 UAT)。

我尝试了这里给出的说明(方法 2):https ://community.jboss.org/wiki/MultipleInstancesOfJBossAS7OnTheSameMachine

但我不断收到这样的错误:

MSC00001: Failed to start service jboss.serverManagement.controller.management.http: org.jboss.msc.service.StartException in service jboss.serverManagement.controller.management.http: Address already in use /127.0.0.1:9990

有没有我可以遵循的简单教程。我看到这个问题被问了很多次,但似乎都没有一个令人满意的答案……我觉得很有帮助。这是不是底层开发者不应该独自在家中尝试的黑魔法?

新加坡国标

4

4 回答 4

8

为了让多个 jboss 实例在 linux 上运行,在 JBOSS_HOME/standalone/configuration/standalone.xml 中,我更改了一行:

<socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}">

到以下...

<socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:100}">

注意:我遇到问题的原因是因为我按照 jboss 安装说明在 .bash_profile 中设置了 JBOSS_HOME。我需要删除它,这样两个实例就不会使用相同的 JBOSS_HOME。

于 2013-02-25T18:07:44.497 回答
5

上述评论略有变化。

bash$ ./standalone.sh -Djboss.socket.binding.port-offset= 10000

这会将服务器端口启动为18080。

默认端口是8080 + 10000 将给出 18080。

于 2013-11-20T10:13:44.253 回答
3

在启动standalone.sh 时添加“-Djboss.socket.binding.port-offset=1000”更容易,例如:

./standalone.sh -Djboss.socket.binding.port-offset=1000

这将在端口 +1000 上启动 jboss 到标准端口(因此 8080 将变为 18080)。无需更改 xml 文件。

于 2013-06-17T13:51:09.053 回答
0

如果您在 Intellij 上使用 Jboss,您想将偏移量添加到服务器配置中,只需转到运行 --> 编辑配置:

在此处输入图像描述

于 2015-02-24T21:35:12.297 回答