Reputation: 875
When retrieving messages from an SB Queue using the Java SDK (0.4.1), a non-null ReceiveQueueMessageResult
is returned even if the Queue in question is empty. Calling getValue()
on that result returns a non-null BrokeredMessage
. How am I supposed to tell that I’ve called receive on an empty Queue? Obviously querying size is not an option in a distributed, concurrent system.
I'm using ReceiveAndDelete
Mode and the Queue is newly created so I KNOW it's empty.
According to docs, the underlying call to the API should return a StatusCode of 204. I can not find any way to access that Code in the returned Result or Message.
Upvotes: 2
Views: 525
Reputation: 657
We have recorded this issue, we are working on a fix now. By the way, Windows Azure SDK for Java is open source, you can even submit your own fix if you are willing to giveup the copyright to MSFT. The source code can be found https://github.com/WindowsAzure/azure-sdk-for-java
Upvotes: 1