activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Graham Leggett <>
Subject Messages on queue, but clients not picking them up (prefetch problem)
Date Tue, 08 Oct 2013 15:42:33 GMT
Hi all,

I am having a further problem that has me stumped.

I have 8 nodes, each node makes a short lived connection to poll a central activemq server
in the expectation of picking up exactly one message for processing, processing may take many
seconds to minutes. The activemq server has a queue with 104 messages in it, and what I expect
to happen is that the nodes should be allocated the messages and the messages should be processed
across all 8 nodes.

What I am seeing instead is that the client nodes are connecting successfully to the activemq
server, but are disconnecting again because no messages are available except for one node,
which is running flat out.

This smells like prefetch - one node has been given all the messages, and other nodes are
left starving.

I believe I have switched off prefetch like this, but the documentation is not clear whether
this is done on the client side or the server side, or whether this is supported by all transports
or just one or two:

            <transportConnector name="amqp" uri="amqp+ssl://;wireformat.maxFrameSize=104857600&amp;transport.transformer=jms&amp;needClientAuth=true&amp;transport.closeAsync=false&amp;jms.prefetchPolicy.all=0"/>

Most specifically "jms.prefetchPolicy.all=0" -> is that the correct way to completely switch
off prefetch entirely?


View raw message