我的印象是spring-kafka 2.0.0.BUILD-SNAPSHOT需要一个基本spring框架的构建快照才能运行。这是真的吗?
当我对它运行编译的代码时,由于调用Assert(expr,Supplier),它在初始化期间出错,这在最新版本的springframework中是不存在的。我必须查看主分支,以找到可以接受函数而不是字符串的Assert.java版本。(春季从MessagingMessageListenerAdapter.java:387调用-kafka)
两者之间的区别
Assert.state(expr, String.format("error message: %s", myVar))和
Assert.state(expr, () -> {
return String.format("error message: %s", myVar);
});是一个非常小的优化-特别是在只在初始化期间执行的代码中,而不是针对每个传入消息执行。将对未发布代码的依赖保持在绝对最低水平,这样spring-kafka就不会因为依赖于springframework本身的未发布版本而无法发布,这不是很有意义吗?
我不介意对spring-kafka的依赖,因为这是一个很小的代码库,如果需要的话,我可以将它隔离在我自己的代码库中。但如果它强迫我对整个spring进行快照,我就不能考虑使用它,这意味着这个项目不会从我在发布生产版本的过程中发现和/或修复的bug中受益。
https://stackoverflow.com/questions/44421255
复制相似问题