我在SpringKafka有一个小项目,我希望我能通过application.yml传递我的kafka主题,避免硬编码问题。目前我的情况是:
public class KafkaConsumer {
@Autowired
private UserRepository userRepository;
@KafkaListener(topics = "myTopic")
public void listen(@Validate UserDto userDto) {
User user= new User(userDto);
userRepository.save(userDto.getAge(), user);
}
}
现在我有了一个静态的kafka主题(作为一个字符串),可以把它放到application.yml中并从那里读取吗?谢谢大家的帮助
2条答案
按热度按时间6ioyuze21#
您可以在application.yml中发布您的主题:
在你的Kafka里:
所以应该解决“属性值”不能取动态值的问题
这对我有用。
gzszwxb42#
您可以在application.yml文件中使用以下条目
通常我们使用@value as below从properties/yaml文件中为java类中的指定键选取数据,如下所示。
由于kafka listener在这里要求常量,所以您可以如下所示直接使用
}