Search code examples
queuejboss6.xhornetq

jboss eap 6.3 core bridge between two clusters


I am trying to configure a core bridge between two jboss eap 6.3 applications clusters A and B. They are on the same subnet.

My Bridge Config on a node in Cluster A

<bridges>
    <bridge name="the-bridge">
        <queue-name>jms.queue.X</queue-name>
        <forwarding-address>jms.queue.XX</forwarding-address>
        <discovery-group-ref discovery-group-name="dg-group2"/>
        <user>user</user>
        <password>pass</password>
    </bridge>
</bridges>      

the discovery group definition

<discovery-group name="dg-group2">
    <socket-binding>messaging-group2</socket-binding>
    <refresh-timeout>10000</refresh-timeout>
</discovery-group>

And the messaging group

<socket-binding name="messaging-group2" interface="all-interfaces" port="0" multicast-address="${jboss.messaging.group.address:231.7.7.7}" multicast-port="${jboss.messaging.group.port:9877}"/>

Then on cluster B node I have a broadcast group

<broadcast-group name="bg-group2">
    <socket-binding>messaging-group2</socket-binding>
    <broadcast-period>5000</broadcast-period>
    <connector-ref>netty</connector-ref>
</broadcast-group>

with

<socket-binding name="messaging-group2" interface="all-interfaces" port="0" multicast-address="${jboss.messaging.group.address:231.7.7.7}" multicast-port="${jboss.messaging.group.port:9877}"/>

My question is how can I create a bridge to pass messages on queue X in cluster A to queue XX in cluster B. I cannot achieve this am I doing something fundamentally wrong here? I would appreciate any examples and verification that this works. I can get a bridge working in this manner forwarding to another queue defined in cluster A but I want to discover the queue on Cluster B which I can't achieve.

Thanks


Solution

  • I also needed a connection factory.

    <jms-connection-factories>
       <connection-factory name="RemoteConnectionFactoryBridge">
         <discovery-group-ref discovery-group-name="dg-group2"/>
         <entries>
            <entry name="RemoteConnectionFactoryBridge"/>
            <entry name="java:jboss/exported/jms/RemoteConnectionFactoryBridge"/>
          </entries>
        </connection-factory>               
    </jms-connection-factories>