使用spring-kafka的KafkaListener通过方法或属性来指定topics等
在Spring Kafka的KafkaListener中,通常可以通过属性来指定topics等内容,但有时希望能够通过方法或属性动态指定。在这种情况下,可以与beanRef结合使用来实现。
@Component
public class SampleConsumer {
public String getMyTopic() {
return "mytopic3";
}
// public String myTopic = "mytopic3";
@KafkaListener(topics = "#{sample.myTopic}", beanRef = "sample")
public void processMessage(
在beanRef中,可以使用自定义的名称来指代这个bean自身(默认为__listener)。这样,在SpEL中就可以引用该bean,从而调用其方法或属性。上面的例子是通过#{sample.myTopic}来调用getMyTopic方法。同时,也可以使用被注释掉的myTopic属性。