[ 
https://issues.apache.org/jira/browse/QPIDJMS-86?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14628684#comment-14628684
 ] 

Alex Plischke commented on QPIDJMS-86:
--------------------------------------

Thanks guys. The ActiveMQ 5.12 snapshot does indeed work as intended with the 
current configuration.

> AMQP 1.0 prefetch policy set to 0 by the broker results in no messages 
> processed
> --------------------------------------------------------------------------------
>
>                 Key: QPIDJMS-86
>                 URL: https://issues.apache.org/jira/browse/QPIDJMS-86
>             Project: Qpid JMS
>          Issue Type: Bug
>          Components: qpid-jms-client
>    Affects Versions: 0.3.0
>            Reporter: Alex Plischke
>         Attachments: Screen Shot 2015-07-15 at 9.37.24 AM.png
>
>
> My broker's default prefetch policy is set to 0 (using ActiveMQ).
> When my queue consumer connects to the broker, the broker reports that the 
> consumer has indeed a prefetch of 0.
> The qpid client however, just uses the defaults defined in the 
> JmsPrefetchPolicy class (ergo, 1000 for the queue).
> So when the qpid client tries to decide whether it needs to poll or not in 
> JmsMessageConsumer...
> {noformat}
>     protected void sendPullCommand(long timeout) throws JMSException {
>         if (messageQueue.isEmpty() && (getPrefetchSize() == 0 || 
> isBrowser())) {
>             connection.pull(getConsumerId(), timeout);
>         }
>     }
> {noformat}
> ... the if condition will be false, since the prefetch size returned here is 
> 1000. Qpid will therefore not poll and the broker not push either, resulting 
> in no messages processed.
> My current workaround is that I have to set the prefetch size on the client 
> as well.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to