我得到的印象是spring-kafka 2.0.0.BUILD-SNAPSHOT需要基本弹簧框架的构建快照才能运行。这是真的吗?
当我运行针对它编译的代码时,由于调用了Assert(expr,Supplier),它在初始化期间出错,这在springframework的最新版本中并不存在。我必须查看master分支以找到Assert.java的一个版本,它可以使用Function而不是字符串。 (在spring-kafka中从MessagingMessageListenerAdapter.java:387调用)
之间的区别
Assert.state(expr, String.format("error message: %s", myVar))
和
Assert.state(expr, () -> {
return String.format("error message: %s", myVar);
});
是一个非常小的优化 - 特别是在只在初始化期间而不是每个传入消息执行的代码中。将未发布的代码的依赖性保持在绝对最小值是没有意义的,因此spring-kafka最终无法释放,因为它依赖于未发布的springframework本身版本?
我不介意依赖spring-kafka并不完全释放,因为这是一个小代码库,如果需要我可以在我自己的代码库中隔离。但是如果它强迫我整个弹簧的快照,我就无法考虑使用它,这意味着该项目不会受益于我发现和/或修复的错误生产发布。
答案 0 :(得分:0)
2.0.0需要Spring Framework 5.0。
1.2.2.BUILD-SNAPSHOT和1.1.6.BUILD-SNAPSHOT适用于较早的Spring版本。
1.2.2和1.1.6今天应该重新发布。