在发送者不同的服务器上向Wildfly 8.2发送消息

时间:2015-04-28 12:52:17

标签: jboss jms wildfly wildfly-8

我要做的是向Wildly 8.2上的Queue发送一条消息,该消息位于与我发送消息的服务器不同的服务器上。

[QueueSend] - > [Wildfly 8.2]

使用http连接器设置Widlfy。

我正在使用的代码稍作修改:HelloWordJMSClient

我使用了争论apache Cassandra,但没有运气。

显然我没有提供太多细节,所以我正在寻找的答案是所需的基本配置(在代码,独立文件等),以允许我从一个框发送消息到Wildfly框。

感谢您的帮助。

编辑:我在尝试发送邮件时遇到的错误是:

http-remoting://<IP>:8080

1 个答案:

答案 0 :(得分:0)

让我们假设你的应用程序在服务器A上运行,并且你想发送一个 消息到服务器B。

在服务器A上,您必须使用连接器和连接facotry配置消息传递子系统,如下所示:

<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>

在套接字绑定部分中,您必须添加一个outbout套接字绑定:

<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>

在套接字绑定部分中,您必须添加一个outbout套接字绑定:

<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>