我有一个toml文件,用于配置使用带有以下签名的Spring框架的KafkaListener批注的应用程序:
@KafkaListener(id = "id0", topics = "some.hard.coded.topic.name")
我有一个配置管理器类,该类读取TOML文件并根据应用程序所运行的环境配置各种应用程序设置。其中之一是要监听的主题。但是,我不知道如何将其传递给Kafka Listener批注。我的理解是,可以将SPEL与yml文件一起使用来完成此操作,但是我有点在这里使用TOML。有人可以建议吗?
答案 0 :(得分:2)
topics
的{{1}}属性确实支持包括@KafkaListener
访问权限的SpEL,因此,如果您有一些bean读取该TOML文件并将其表示为一组运行时属性,例如吸气剂,那么您绝对可以从那里获得SpEL的收益。例如:
BeanFactory
其中topics = "#{myTomlService.getTopic()}"
是所提及服务的bean名称。