【Azure Service Bus】使用Spring Cloud integration示例代码,为多个 Service Bus的连接使用 ConnectionString 方式

  • 时间:2025-10-27 21:58 作者: 来源: 阅读:4
  • 扫一扫,手机访问
摘要:问题描述 查看Service Bus的Java示例代码,发现使用Spring Cloud Integration,配置 Application.yaml 可以连接到两个Service Bus。 但代码中没有使用Connection String 属性配置服务连接。 https://img2023.cnblogs.com/blog/2127802/202309

问题描述

查看Service Bus的Java示例代码,发现使用Spring Cloud Integration,配置 Application.yaml 可以连接到两个Service Bus。 但代码中没有使用Connection String 属性配置服务连接。
https://img2023.cnblogs.com/blog/2127802/202309/2127802-20230903161454288-196548009.png

那么,是否可以直接在此添加 connection-string配置后,不用修改代码就可以连接到Service Bus服务呢?

问题解答

在解答这个问题之前,需要查看示例代码中,是如何来使用application.yaml中的属性值。

1) 自定义 CustomizedServiceBusProperties 对象,结构化 应用的属性配置

2) 在 MultipleAzureServiceBusNamespacesConfiguration  中读取配置,并调用 com.azure.spring.messaging.servicebus.core.DefaultServiceBusNamespaceProcessorFactory 构造函数
https://img2023.cnblogs.com/blog/2127802/202309/2127802-20230903165256348-1153287080.png

接下来,就需要查看com.azure.spring.messaging.servicebus.core.DefaultServiceBusNamespaceProcessorFactory的构造函数是否可以使用connction string属性初始化 Service Bus Processor对象。

查看 DefaultServiceBusNamespaceProcessorFactory 类的介绍文档:[https://azuresdkdocs.blob.core.windows.net/【Azure Service Bus】使用Spring Cloud integration示例代码,为多个 Service Bus的连接使用 ConnectionString 方式web/java/spring-messaging-azure-servicebus/4.1.0/com/azure/spring/messaging/servicebus/core/DefaultServiceBusNamespaceProcessorFactory.html#createProcessor(java.lang.String,com.azure.spring.cloud.service.listener.MessageListener,com.azure.spring.cloud.service.servicebus.consumer.ServiceBusErrorHandler))

构造函数由 NamespaceProperties 类传递参数, 它拥有GetConnectionStrng方法可以直接读取connection-string属性值

getConnectionString
public String getConnectionString()

Specified by:
getConnectionString in interface com.azure.spring.cloud.core.provider.connectionstring.ConnectionStringProvider

Specified by:
getConnectionString in interface com.azure.spring.cloud.service.implementation.servicebus.properties.ServiceBusClientCommonProperties

根据以上分析,如果需要Spring Cloud Integration示例代码使用连接字符串(Connection String) 初始化 Service Bus对象,只要在Application.yaml 文件中使用connection-string并设置正确的值就可以。

my.servicebus.namespaces[0]:
  connection-string: {AZURE_SERVICEBUS_CONNECTION_STRING_01}
  entity-type: queue
  entity-name: {AZURE_SERVICEBUS_NAMESPACE_01_QUEUE_NAME}
my.servicebus.namespaces[1]:
  connection-string: {AZURE_SERVICEBUS_CONNECTION_STRING_02}
  entity-type: queue
  entity-name: {AZURE_SERVICEBUS_NAMESPACE_02_QUEUE_NAME}

参考资料

Sending and Receiving Message by Azure Service Bus (Multiple Namespaces) And Spring Integration in Spring Boot Application :https://github.com/Azure-Samples/azure-spring-boot-samples/tree/main/servicebus/spring-cloud-azure-starter-integration-servicebus/multiple-namespaces

Class DefaultServiceBusNamespaceProcessorFactory : [https://azuresdkdocs.blob.core.windows.net/【Azure Service Bus】使用Spring Cloud integration示例代码,为多个 Service Bus的连接使用 ConnectionString 方式web/java/spring-messaging-azure-servicebus/4.1.0/com/azure/spring/messaging/servicebus/core/DefaultServiceBusNamespaceProcessorFactory.html)

当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!

  • 全部评论(0)
最新发布的资讯信息
【系统环境|】在Qt中如何设置窗体的背景图片(2025-10-29 20:27)
【系统环境|】无声无名 | 杨·罗威斯终身回顾展(2025-10-29 20:26)
【系统环境|】从零开始学Qt(22):QSS详解(3)- 盒子模型(2025-10-29 20:25)
【系统环境|】Quarkus vs Spring Boot 集成 RabbitMQ 谁更香?(2025-10-29 20:24)
【系统环境|】RabbitMQ相关概念及代码示例(2025-10-29 20:24)
【系统环境|】Spring Boot + RabbitMQ:轻松掌握五种基本工作模式(2025-10-29 20:23)
【系统环境|】一篇文章带你彻底玩转-RabbitMQ(2025-10-29 20:22)
【系统环境|】私有云平台搭建——史上最详细(2025-10-29 20:21)
【系统环境|】RabbitMQ最全详解(万字图文总结)(2025-10-29 20:20)
【系统环境|】.Net/C#全网最火RabbitMQ操作【强烈推荐】(2025-10-29 20:20)
手机二维码手机访问领取大礼包
返回顶部