【发布时间】:2022-06-18 02:00:21
【问题描述】:
我的应用程序正在接收具有不同负载的两个事件。所以我为每个事件写了两个不同的消费者。
消费者1:
@Bean
public Consumer<TestEvent1> testEvent1() {
// my consumer logic
}
消费者2:
@Bean
public Consumer<TestEvent2> testEvent2() {
// my consumer logic
}
以下是spring cloud stream的配置:
spring:
cloud:
stream:
sqs:
bindings:
testEvent1-in-0:
consumer:
snsFanout: true
messageDeletionPolicy: ON_SUCCESS
waitTimeout: 20
maxNumberOfMessages: 10
visibilityTimeout: 30
testEvent2-in-0:
consumer:
snsFanout: true
messageDeletionPolicy: ON_SUCCESS
waitTimeout: 20
maxNumberOfMessages: 10
visibilityTimeout: 30
bindings:
testEvent1-in-0:
destination: events-queue
testEvent2-in-0:
destination: events-queue
default-binder: sqs
但是使用上述配置,两个消费者都无法正常工作。如果我要删除任何一个消费者,另一个正在工作。
我如何能够配置云流,以便两个消费者都可以根据生成的事件有效负载工作。
【问题讨论】:
标签: java spring spring-cloud-stream