使用 Java SDK 的 Azure 服务总线访问,连接模式

Posted

技术标签:

【中文标题】使用 Java SDK 的 Azure 服务总线访问,连接模式【英文标题】:Azure service bus access using Java SDK, Connectivity Mode 【发布时间】:2017-10-18 19:19:44 【问题描述】:

有几个使用C#配置服务总线环境使用http/https的例子,使用调用:

ServiceBusEnvironment.SystemConnectivity.Mode = ConnectivityMode.Http;

我的问题是 - 我可以以及如何通过 java 客户端做到这一点?

【问题讨论】:

确认一下,您使用的是这个SDK吗:azure-service-bus-java? 是 - 依赖项:com.microsoft.azureazure-servicebus0.9.2依赖> 其实我用的是docs.microsoft.com/en-us/azure/service-bus-messaging/…中提到的SDK,似乎使用的包名与上面的链接不同。 这个问题解决了吗? 还没有,希望听到他们在 java 库中提供这个......看起来他们肯定想要等效的功能 【参考方案1】:

较新版本的 SDK(1.0 及更高版本)不支持 HTTP 连接(仅限 AMQP),旧版本不支持 AMQP(仅限 HTTP)。因此,没有“需要”连接模式设置。

Java SDK 仅支持 AMQP。

如果您需要 http,请尝试使用 Azure SDK for Java 旧版本,它只是 http。可以在https://github.com/yvgopal/azure-sdk-for-java/blob/0.9/services/azure-servicebus/pom.xml 找到它。请注意包的版本,因为新的仅 AMQP SDK 也具有相同的包名称。您应该对任何从 0.9 开始但在 1.0 之前的版本都很好。另请注意,SDK 完全不同。使用一个 SDK 编写的应用程序不适用于另一个 SDK。

https://github.com/Azure/azure-service-bus-java/issues/171

【讨论】:

以上是关于使用 Java SDK 的 Azure 服务总线访问,连接模式的主要内容,如果未能解决你的问题,请参考以下文章

Azure WebJob SDK 服务总线文档?

如何让我的消费者使用 Azure sdk for Golang v0.3.1 监听 Azure 服务总线上的消息?

Azure 服务总线 1.1 无法启动

互操作性 Azure 服务总线消息队列消息

Azure.Messaging.ServiceBus SDK 中“UserProperties”属性的等效项

使用订阅的 Azure 服务总线队列