Gary:

Upgraded to 5.8, still having this issue.

Our flow is like this:

Client Foo connects to broker A and publishes a message on a queue, expecting a response on a temp destination Client Bar connects to broker B and receives the message, but when trying to respond finds that the temp destination is gone

On 2013-04-04 09:54:54 +0000, Gary Tully said:

--14dae9340ed36a144a04d985f67f

Content-Type: text/plain; charset=windows-1252

Content-Transfer-Encoding: quoted-printable



how long does the consumer wait for a reply?

I wonder if the issue is a race between the message with reply to and the

destination advisory or with destination removal before the reply.

For 5.8 there was some work on this use case and some additional tests;

see: https://issues.apache.org/jira/browse/AMQ-4276 and the comments and

source pane for the relevant commits.



Is this 5.8, if not can you validate ur use case on 5.8.





On 3 April 2013 22:33, Oleg Dulin <[email protected]> wrote:



> I am operating a cluster of brokers. Each broker connects to its neighbor=

s

> as follows (configuration from one of them):

>

> <networkConnectors>

>                         <networkConnector name=3D"1.connector.2"

>                                 uri=3D"static:(tcp://192.168.7.**106:3200=

<http://192.168.7.106:3200>)"

> />

>                         <networkConnector name=3D"1.connector.r1"

>                                 uri=3D"static:(tcp://192.168.3.**38:3300<=

http://192.168.3.38:3300>)"

>  />

> </networkConnectors>

>

> I use a request/response pattern like this:

>

> final Queue responseQueue =3D this.queueSession.**createTemporaryQueue();

> requestMessage.setJMSReplyTo(**responseQueue);

> requestMessage.**setJMSExpiration(120000);

> final MessageConsumer responseConsumer =3D this.getQueueSession().**creat=

eConsumer(responseQueue);

>

> responseConsumer.**setMessageListener(new MessageListener() {

> /* =85 */

> });

> this.getProducer(queueName).**send(requestMessage);

>

> getProducer is a factory method. I cache producers for the same queueName

> in a hashmap.

>

> Anyways, what happens is this. There appears to be a round robin going on=

,

> as I would expect. The broker that the client is connected to works fine,

> but the other broker has these messages in the logs:

>

> 2013-04-03 17:21:15,467 WARN  [ActiveMQ Task-24]

> org.apache.activemq.broker.**TransportConnection.**serviceException(**Tra=

nsportConnection.java:271)

> - Async      error occurred: javax.jms.JMSException: The destination

> temp-queue://ID:LJLLSC1N3-**55367-1365024072577-1:1:134 does not exist.

> 5511 javax.jms.JMSException: The destination temp-queue://ID:LJLLSC1N3-**=

55367-1365024072577-1:1:134

> does not exist.

>

> I saw some discussion of this on StackOverflow at

> http://stackoverflow.com/**questions/6432672/activemq-**

> how-to-handle-broker-**failovers-while-using-**temporary-queues<http://st=

ackoverflow.com/questions/6432672/activemq-how-to-handle-broker-failovers-w=

hile-using-temporary-queues>but that scenario doesn't apply to me.

>

> The interesting thing is that when I run the client on my laptop,

> everything works great. When I run the client on the server box -- I star=

t

> having issues.

>

> --

> Regards,

> Oleg Dulin

> NYC Java Big Data Engineer

> http://www.olegdulin.com/

>

>

>





--=20

http://redhat.com

http://blog.garytully.com



--14dae9340ed36a144a04d985f67f--





--
Regards,
Oleg Dulin
NYC Java Big Data Engineer
http://www.olegdulin.com/


Reply via email to