JBoss 7.1.1。绑定到2个ip地址

时间:2015-11-19 12:08:02

标签: jboss jboss7.x hornetq

我有一台带有2个以太网卡的服务器PC,因此它有两个IP地址。 JBoss 7.1.1正在服务器PC上运行。 我将JBoss绑定到0.0.0.0,因为JBoss必须从第一个IP地址接收jms消息,但用户界面通过第二个IP地址与它通信。

set "JAVA_OPTS=%JAVA_OPTS% -Djboss.bind.address=0.0.0.0"

除非我将jboss绑定地址设置为第一个IP,否则jms消息传递无法正常工作(无法找到队列)

set "JAVA_OPTS=%JAVA_OPTS% -Djboss.bind.address=192.168.89.253"

但此时用户无法与服务器通信。如何配置JBoss以使jms工作,同时用户可以通过第二个ip通过用户界面访问服务器?

2 个答案:

答案 0 :(得分:0)

第一个解决方案是坚持特定的绑定

-Djboss.bind.address=192.168.89.253

并更改standalone.xml文件中的公共接口:

<interface name="public">
    <inet-address value="${jboss.bind.address:127.0.0.1}"/>
</interface>

您可以通过引入新的系统属性来实现这一目的,例如:jboss.bind.address.public或直接在XML文件中写入IP地址。

第二个解决方案是更改jgroups的绑定地址:

-b 0.0.0.0 -Djgroups.bind_addr=127.0.0.1

使用ha配置文件时可能有所帮助。 JGroups使用jboss绑定地址(-b)作为默认接口,但不适用于0.0.0.0绑定。

答案 1 :(得分:0)

jBoss社区给了我答案。我必须定义一个新的界面

<interface name="my-interface">
        <inet-address value="xxx.xxx.xxx.xxx"/>
</interface>

消息传递使用此界面:

<socket-binding name="messaging" port="5445" interface="my-interface" />

jboss.bind.address仍为0.0.0.0

-Djboss.bind.address=0.0.0.0

源: https://developer.jboss.org/thread/266416