微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

尽管我看到 spring.embedded.kafka.brokers 存在,为什么 ${spring.embedded.kafka.brokers} 没有填充到 application-test.yaml 中?

如何解决尽管我看到 spring.embedded.kafka.brokers 存在,为什么 ${spring.embedded.kafka.brokers} 没有填充到 application-test.yaml 中?

我们正在使用 @EmbeddedKafka,在 application-test.yml 中我们有

kafka:
  confluentBootstrapAddress: ${spring.embedded.kafka.brokers}

我可以看到 confluentBootstrapAddressnull

但是,如果在调试模式下,我会检查这个

this.resolveEmbeddedValue("${spring.embedded.kafka.brokers}") = "127.0.0.1:51020"

然后我可以看到该值存在,并且确实启动了嵌入式Kafka。

可能是什么问题?评估 application.yml 的时刻与嵌入式代理启动的时刻之间的生命周期/时刻不匹配?

解决方法

实际上,在使用 @Builder public class Person { private final String firstName; private final String lastName; } 而不是 Person.builder() .firstName("John") .lastName("Smith") .build(); 的测试设置中存在错误。将其更改为 @Profile 使 Spring Test 考虑到 @ActiveProfiles

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。