我正在构建一个Spring启动应用程序(Spring 5和Reactor),并正在评估Google Datastore作为数据库。
由于我希望我的应用程序具有反应性,我需要一个非阻塞的数据存储客户端,我发现了一个由Spotify [https://github.com/spotify/async-datastore-client][1]开发的,但我希望在将我的Java Bean模型映射到数据库时提供更多帮助。
Google将Objectify和Catatumbo列为第三方客户端库,但根据我的理解,他们都是阻止。
有没有办法以非阻塞的方式使用这些库?还是有其他好的选择吗?
答案 0 :(得分:1)
至少在Objectify中,它比这复杂一点。 Objectify v6正在阻止,因为底层Google库正在阻止。但是,Objectify v5是完全异步的,v6继承了这个基础架构 - 甚至为Google库创建了一个基于Future的外观。当谷歌向SDK添加异步API时,适应Objectify应该是微不足道的。
所有这一切,基于Future的异步API与回调或基于承诺的API并不完全相同。不要期望很快就能看到Objectify的基于回调的API。