JMS receiver stops receving messages after 8000 messages

Posted by sonice on 23-Dec-2010 07:20

Hello All

This is my set up:

1 producer sending messages to a topic tcp://localhost:port#topic1

1 receiver listening on the above topic

All messages are MapMessage objects with a couple of strings.

SonicMq version 8 deployed on a linux box, both the producer and receiver are java applications on the same box.

After receving message number 8109 the receiver just stops receiving and seems to be waiting forever, where as the producer keeps sending messages to the same topic.

I have connected to this installation of sonicmq from my windows desktop and can see the management console, but I am totally new to sonic and not sure how to proceed, right now I am reading sonic performance tuning doc and seems like this is going to take a while to solve this.

I would highly appreciate if you can point me in the right direction (docs, how to use management console, e.g. why cant I see topics as a separate section like queues?)

Thanks in advance.

All Replies

Posted by rrudis on 23-Dec-2010 07:47

You should be able to get some insight into the state of the receiving connection via the Sonic Management Console.  Connect to the Domain Manager broker via SMC, and take a look at the 'Viewing Connections' section in 'Chapter 16 Managing SonicMQ Broker Activities' | Connections chapter of the SonicMQ Configuration and Management Guide.  You could also turn tracing on for the receiving application, see Appendix B of the SonicMQ Application Programming Guide.

Posted by sonice on 23-Dec-2010 07:58

Hey thanks for the pointers. I am surprised because even with default parameters it should not be hanging for such a small number. This happens irrespective of the speed at which messages are sent.

Posted by rrudis on 23-Dec-2010 08:16

Are you doing a synchronous receive or using a message listener?  What ack mode?  Durable or non-durable subscriber? Publishing persistent or non-persistent?

Posted by sonice on 23-Dec-2010 08:36

In the management console I can see the following properties for the subscriber(attached screenshot). I am using a message listener, ackmode is auto_ack, non-durable and non-persister.

Also in the metrics I see the following, although like I mentioned receiver stops after receving 8109 message but these are the metrics.


broker.messages.received = 4216
broker.messages.delivered = 4216

connection.messages.Delivered(consumer) 1255
connection.messages.Received(consumer) 0

connection.messages.Delivered(producer) 0
connection.messages.Received(producer) 1254

Posted by rrudis on 23-Dec-2010 09:12

One thing that looks a little strange in the connection view is that the Destination is blank, I was expecting to see the name of the topic here.  Wrt to the metrics I think that these numbers are for a specific collection interval, not for the life of the broker or connection.  Also, you are likely running this test against the broker in the Domain Manageer container?  If so, then the broker metrics will include the traffic not only for your test but for all management related messaging traffic (notifications, metrics, operations, access to the DS, etc.).

You may want to try enabling the client side logging on the subscriber to see what the last operation was that occurred on that client.

Posted by sonice on 23-Dec-2010 09:17

I think I removed it along with the IP

yeah will test with client logging and check..

This thread is closed