I'm testing JMS applications in a NoB cluster to validate client are receiving updates as brokers join/leave the cluster; our openwire connector config:
<transportConnector name="owire" uri="tcp://0.0.0.0:61616" updateClusterClients="true" updateClusterClientsOnRemove="true" /> The client connection URL is below; this is just a virtual IP that proxies to a router and finds the nearest broker (all of this works fine, no issues) failover:(tcp://events.ny.com:61616) I've implemented a simple JMS producer that sends a message every 5s; between each send, I print information from the connected broker and its peer brokers: private void printBrokerPeers() throws JMSException { BrokerInfo connectedBroker = connection.getBrokerInfo(); BrokerInfo[] brokers = connectedBroker.getPeerBrokerInfos(); log("Broker peer list..."); log("--------------------------------"); for(BrokerInfo bi : brokers){ log("\t" + bi.getBrokerName()); } } On startup, the client prints the list of peer brokers, and the list is 100% consistent with active "masters" in the cluster, but if I kill an active broker in the list (not the client's connected broker), the list remains unchanged; it continues to show the broker I stopped. If I start a broker that was never in the list upon client startup, it never shows up in the clients broker list. Is the above code wrong for viewing client-side broker/cluster updates? I just want to see the list of brokers as it changes from the clients viewpoint. -- View this message in context: http://activemq.2283324.n4.nabble.com/How-to-monitor-cluster-updates-from-the-client-tp4708954.html Sent from the ActiveMQ - User mailing list archive at Nabble.com.