qpid-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Fraser Adams <fraser.ad...@blueyonder.co.uk>
Subject Another strange interoperability quirk between Messenger and the Java Broker.
Date Fri, 29 Aug 2014 08:55:58 GMT
Hey all,
I've been messing around writing a soak test for the JavaScript port of 
Messenger and came across another difference in behaviour between the 
C++ and Java Brokers.

I've attached the code I've written, it's relatively simple in precis 
its behaviour is
1. Subscribe to amqp://guest:guest@localhost:5673/#
2. When the subscription address is available send a Message to 
amqp://guest:guest@localhost:5673/<subscriptionQueue> where 
<subscriptionQueue> has been extracted from the subscription Address.
3. get and accept the Message.
4. send a new Message then repeat from 3.

With the C++ Broker I stand up a WebSocket->TCP Socket proxy that 
listens on WS port 5673 and forwards to TCP port 5672, with the Java 
Broker I'm using its WebSocket transport listening on WS port 5673.

With the C++ broker the code seems to behave as I'd expect, it basically 
just runs "forever" and I've had it send and receive a couple of million 
messages and everything is looking OK. On the C++ Broker I can see 
msgTotalEnqueues and msgTotalDequeues both increasing as I'd expect.

With the Java Broker it's weirder. I'm seeing 100 Messages received (my 
console goes up to "Content: Message Number 99") but then it stops, 
what's even odder is that I see msgTotalEnqueues = 100, msgTotalDequeues 
= 0 and msgDepth = 100. That seems really weird to me, my application 
has clearly received the Messages, but yet the Broker is not registering 
any Dequeues.

Does anyone have any thoughts on this? It's possible that I've done 
something wrong, but the C++ Broker seems to be behaving exactly as I'd 
intuitively expect and after a couple of million messages my application 
was still going strong and didn't look like it was leaking anything.


View raw message