我可以使用 application.properties 中的以下属性为单个频道应用 partition.assignment.strategy :
spring.cloud.stream.kafka.bindings.input.consumer.configuration.partition.assignment.strategy
我想要实现的是将 partition.assignment.strategy 应用于具有单个属性的所有通道,并避免为所有通道编写相同的内容。
尝试设置 spring.cloud.stream.kafka.binder.configuration ,但没有帮助。
也许有人知道如何实现这个目标?
其他信息:我正在使用Spring Cloud 1.3.2.RELEASE。
提前致谢!
答案 0 :(得分:1)
我刚试过它,它对我来说很好......
spring.cloud.stream.kafka.binder.configuration.partition.assignment.strategy=\
org.apache.kafka.clients.consumer.RoundRobinAssignor
与
@SpringBootApplication
@EnableBinding(Sink.class)
public class So49053074Application {
public static void main(String[] args) {
SpringApplication.run(So49053074Application.class, args);
}
@StreamListener(Sink.INPUT)
public void in(byte[] in) {
}
}
和
2018-03-01 11:01:28.301 INFO 46708 --- [ main] o.a.k.clients.consumer.ConsumerConfig : ConsumerConfig values:
...
metrics.sample.window.ms = 30000
partition.assignment.strategy = [org.apache.kafka.clients.consumer.RoundRobinAssignor]
receive.buffer.bytes = 65536
...