使用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属性。

广告
将在 10 秒后关闭
bannerAds