对于最新的稳定版本,请使用 spring-cloud-stream 4.3.0spring-doc.cadn.net.cn

连接到多个系统

默认情况下,绑定器共享应用程序的 Spring Boot 自动配置,以便在类路径上找到的每个绑定器创建一个实例。 如果应用程序应连接到多个相同类型的代理,则可以指定多个绑定器配置,每个配置具有不同的环境设置。spring-doc.cadn.net.cn

打开显式活页夹配置会完全禁用默认活页夹配置过程。 如果这样做,则配置中必须包含所有正在使用的活页夹。 打算透明地使用 Spring Cloud Stream 的框架可能会创建可以通过名称引用的 Binder 配置,但它们不会影响默认的 Binder 配置。 为此,活页夹配置可能具有其defaultCandidate标志设置为 false(例如,spring.cloud.stream.binders.<configurationName>.defaultCandidate=false). 这表示独立于默认活页夹配置过程而存在的配置。

以下示例显示了连接到两个 RabbitMQ 代理实例的处理器应用程序的典型配置:spring-doc.cadn.net.cn

spring:
  cloud:
    stream:
      bindings:
        input:
          destination: thing1
          binder: rabbit1
        output:
          destination: thing2
          binder: rabbit2
      binders:
        rabbit1:
          type: rabbit
          environment:
            spring:
              rabbitmq:
                host: <host1>
        rabbit2:
          type: rabbit
          environment:
            spring:
              rabbitmq:
                host: <host2>
environment属性也可以用于任何 Spring Boot 属性, 包括这个spring.main.sources这对于为 特定的绑定器,例如覆盖自动配置的 bean。
environment:
    spring:
        main:
           sources: com.acme.config.MyCustomBinderConfiguration

要为特定活页夹环境激活特定配置文件,您应该使用spring.profiles.active财产:spring-doc.cadn.net.cn

environment:
    spring:
        profiles:
           active: myBinderProfile