对于最新的稳定版本,请使用 spring-cloud-stream 4.3.0! |
连接到多个系统
默认情况下,绑定器共享应用程序的 Spring Boot 自动配置,以便在类路径上找到的每个绑定器创建一个实例。 如果应用程序应连接到多个相同类型的代理,则可以指定多个绑定器配置,每个配置具有不同的环境设置。
打开显式活页夹配置会完全禁用默认活页夹配置过程。
如果这样做,则配置中必须包含所有正在使用的活页夹。
打算透明地使用 Spring Cloud Stream 的框架可能会创建可以通过名称引用的 Binder 配置,但它们不会影响默认的 Binder 配置。
为此,活页夹配置可能具有其defaultCandidate 标志设置为 false(例如,spring.cloud.stream.binders.<configurationName>.defaultCandidate=false ).
这表示独立于默认活页夹配置过程而存在的配置。 |
以下示例显示了连接到两个 RabbitMQ 代理实例的处理器应用程序的典型配置:
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
财产:
environment:
spring:
profiles:
active: myBinderProfile