Robbie Gemmell created QPIDJMS-112:
--------------------------------------

             Summary: have receiveNoWait and receive(timeout) drain credit to 
ensure no message is available
                 Key: QPIDJMS-112
                 URL: https://issues.apache.org/jira/browse/QPIDJMS-112
             Project: Qpid JMS
          Issue Type: Improvement
          Components: qpid-jms-client
    Affects Versions: 0.5.0
            Reporter: Robbie Gemmell
            Assignee: Robbie Gemmell
             Fix For: 0.6.0


As of QPIDJMS-92, if the consumer has been configured to have no prefetch, the 
client will issue and drain a single credit before inspecting its local message 
queue, ensuring that any available message sent by a broker will be returned to 
the application. However, if the client has prefetch, the consumer credit is 
granted and never drained, which means that a recieveNoWait call will only 
return a message if first given time to prefetch it, otherwise returning null 
even where messages 'are available'.

The behaviour should be updated such that if no message is locally available 
when checked, the credit is drained to ensure messages available on the broker 
are retrieved and given the chance to be returned rather than returning null.

The same improvement can be applied to receive with a timeout to give behaviour 
many would expect where messages 'are available', though it might additionally 
be useful if the drain could be disabled in this case.



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