我们正在评估反应堆库,以便在我们的项目中使用它。我们的项目得到了春季背景的支持。所以我们需要一个工具来构建具有弹簧支持的事件驱动的应用程序。
此外,我们关注的主要领域是编写异步事件序列(Streams& Promises)的能力。在某些其他用例中,我们可能需要发布者/订阅者模型或异步运行长时间运行的进程。
正如我评估的那样,我注意到以下一些最新发布的反应堆弹簧版本是v1.1.3,依赖于reactor-v1.1.3我们可以使用。
但我也注意到那里有reactor-v.2.0.0(正在开发中),它有很多变化,特别是在Streams和Promises方面。
请建议我使用弹簧支持使用reactor-v1.1.3是否是一个好主意,或者如果我们必须使用更多Streams和Promises,我们是否应该等reactor-v2.0。
如果我们继续使用reactor-v1.1.3.RELEASE可能需要多少代码更改才能将自己升级到v2.0.0。
我还想检查一下reactor-v1.1.3 / v1.1.4是否有“反应器样品”分支。截至目前,我只能看到一个主分支可用,已更新为使用reactor-v2.0。
我们是否有最新版本v1.1.4的reactor API。目前API(https://reactor.github.io/docs/api/)指向Reactor 1.1.0 Release。
哪里可以找到reactor-core-2.0.0代码库?我发现很难找到。
由于我是这个图书馆的新手,如果我提到的任何要点/问题不正确,请随时纠正我。感谢。
答案 0 :(得分:3)
如果您正在开始新的开发,请务必使用Reactor 2.0。它主要是Stream
和Promise
API的重大改进,导致不得不碰撞主版本号。其余代码库的差异非常小。在1.1代码和2.0代码之间进行转换需要一些包重命名和一些调整(比如在Deferred
1.1中删除使用Stream
对象。)
证明重大点释放的另一个重大变化是Reactive Streams specification的实施。它超出了这个问题的范围,进一步讨论它,但它是Reactor向前发展的重要部分。能够与Akka Streams,Ratpack,RxJava以及其他已经(或将很快)实现Reactive Streams的库本地集成,这对Reactor 2.0来说是一个巨大的好处。
The reactive-streams
branch包含Reactor 2.0的代码。 M1即将推出,我们将开始更新样本的过程,但是正如您已经注意到的那样,一些组件如Spring支持已经不得不碰到Reactor 2.0,因为它们依赖于一些主要的近乎生产的应用程序。