mirror of https://github.com/apache/activemq.git
http://issues.apache.org/jira/browse/AMQ-3178 - 5.3.x clients to 5.4 brokers always get updated cluster information in the broker info, this should be configurable
git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@1069846 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
cfdd68c799
commit
bf4dd7330d
|
@ -887,7 +887,11 @@ public class TransportConnection implements Connection, Task, CommandVisitor {
|
|||
transport.start();
|
||||
active = true;
|
||||
BrokerInfo info = connector.getBrokerInfo().copy();
|
||||
info.setPeerBrokerInfos(this.broker.getPeerBrokerInfos());
|
||||
if (connector.isUpdateClusterClients()) {
|
||||
info.setPeerBrokerInfos(this.broker.getPeerBrokerInfos());
|
||||
} else {
|
||||
info.setPeerBrokerInfos(null);
|
||||
}
|
||||
dispatchAsync(info);
|
||||
|
||||
connector.onStarted(this);
|
||||
|
|
|
@ -16,7 +16,9 @@
|
|||
*/
|
||||
package org.apache.activemq.transport.failover;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.net.URI;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import javax.jms.DeliveryMode;
|
||||
|
||||
|
@ -26,6 +28,7 @@ import org.apache.activemq.broker.TransportConnector;
|
|||
import org.apache.activemq.command.ActiveMQDestination;
|
||||
import org.apache.activemq.command.ActiveMQQueue;
|
||||
import org.apache.activemq.command.ActiveMQTopic;
|
||||
import org.apache.activemq.command.BrokerInfo;
|
||||
import org.apache.activemq.command.ConnectionInfo;
|
||||
import org.apache.activemq.command.ConsumerInfo;
|
||||
import org.apache.activemq.command.ProducerInfo;
|
||||
|
@ -33,6 +36,7 @@ import org.apache.activemq.command.SessionInfo;
|
|||
import org.apache.activemq.network.NetworkTestSupport;
|
||||
import org.apache.activemq.transport.Transport;
|
||||
import org.apache.activemq.transport.TransportFactory;
|
||||
import org.apache.activemq.transport.TransportListener;
|
||||
import org.apache.activemq.transport.multicast.MulticastTransportTest;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
@ -113,6 +117,40 @@ public class FailoverTransportBrokerTest extends NetworkTestSupport {
|
|||
|
||||
}
|
||||
|
||||
public void testNoBrokersInBrokerInfo() throws Exception {
|
||||
final BrokerInfo info[] = new BrokerInfo[1];
|
||||
StubConnection c = createFailoverConnection();
|
||||
c.setListener(new TransportListener() {
|
||||
@Override
|
||||
public void onCommand(Object command) {
|
||||
if (command instanceof BrokerInfo) {
|
||||
info[0] = (BrokerInfo) command;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onException(IOException error) {
|
||||
//To change body of implemented methods use File | Settings | File Templates.
|
||||
}
|
||||
|
||||
@Override
|
||||
public void transportInterupted() {
|
||||
//To change body of implemented methods use File | Settings | File Templates.
|
||||
}
|
||||
|
||||
@Override
|
||||
public void transportResumed() {
|
||||
//To change body of implemented methods use File | Settings | File Templates.
|
||||
}
|
||||
});
|
||||
c.start();
|
||||
int count = 0;
|
||||
while(count++ < 5 && info[0] == null) {
|
||||
TimeUnit.SECONDS.sleep(1);
|
||||
}
|
||||
assertNull("no peer brokers present", info[0].getPeerBrokerInfos());
|
||||
}
|
||||
|
||||
protected String getLocalURI() {
|
||||
return "tcp://localhost:0?wireFormat.tcpNoDelayEnabled=true";
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue