我将springkafka与spel结合使用,并尝试根据其中一个属性文件中的值来听不同的主题。
@kafkalistener(topics=“#{kafkatopics.gettopics().get('${key.in.property}')}”)
现在gettopics正在返回一张Map。
当get()返回一些字符串[]时,一切正常。
但是,如果get()返回“”,即我不想订阅任何主题,则会出现一些问题。
我得到了非法的特例。主题“”无效。
如果我不想在运行时听任何主题,有什么方法可以解决这个问题吗?
1条答案
按热度按时间pwuypxnk1#
这个
@KafkaListener
有以下选项:所以,你可以用你的
kafkaTopics.getTopics().get()
作为确定是否需要启动该容器的条件。仅当容器启动时,它才订阅为其配置的主题。