Изпратете съобщение до Wildfly 8.2 на сървър, различен от подателя

Това, което се опитвам да направя, е да изпратя съобщение до опашка на Wildly 8.2, която се намира на различен сървър от този, от който изпращам съобщението.

[Изпращане на опашка] --> [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
Как се опитвате да установите връзката? в standalone.xml? Изглежда като отговора на 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 и искате да изпратите съобщение до сървър B.

На сървър 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