activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ndmigration <>
Subject Request/Response Model Not Working in Network of Brokers. Please Help
Date Tue, 23 Oct 2012 01:44:39 GMT

I have set up 3 brokers in network of brokers. BrokerA connects to BrokerB,
BrokerC, and BrokerB connects to BrokerA, BrokerC, and BrokerC connects to
BrokerB, BrokerA. I tried duplex on all the brokers to reduce the
configuration but that didn't help. My set up involves consumers and
producers in request/response model. Producers on client side sends messages
to REQUEST queue and Consumers on server side receive messages, process it
and sends the response to RESPONSE queue where the consumers on client side
are listening. Please note that I'm not using temporary queues for
Request/Response model but physical queues.

The request and response is based on correlationID so that the server
response reaches proper consumer on the client side. The NOB is forwarding
client request messages across the brokers, severs process them and put back
the message on the response queue. However, the consumers are timing out
waiting for the responses.


Consumer1 randomly connects to a broker using failover protocol and sends a
message to BrokerB. BrokerB forwards the message to BrokerC and the message
is processed by the consumer on the server that is listening on BrokerC. The
response message is put back on the RESPONSE queue on BrokerC but not sure
what's happening after that. The consumer on the client side waiting on
BrokerB is timing out. I have set 3 minutes as timeout on receive() method,
and 2 minutes for message TTL. Again, the server immediately process the
messages and so there is no delay in there. I'm suspecting that the messages
in RESPONSE queue within the brokers are not forwarding properly to reach
the consumer which is using correlation selector key. I have also verified
the uniqueness of correlationid so that no other consumer can consume the
message other than the intended consumer.

I have tried all suggestions: making duplex to true, ProducerControl to
false, allocated more memory, changed networkTTL to 6, added
receiveWhenNoConsumers=true flag with useCache=false and auditEnable=false.
I've been fighting with this for the past few days before seeking help. 

*One of my broker config:*

                <policyEntry topic=">" producerFlowControl="true"
                    <vmCursor />
		  <policyEntry queue=">" producerFlowControl="false" memoryLimit="10mb"
enableAudit="false" useCache="false"> 
				<conditionalNetworkBridgeFilterFactory replayWhenNoConsumers="true" />
				 <sharedDeadLetterStrategy processExpired="false" />

			<networkConnector name="queuesOnly" networkTTL="6"
					<queue physicalName=">"/>
			<networkConnector name="topicsOnly" networkTTL="6"

            <transportConnector name="openwire" uri="tcp://"


View this message in context:
Sent from the ActiveMQ - User mailing list archive at

View raw message