现在,我需要在SINGLE服务器上同时运行三个实例--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
我可以遵循任何简单的教程吗? 我看到这个问题被多次询问,但是他们似乎没有一个令人满意的答案....我觉得有帮助。这是一种低级开发人员不应该单独在家中尝试的黑色艺术吗?
SGB
答案 0 :(得分:7)
要在linux上运行多个jboss实例,在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。
答案 1 :(得分:5)
上述评论略有变化。
bash $ ./standalone.sh -Djboss.socket.binding.port-offset = 10000
这将以 18080
启动服务器端口默认端口 8080 + 10000将提供18080。
答案 2 :(得分:3)
在启动standalone.sh时更容易添加“-Djboss.socket.binding.port-offset = 1000”,例如:
./standalone.sh -Djboss.socket.binding.port-offset=1000
这将在端口+1000上启动jboss到标准端口(因此8080将变为18080)。无需更改xml文件。
答案 3 :(得分:0)
如果您在Intellij上使用Jboss,您希望将偏移量添加到服务器配置中,只需转到Run - &gt;编辑配置: