当前位置: 首页 > 知识库问答 >
问题:

使用JavaSDK从空Azure ServiceBus队列接收非空消息

彭梓
2023-03-14

当使用JavaSDK(0.4.1)从SB队列检索消息时,即使所讨论的队列为空,也会返回非空ReceiveQueueMessageResult。对该结果调用getValue()将返回一个非空的BrokeredMessage。我怎么知道我在一个空队列上打了接听电话?显然,在分布式并发系统中,查询大小不是一个选项。

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

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

共有1个答案

暴才俊
2023-03-14

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

 类似资料:
  • 我发送消息从JavaSpring Boot应用程序到消费者是Python应用程序。 除了输入命令rabbitmqctl list\u queues时,一切正常,它显示视频队列0,这意味着队列中没有消息。 消费者正在接收消息并执行一些长过程;所以如果我连续发送多条消息,应该会有一些消息在队列中等待。我说得对吗? 制片人: 消费者 在哪里可以看到我声明的队列上的消息?因为虽然我知道队列中有消息,但使用

  • 我已经建立了AWS架构体系,以便每次对发电机数据库条目的更新都以启用重复数据删除的SQS先进先出队列结束。我还有一个测试来覆盖这个场景,在那里我清除了队列(队列可以从套装中的其他测试中获得更新。为了避免在收到正确的消息之前必须轮询大量的消息,我在运行测试之前清除队列),更新Dynamo Db,并在轮询队列时检查这些条目是否收到。这个测试是不稳定的,有时会失败,因为我发送的所有更新都没有从队列中收到

  • 因此,我使用Spring integration链接JMS和ActiveMQ,如下所示:- 如何使其工作,以便发送到此队列并从中接收消息?请帮忙。

  • 我目前正努力在nServiceBus托管的应用程序上启动并运行一些东西。我有一个第三方正在向其发布消息的azure ServiceBus队列,我希望我的应用程序(目前在本地托管)接收这些消息。 我在谷歌上搜索了如何配置endpoint的答案,但我在有效的配置中没有运气。有人这样做过吗,因为我可以找到如何连接到Azure存储队列但不是服务总线队列的示例。(由于其他原因,我需要Azure servic

  • 问题内容: Java允许编写: 在这种情况下将被收集? 据我了解,幻影引用是 方法使用的替代方法。 在队列中出现引用后,我需要执行一些其他操作,然后运行 Java Doc保留: 可以使用空队列创建幻影引用,但是这种引用完全没有用:其get方法将始终返回null,并且由于它没有队列,因此永远不会入队。 如果它永远不会排队,那意味着什么? 据我了解,这意味着在完成方法调用之后,引用不会添加到refer

  • 我准备使用C#应用程序通过ActiveMQ Artemis发送和接收消息。在选播模式下,一切都在工作。 通常我会收到消息,因为我只是从选播切换到多播,但实际上我什么也没有收到。