Я использую Spring Boot 2.0.1, и облачные зависимости Spring импортируются из:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Finchley.RC1</version>
<type>pom</type>
<scope>import</scope>
</dependency>
Я полагаю, что интересующие зависимости:
<dependencies>
...
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-stream-binder-rabbit</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-stream-reactive</artifactId>
</dependency>
...
</dependencies>
Вmy application.yaml
Я добавил несколько привязок потребителей:
spring:
cloud:
stream:
bindings:
input1:
bindingRoutingKey: key1.#
binder: rabbit
group: group1
destination: dest-group1
transacted: true
input2:
bindingRoutingKey: key2.#
binder: rabbit
group: group2
destination: dest-group2
transacted: true
Я прочитал, например, здесь , что нужно добавить requiredGroups
к производителю (-ям), чтобысоздавать очереди и привязки автоматически.Однако мое приложение не производит никаких сообщений, оно просто использует сообщения, опубликованные другим приложением, поэтому у меня не определены производители.Я пытался изменить файл application.yaml
, чтобы добавить фиктивного производителя:
spring:
cloud:
stream:
bindings:
dummyProducer:
producer:
requiredGroups: group1,group2
input1:
bindingRoutingKey: key1.#
binder: rabbit
group: group1
destination: dest-group1
transacted: true
input2:
bindingRoutingKey: key2.#
binder: rabbit
group: group2
destination: dest-group2
transacted: true
Но это не работает.Итак, мой вопрос:
Как мне изменить мой application.yaml
файл (и, возможно, код, если требуется), чтобы поток Spring Cloud создавал очереди и привязки при запуске?