我有一台带有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通过用户界面访问服务器?
答案 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