java - 使用 Java SDK 从空 Azure ServiceBus 队列接收时接收非空消息

标签 java azure servicebus azureservicebus azure-servicebus-queues

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

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

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

最佳答案

我们已记录此问题,现在正在修复。顺便说一句,Windows Azure SDK for Java 是开源的,如果您愿意向 MSFT 放弃版权,您甚至可以提交自己的修复程序。源码可参见https://github.com/WindowsAzure/azure-sdk-for-java

关于java - 使用 Java SDK 从空 Azure ServiceBus 队列接收时接收非空消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15577926/

相关文章:

java - 使用 Fabric8 java 库列出 pod 文件夹中的所有文件

java正则表达式获取字符串和下一个管道之间的所有匹配

java - JPanel 的大小在 Netbeans 中没有改变

java - 在 MongoDB 中整数数据类型会自动类型转换为 double 吗?

azure - 如何使用 PowerShell 获取 azure 订阅的当前费用

azure - 地形 : How do I set the value of accessTokenAcceptedVersion to 2 for a Azure Service Principal?

azure - 大型商业应用程序-Azure云数据库和存储问题

c# - 发送或监听时出错,Azure ServiceBus

session - 在同步请求-响应模式中使用 session