Issues

ZF-7943: Setting up multiple consumers(listeners) on an ActiveMq Broker using Zend_Queue falis

Description

Here is the background

I am trying to setup a system that uses multiple listener clients each listening on a DIFFERENT queue using Zend_Queue. For each client, I use a different queue name as part of the driveroptions array - and then create a queue for each specifying the ActiveMq Adapater as input (I keep the port as 61613 for each). For some reason though, the ActiveMq broker only accepts one active client connection? I.e - if i try to set up two listener clients A and B that I created with Zend_Queue, then if I start A first and then B later, A gets shut down?

Here is the TRACE log from Active MQ. Here ClientA is the name of the First Client. I can see that the broker starts this client on 1863 but as soon as I start Client B, it resets the connection for ClientA and activates ClientB instead.

......................... DEBUG TransportConnection - Setting up new connection: /127.0.0.1:1863 DEBUG AbstractRegion - Adding consumer: ID:ds-2104b9520f01-1807-1253786223359-4:0:-1:1 DEBUG AbstractRegion - Adding destination: topic://ActiveMQ.Advisory.Consumer.Queue.ClientA DEBUG Transport - Transport failed: java.net.SocketException: Connection reset java.net.SocketException: Connection reset at java.net.SocketInputStream.read(SocketInputStream.java:168) at org.apache.activemq.transport.tcp.TcpBufferedInputStream.fill(TcpBufferedInputStream.java:50) at org.apache.activemq.transport.tcp.TcpBufferedInputStream.read(TcpBufferedInputStream.java:58) at java.io.DataInputStream.readByte(DataInputStream.java:248) at org.apache.activemq.transport.stomp.StompWireFormat.readLine(StompWireFormat.java:186) at org.apache.activemq.transport.stomp.StompWireFormat.unmarshal(StompWireFormat.java:94) at org.apache.activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java:210) at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:202) at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:185) at java.lang.Thread.run(Thread.java:619) DEBUG TransportConnection - Stopping connection: /127.0.0.1:1863 DEBUG TcpTransport - Stopping transport tcp:///127.0.0.1:1863 DEBUG TransportConnection - Stopped transport: /127.0.0.1:1863 DEBUG TransportConnection - Cleaning up connection resources: /127.0.0.1:1863 DEBUG AbstractRegion - Removing consumer: ID:ds-2104b9520f01-1807-1253786223359-4:0:-1:1 DEBUG AMQMessageStore - flush starting .................................................. STOMP uses a clientId parameter to distinguish between multiple clients - is there a way to specify that when creating a queue on ActiveMq with Zend_Queue?

/DS

Comments

Bulk change of all issues last updated before 1st January 2010 as "Won't Fix".

Feel free to re-open and provide a patch if you want to fix this issue.