Отправить сообщение в Wildfly 8.2 на сервере, отличном от отправителя

То, что я пытаюсь сделать, это отправить сообщение в очередь на Wildly 8.2, которая находится на другом сервере, чем тот, с которого я отправляю сообщение.

[QueueSend] --> [Wildfly 8.2]

Widlfy настраивается с помощью http-коннектора.

Код, который я использую, представляет собой небольшую модификацию этого: HelloWordJMSClient

Я использовал аргумент http-remoting://<IP>:8080, но безуспешно.

Очевидно, я не предоставил здесь много подробностей, поэтому ответ, который я ищу, - это необходимая базовая конфигурация (либо в коде, в отдельном файле и т. д.), чтобы позволить мне отправить сообщение из одного ящика в ящик Wildfly.

Спасибо за вашу помощь.

РЕДАКТИРОВАТЬ: Ошибка, которую я получаю при попытке отправить сообщение:

Attempting to acquire connection factory "jms/RemoteConnectionFactory"
NamingException encountered Failed to connect to any server. Servers tried: [http-remoting://192.168.12.3:8080 (java.net.ConnectException: Connection refused: no further information)]

person Waddas    schedule 28.04.2015    source источник
comment
Как вы пытаетесь установить соединение? в 1_? Похоже, что ответ на stackoverflow.com/questions/28350181/ может вам помочь.   -  person John Ament    schedule 28.04.2015
comment
@JohnAment Конфигурация Wildfly настраивается с использованием standalone-full.xml. QueueSend находится в другом ящике, и я хотел бы отправить сообщение в другой ящик, где находится Wildfly.   -  person Waddas    schedule 28.04.2015


Ответы (1)


Предположим, ваше приложение работает на сервере А, и вы хотите отправить сообщение на сервер Б.

На сервере A вы должны настроить подсистему обмена сообщениями с соединителем и фабрикой соединений следующим образом:

<connectors>
    <!-- Remote Connector "pointing" to node2's broker -->
    <netty-connector name="netty-B" socket-binding="B-jms-broker">
    </netty-connector>

    <in-vm-connector name="in-vm" server-id="0" />
</connectors>
<jms-connection-factories>
    <connection-factory name="BConnectionFactory">
        <connectors>
            <connector-ref connector-name="netty-B" />
        </connectors>
        <entries>
            <entry name="java:/BConnectionFactory" />
        </entries>
    </connection-factory>
</jms-connection-factories>

И в разделе привязки сокета вы должны добавить привязку исходящего сокета:

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

    <outbound-socket-binding name="B-jms-broker">
        <remote-destination host="${serverB.host:127.0.0.1}"
            port="${serverB.broker.port:5445}" />
    </outbound-socket-binding>

</socket-binding-group>

Затем на сервере B вы должны настроить акцептор в подсистеме обмена сообщениями следующим образом:

<acceptors>
    <netty-acceptor name="netty-B" socket-binding="B-jms-broker"/>
</acceptors>

И в разделе привязки сокета вы должны добавить привязку исходящего сокета:

<socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}">
    <socket-binding name="B-jms-broker" port="${serverB.broker.port:5445}"/>
</socket-binding-group>
person Martins    schedule 03.06.2015