java - 将 TOML 配置字段传递给 Spring KafkaListener 注解

标签 java spring annotations spring-kafka toml

我有一个 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/

相关文章:

java - 如果数据在两次删除之间发生变化,则最小堆和删除项目

java - JFrame:如何在没有 JTextArea/JTextField 的情况下显示文本

java - Spring JPA TransactionManager 未找到

java - 注释和 SimpleFormController

annotations - 设置metadata-complete ="true"(解决了Tomcat 7启动缓慢的问题)后如何处理注释?

java - 复杂类型中的 XJC javaType 适配器

java - 将 sqlite 表的 id 从 ListView 传递到另一个 Activity

java - 组织.postgresql.util.PSQLException : No value specified for parameter 1

进入数据库前的Java缓存数据

java - Struts2 不适用于带注释的操作