如何从Java中的Azure Service Bus Queue中提取消息?

时间:2016-07-14 06:31:17

标签: java azure jms servicebus

我想从Azure服务总线队列中提取消息。我可以从提供的示例代码here中提取它。即将到来的消息将逐行传递。在我的情况下,我需要立即完整的消息。怎么做?

2 个答案:

答案 0 :(得分:2)

@AnandDeshmukh,有两种方法可以从Azure Service Bus Queue中提取消息,其中包括AMQP with JMSREST API via HTTP

当您引用tutorial来提取消息时,我发现您正在使用Azure Service Bus SDK for Java。根据GitHub上SDK for Java的source codes,您可以发现SDK只包含了相关的REST API,这些REST API一次只能通过HTTP协议获取消息。

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

答案 1 :(得分:0)

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

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