可以在非阻塞模式下使用 Objectify 吗?

Possible to use Objectify in non-blocking mode?

我正在构建一个 Spring 引导应用程序(Spring 5 和 Reactor)并且正在评估 Google 数据存储作为数据库。

因为我希望我的应用程序是反应式的,所以我需要一个非阻塞数据存储客户端,我找到了一个由 Spotify [https://github.com/spotify/async-datastore-client][1] 开发的客户端,但我需要更多帮助来映射我的 Java Bean 模型到数据库。

Google 将 Objectify 和 Catatumbo 列为第三方客户端库,但据我了解,它们都是阻塞的。

有没有办法以非阻塞方式使用这些库?或者还有其他好的选择吗?

至少对于 Objectify,它比这要复杂一点。 Objectify v6 正在阻塞,因为底层 Google 库正在阻塞。然而,Objectify v5 是完全异步的,而 v6 继承了这个基础设施——甚至为 Google 库创建了一个基于 Future 的外观。当 Google 添加一个 async API 到 SDK 时,适配 Objectify 应该是微不足道的。

综上所述,基于 Future 的异步 API 与回调或基于承诺的 API 并不完全相同。不要指望很快会看到基于回调的 API Objectify。