[
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]