Bridge does not route messages between servers
developer251 Jun 18, 2013 6:24 AMHi all!
I'm trying to setup a Bridge between two HornetQ 2.3.1 Servers which are running on two WildFly 8 servers. The servers are running on the same machine with a port offset of 200
The issue is that when I try to publish a message on the ServerA it is not forwarded to ServerB. I understand that AS8 is still experimental however I'd be really grateful if somebody could have a look at my configuration and see if I've missed out something in it:
Server A Configuration
<connectors>
<netty-connector name="netty" socket-binding="messaging"/>
<netty-connector name="netty-throughput" socket-binding="messaging-throughput">
<param key="batch-delay" value="50"/>
</netty-connector>
<in-vm-connector name="in-vm" server-id="0"/>
<connector name="netty-bridge">
<factory-class>org.hornetq.core.remoting.impl.netty.NettyConnectorFactory</factory-class>
<param key="host" value="localhost"/>
<param key="port" value="5656"/>
</connector>
</connectors>
. . . .
<core-queues>
<queue name="jms.queue.Record">
<address>jms.queue.Record</address>
</queue>
</core-queues>
<bridges>
<bridge name="myBridge">
<queue-name>jms.queue.Record</queue-name>
<forwarding-address>jms.queue.Record</forwarding-address>
<ha>false</ha>
<use-duplicate-detection>false</use-duplicate-detection>
<static-connectors>
<connector-ref>
netty-bridge
</connector-ref>
</static-connectors>
</bridge>
</bridges>
<address-settings>
<address-setting match="jms.queue.Record">
<dead-letter-address>jms.queue.DLQ</dead-letter-address>
<expiry-address>jms.queue.ExpiryQueue</expiry-address>
<max-size-bytes>262144000</max-size-bytes>
<page-size-bytes>10485760</page-size-bytes>
<address-full-policy>PAGE</address-full-policy>
</address-setting>
</address-settings>
<jms-connection-factories>
. . .
<connection-factory name="RemoteConnectionFactoryBridge">
<connectors>
<connector-ref connector-name="netty-bridge"/>
</connectors>
<entries>
<entry name="java:jboss/exported/jms/RemoteConnectionFactoryBridge"/>
</entries>
<compress-large-messages>false</compress-large-messages>
<failover-on-initial-connection>false</failover-on-initial-connection>
<use-global-pools>true</use-global-pools>
</connection-factory>
<jms-destinations>
<jms-queue name="jms.queue.Record">
<entry name="queue/queueSource"/>
<durable>true</durable>
</jms-queue>
</jms-destinations>
</hornetq-server>
Server B Configuration
<acceptors>
<netty-acceptor name="netty" socket-binding="messaging">
<param key="host" value="localhost"/>
<param key="port" value="5656"/>
</netty-acceptor>
<netty-acceptor name="netty-throughput" socket-binding="messaging-throughput">
<param key="host" value="localhost"/>
<param key="port" value="5656"/>
<param key="batch-delay" value="50"/>
<param key="direct-deliver" value="false"/>
</netty-acceptor>
<in-vm-acceptor name="in-vm" server-id="0"/>
</acceptors>
<core-queues>
<queue name="jms.queue.Record">
<address>jms.queue.Record</address>
</queue>
</core-queues>
<address-settings>
<address-setting match="jms.queue.Record">
<dead-letter-address>jms.queue.DLQ</dead-letter-address>
<max-size-bytes>262144000</max-size-bytes>
<page-size-bytes>10485760</page-size-bytes>
<address-full-policy>PAGE</address-full-policy>
</address-setting>
</address-settings>
<jms-destinations>
<jms-queue name="jms.queue.Record">
<entry name="queue/targetQueue"/>
<durable>true</durable>
</jms-queue>
</jms-destinations>
Besides the configuration, I have a JMS client on ServerA which publish messages to the Queue bound at "queue/queueSource".
On the ServerB I have an MDB which is consuming messages on the "queue/targetQueue". Posting messages to the "queue/queueSource" is OK but nothing is consumed on ServerB.
Any help?
Thanks a lot
Max