我们正在评估 react 器库以在我们的项目中使用它。我们的项目得到了 spring 上下文的支持。所以我们需要一个工具来构建具有 spring 支持的事件驱动应用程序。
此外,我们主要关注的领域是组合异步事件序列(Streams & Promises)的能力。在某些其他用例中,我们可能需要发布者/订阅者模型或异步运行长时间运行的进程。
在我评估时,我注意到以下一些最新发布的 reactor-spring 版本是 v1.1.3,依赖于我们可以使用的 reactor-v1.1.3。
但我也注意到了 reactor-v.2.0.0(正在开发中),它有相当多的变化,尤其是在 Streams 和 Promises 领域。
请建议我使用具有 spring 支持的 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 samples”分支。到目前为止,我只能看到一个可用的主分支,该分支已更新为使用 reactor-v2.0。
我们有最新版本 v1.1.4 的 react 堆 API。目前 API ( https://reactor.github.io/docs/api/ ) 指向 Reactor 1.1.0 Release。
我在哪里可以找到 reactor-core-2.0.0 代码库?我发现很难找到。
由于我是这个图书馆的新手,如果我提到的任何观点/问题不正确,请随时纠正我。谢谢。
最佳答案
如果您正在开始新的开发,请务必使用 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,因为它们依赖于一些主要的几乎生产应用程序.
关于reactor-v1.x.x 与 reactor-v2.x.x,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25542487/