Hi, It's often said that producer flow control (PFC) is one of the most misunderstood features of ActiveMQ, and I couldn't agree more. After what I'd like to think was a pretty close read on the subject of the online docs, ActiveMQ in Action and the mailing list, I still can't figure out why my producer stalls indefinitely after PFC kicks in. And as the indefinite blocking of a producer is, as AMQ in Action says, "rather inefficient", I was wondering if someone could help me out.
I have three components, lets call them A, B and C. My test is supposed to run like this: A produces roughly 11 million messages and puts them onto a topic (with a mem limit of 1mb). B listens to the topic and puts the messages on a queue, which is listened to by C which processes all incoming messages. B is somewhat slower than A, so I enabled producer flow control for topics. All messages are persistent (so enabling flow control for topics wasn't really necessary, I suppose). If I run the test with just component A, it works fine. PFC doesn't kick in, as there is no client listening to the topic. So far so good. If I then add B and C to the test, it runs until roughly 190,000 messages, at which point PFC kicks in, A is blocked, and the whole thing comes to a screeching halt. Just to be sure I enabled producerWindowSize and alwaysSyncSend on the connection (even though I shouldn't need to, as far as I understand, as the messages are persistent). That didn't help. So now I'm stuck as to why PFC has completely blocked my producer. As I understand it, the idea of PFC is to block the producer until there are sufficient resources to restart delivery. However, PFC does halt my producer, but doesn't start it up again, even when B and C have finished processing all their messages (and presumably freed up the necessary resources). What am I doing wrong? How do I get component A to start sending again? I'm running AMQ 5.4.2, Java 1.6 update 22, and the Spring (2.5.6) JMSTemplate and SimpleMessageContainer for sending/receiving. Thanks in advance, Maarten -- View this message in context: http://activemq.2283324.n4.nabble.com/Producer-flow-control-question-tp3092808p3092808.html Sent from the ActiveMQ - User mailing list archive at Nabble.com.