【问题标题】:How to pull the messages from Azure Service Bus Queue in Java?如何从 Java 中的 Azure 服务总线队列中提取消息?
【发布时间】:2016-07-14 06:31:17
【问题描述】:

我想从 Azure 服务总线队列中提取消息。我可以从here 提供的示例代码中提取它。即将到来的消息一行一行地传来。就我而言,我需要一次完整的消息。怎么做?

【问题讨论】:

    标签: java azure jms servicebus


    【解决方案1】:

    @AnandDeshmukh,有两种方法可以从 Azure 服务总线队列中拉取消息,包括AMQP with JMSREST API via HTTP

    当您引用 tutorial 来提取消息时,我看到您正在使用适用于 Java 的 Azure 服务总线 SDK。根据 GitHub 上 SDK for Java 的source codes,您可以发现 SDK 只是封装了相关的 REST API,它们一次只能通过 HTTP 协议获取消息。

    虽然我不知道你的应用场景是什么,但是如果你想要高性能的消息接收,我推荐更好的方法是使用 AMQP 从队列中获取消息。 AMQP 是一个二进制的应用层协议,旨在有效地支持各种消息传递应用程序和通信模式,请参阅https://en.wikipedia.org/wiki/Advanced_Message_Queuing_Protocol 了解它。

    【讨论】:

      【解决方案2】:

      您无法一次获取所有消息,但您始终可以让他们的批次(会话)一次发送。要在服务总线中启用会话,您需要进行两项更改。

      1. While creating service bus chose to Enable Session 2. While pushing messaging to Service Bus set property SessionId of Message to same id for a batch

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-07-26
        • 1970-01-01
        • 2017-04-22
        • 2017-02-13
        • 2017-06-07
        • 1970-01-01
        • 2014-11-03
        • 2017-11-01
        相关资源
        最近更新 更多