activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Geoffrey Arnold <geoffrey.arn...@gmail.com>
Subject Problem with network-of-brokers configuration after upgrading to AMQ 5.6.0
Date Sun, 20 May 2012 20:45:03 GMT
Hello again,

We are from AMQ 5.4.0 to 5.6.0, and there appears to be a new uniqueness constraint in network
connector names in network-of-brokers configurations.

Here's our setup:
- N copies of a producer application; each copy of the producer application consists of an
embedded broker with 2 network connectors pointing at an embedded broker in the consumer application
- 1 consumer application; the consumer application consists of an embedded broker with 2 transport
connectors

Messages in the consumer application are sent to the embedded broker, which pushes those messages
to the embedded broker in the consumer application over the network/transport connectors,
and are consumed by listeners on the embedded broker in the consumer application.

In AMQ 5.4.0, the name of the network connectors in the embedded broker in the producer application
were not required to be unique across copies of the application, ie. for each copy of the
producer application used the same name for each network connector.  In AMQ 5.6.0, we receive
the following error when starting a second copy of the producer application:


	In the producer application:

	Network connection between vm://producerBroker#4 and tcp://localhost/127.0.0.1:61616 shutdown
due to a remote error: javax.jms.InvalidClientIDException: Broker: consumerBroker - Client:
networkConnector1_producerBroker_outbound already connected from tcp://127.0.0.1:62961


	In the consumer application:

	Async error occurred: javax.jms.InvalidClientIDException: Broker: consumerBroker - Client:
networkConnector1_producerBroker_outbound already connected from tcp://127.0.0.1:62963
javax.jms.InvalidClientIDException: Broker: consumerBroker - Client: networkConnector1_producerBroker_outbound
already connected from tcp://127.0.0.1:62963
		at org.apache.activemq.broker.region.RegionBroker.addConnection(RegionBroker.java:223)
		at org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:85)
		at org.apache.activemq.advisory.AdvisoryBroker.addConnection(AdvisoryBroker.java:65)
		at org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:85)
		at org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:85)
		at org.apache.activemq.broker.BrokerFilter.addConnection(BrokerFilter.java:85)
		at org.apache.activemq.security.SimpleAuthenticationBroker.addConnection(SimpleAuthenticationBroker.java:97)
		at org.apache.activemq.broker.MutableBrokerFilter.addConnection(MutableBrokerFilter.java:91)
		at org.apache.activemq.broker.TransportConnection.processAddConnection(TransportConnection.java:715)
		at org.apache.activemq.broker.jmx.ManagedTransportConnection.processAddConnection(ManagedTransportConnection.java:79)
		at org.apache.activemq.command.ConnectionInfo.visit(ConnectionInfo.java:139)
		at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:292)
		at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:150)
		at org.apache.activemq.transport.MutexTransport.onCommand(MutexTransport.java:50)
		at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113)
		at org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:229)
		at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)
		at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:222)
		at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:204)
		at java.lang.Thread.run(Thread.java:680)


Is this a regression or a new requirement.  If it's a new requirement, what strategy would
you recommend to ensure uniqueness in network connector names?

Thanks in advance,
Geoff.
Mime
View raw message