JBoss 7.1.1. привязан к 2 IP-адресам

У меня есть серверный компьютер с двумя сетевыми картами, поэтому у него два IP-адреса. На серверном ПК работает JBoss 7.1.1. Я привязал JBoss к 0.0.0.0, потому что JBoss должен получать jms-сообщения с первого IP-адреса, но пользовательский интерфейс связывается с ним через второй IP-адрес.

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

Обмен сообщениями jms не работал (не удалось найти очередь), если я не установил адрес привязки jboss на первый IP-адрес

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

Но в это время пользователь не может связаться с сервером. Как я могу настроить JBoss, чтобы jms работал, и в то же время пользователь мог подключиться к серверу через второй IP-адрес с пользовательским интерфейсом?


person Imreking    schedule 19.11.2015    source источник


Ответы (2)


Первое решение - придерживаться специфической привязки.

-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, или записав IP-адрес непосредственно в XML-файл.

Второе решение - изменить адрес привязки для jgroups:

-b 0.0.0.0 -Djgroups.bind_addr=127.0.0.1

Это может помочь при использовании профиля ha. JGroups использует адрес привязки jboss (-b) в качестве интерфейса по умолчанию, но не работает с привязкой 0.0.0.0.

person puczo    schedule 23.11.2015

Сообщество 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

person Imreking    schedule 24.11.2015