使用Java SDK(0.4.1)从SB队列检索邮件时,即使有问题的队列为空也会返回非空ReceiveQueueMessageResult
。在该结果上调用getValue()
将返回非空BrokeredMessage
。我应该如何告诉我已经在空队列上调用了接收?很显然,在分布式并发系统中,查询大小不是一个选项。使用Java SDK从空Azure ServiceBus队列接收时接收非空邮件
我正在使用ReceiveAndDelete
模式和队列是新创建的,所以我知道它是空的。
根据文档,对API的底层调用应返回StatusCode为204.我找不到任何方法来访问返回的结果或消息中的代码。
我在BrokeredMessage中的DelegateHttpsURLConnection类型的匿名内部类中找到了MessageHeaders(响应)隐藏的响应头。果然,那里有204个。无法通过BrokeredMessage上的界面(我可以找到)找到它。 – WillD 2013-03-22 19:11:30