You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Marc Rodrigues (JIRA)" <ji...@apache.org> on 2013/04/10 12:18:15 UTC
[jira] [Created] (AMQNET-425) Dynamic Failover &
Apache.NMS.activeMQ 1.5.5 issue
Marc Rodrigues created AMQNET-425:
-------------------------------------
Summary: Dynamic Failover & Apache.NMS.activeMQ 1.5.5 issue
Key: AMQNET-425
URL: https://issues.apache.org/jira/browse/AMQNET-425
Project: ActiveMQ .Net
Issue Type: Bug
Components: NMS
Affects Versions: 1.5.6, 1.5.5
Environment: We have developed a NET4.0 application (Producer & Consumer) using:
-Apache.NMS 1.5.0
-Apache.NMS.activeMQ 1.5.5
vmware vsphere 4.1
-CentOS 6 32bits (AQsrv1 & AQsrv2)
-JRE6
-Fuse Message Broker v5.5.1
Reporter: Marc Rodrigues
Assignee: Jim Gomes
Priority: Blocker
Hello,
The NMS failover client does not yet support the updateClusterClients options, so it won't respond to the list of brokers provided by the server.
The workaround is to provide the static list or use some other discovery mechanism like multicast.
Issue reported via forum :
Our goal is to use a network of brokers with failover and dynamic discovery (production environment will have around 100 brokers).
So we have configured 2 CentOS virtual machine for test:
vmware vsphere 4.1
-CentOS 6 32bits (AQsrv1 & AQsrv2)
-JRE6
-Fuse Message Broker v5.5.1 (see activemq.xml configuration at the end)
We have developed a NET4.0 application (Producer & Consumer) using:
-Apache.NMS 1.5.0
-Apache.NMS.activeMQ 1.5.5
If I use the following URI to connect: activemq:failover://(tcp://AQsrv1:61616,tcp://AQsrv2:61616)?transport.randomize=true&transport.startupMaxReconnectAttempts=0&transport.timeout=2000&nms.AsyncSend=true
-> when I stop the activeMQ process on AQsrv1: the failover works fine and application continue to send/consume messages on AQsrv2.
Now If I use the following URI:
activemq:failover://(tcp://AQsrv1:61616)?transport.randomize=true&transport.startupMaxReconnectAttempts=0&transport.timeout=2000&nms.AsyncSend=true
-> when I stop the activeMQ process on AQsrv1: the failover seems to not work anymore and my application is not able to connect to AQsrv2 automatically.
As I'm supposed to received a list of brokers (so AQsrv2) from AQsrv1
activemq.xml on both servers
<networkConnectors>
<networkConnector
name="ncelab-activeMQ"
uri="multicast://default?group=ncelab"
dynamicOnly="true"
networkTTL="2"
duplex="true"
prefetchSize="1"
decreaseNetworkConsumerPriority="false" />
</networkConnectors>
<persistenceAdapter>
<kahaDB directory="${activemq.data}/kahadb"/>
</persistenceAdapter>
<transportConnectors>
<transportConnector name="openwire"
uri="tcp://0.0.0.0:61616"
discoveryUri="multicast://default?group=ncelab"
enableStatusMonitor="true"
rebalanceClusterClients="true"
updateClusterClients="true"
updateClusterClientsOnRemove="true" />
</transportConnectors>
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira