我有一个 toml 文件,用于配置一个应用程序,该应用程序使用 Spring 框架的 KafkaListener 注释,并具有以下签名:
@KafkaListener(id = "id0", topic = "some.hard.coded.topic.name")
我有一个配置管理器类,它读取 TOML 文件并根据应用程序运行的环境配置各种应用程序设置。其中之一是要收听的主题。但是,我不知道如何将其传递给 Kafka Listener 注释。我的理解是,这可以使用 SPEL 结合 yml 文件来完成,但我有点锁定在这里使用 TOML。有人可以建议吗?
最佳答案
@KafkaListener的topics
属性确实支持SpEL,包括BeanFactory
访问,所以如果你有一些读取该TOML文件的bean并将其表示为一组运行时属性,例如getters,那么你肯定可以在那里获得 SpEL 的增益。例如:
topics = "#{myTomlService.getTopic()}"
其中 myTomlService
是上述服务的 Bean 名称。
关于java - 将 TOML 配置字段传递给 Spring KafkaListener 注解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52823845/