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://0.0.0.0:5672?maximumConnections=1000&amp;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?

Regards,
Graham
--

Reply via email to