activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gary Tully <gary.tu...@gmail.com>
Subject Re: Request/Response Model Not Working in Network of Brokers. Please Help
Date Tue, 23 Oct 2012 14:19:06 GMT
enable debug logging on all brokers and  produce a single message. you
should be able to trace the progress of that message till it expires,
gets consumed or gets orphaned.
Once you know what happens we will be able to figure out the next step.

http://activemq.apache.org/how-do-i-enable-debug-logging.html

On 23 October 2012 02:44, ndmigration <raghu_madabusi@americantours.com> wrote:
> Hello,
>
> 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.
>
> *Example:*
>
> 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:*
>
> <destinationPolicy>
>             <policyMap>
>               <policyEntries>
>                 <policyEntry topic=">" producerFlowControl="true"
> memoryLimit="10mb">
>                   <pendingSubscriberPolicy>
>                     <vmCursor />
>                   </pendingSubscriberPolicy>
>                 </policyEntry>
>                   <policyEntry queue=">" producerFlowControl="false" memoryLimit="10mb"
> enableAudit="false" useCache="false">
>
>                         <networkBridgeFilterFactory>
>                                 <conditionalNetworkBridgeFilterFactory replayWhenNoConsumers="true"
/>
>                         </networkBridgeFilterFactory>
>                          <deadLetterStrategy>
>                                  <sharedDeadLetterStrategy processExpired="false"
/>
>                          </deadLetterStrategy>
>                    </policyEntry>
>               </policyEntries>
>             </policyMap>
>         </destinationPolicy>
>
>
>         <networkConnectors>
>                         <networkConnector name="queuesOnly" networkTTL="6"
> uri="static:(tcp://10.0.0.178:61616,tcp://10.0.0.179:61616)"
> conduitSubscriptions="false">
>                                 <dynamicallyIncludedDestinations>
>                                         <queue physicalName=">"/>
>                                 </dynamicallyIncludedDestinations>
>                         </networkConnector>
>                         <networkConnector name="topicsOnly" networkTTL="6"
> uri="static:(tcp://10.0.0.178:61616,tcp://10.0.0.179:61616)"
> conduitSubscriptions="true">
>                         </networkConnector>
>                 </networkConnectors>
>
>
>         <transportConnectors>
>             <transportConnector name="openwire" uri="tcp://10.0.0.177:61616"
> />
>         </transportConnectors>
>
> Thanks,
> Ragu
>
>
>
> --
> View this message in context: http://activemq.2283324.n4.nabble.com/Request-Response-Model-Not-Working-in-Network-of-Brokers-Please-Help-tp4658071.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.



-- 
http://redhat.com
http://blog.garytully.com

Mime
View raw message