2

使用 Java SDK (0.4.1) 从 SB 队列检索消息时,ReceiveQueueMessageResult即使相关队列为空,也会返回非空值。调用getValue()该结果返回一个非 null BrokeredMessage。我怎么知道我已经在一个空队列上调用了接收?显然,在分布式并发系统中查询大小不是一个选项。

我正在使用ReceiveAndDelete模式并且队列是新创建的,所以我知道它是空的。

根据文档,对 API 的底层调用应返回 204 的 StatusCode。我在返回的 Result 或 Message 中找不到访问该代码的任何方法。

4

1 回答 1

1

我们已经记录了这个问题,我们正在努力修复。顺便说一句,Windows Azure SDK for Java 是开源的,如果你愿意放弃微软的版权,你甚至可以提交自己的修复程序。源代码可以在https://github.com/WindowsAzure/azure-sdk-for-java找到

于 2013-03-24T01:52:26.583 回答