Java 如何将spring.cloud.stream.kafka.bindings配置属性应用于所有使用者
我能够使用应用程序.properties中的以下属性为单个通道应用分区.assignment.strategy: spring.cloud.stream.kafka.bindings.input.consumer.configuration.partition.assignment.strategy 这是根据 我想要实现的是对具有单个属性的所有通道应用分区.assignment.strategy,并避免为所有通道编写相同的内容 尝试设置spring.cloud.stream.kafka.binder.configuration但没有帮助 也许有人知道如何做到这一点 其他信息:我正在使用SpringCloud 1.3.2.RELEASEJava 如何将spring.cloud.stream.kafka.bindings配置属性应用于所有使用者,java,spring,spring-boot,spring-cloud,spring-kafka,Java,Spring,Spring Boot,Spring Cloud,Spring Kafka,我能够使用应用程序.properties中的以下属性为单个通道应用分区.assignment.strategy: spring.cloud.stream.kafka.bindings.input.consumer.configuration.partition.assignment.strategy 这是根据 我想要实现的是对具有单个属性的所有通道应用分区.assignment.strategy,并避免为所有通道编写相同的内容 尝试设置spring.cloud.stream.kafka.bind
提前谢谢 我刚刚测试过,它对我来说很好
spring.cloud.stream.kafka.binder.configuration.partition.assignment.strategy=\
org.apache.kafka.clients.consumer.RoundRobinAssignor
与
及
我编辑了我的答案,我刚刚测试了它,它对我来说很有效。是的,你的简单示例正如预期的那样有效。spring.cloud.stream.kafka.binder.configuration似乎在那个简单的示例中起作用,但由于某些原因,它在我们的服务上不起作用,而我们的服务要复杂得多:)将尝试找出原因。。。如果你知道这是什么原因,请告诉我。奇怪。我想不出有什么原因可以解释这种复杂性会有什么不同。
@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
...