2017-05-04 19 views

回答

0

连续查询取决于使用的数据存储。我现在知道,能够这样的功能的三个店的:

  • MongoDB的(有上限的集合和tailable光标,在Spring数据存储库通过@Tailable支持)
  • Redis的(使用发布/订阅消息或收听密钥空间通知,尚未被Spring Data Redis支持,但可以自己构建或提交PR)
  • Apache Geode(以前称为GemFire)支持连续查询(尚未支持以反应方式Apache Geode的Spring数据)。

反应型不需要发出有限数量的项目本身。无限的流可以是任何你想要听/更长时间的过程。消息传递系统(JMS)是传统方法的消息监听器的一个好例子。您使用消息传递系统来通过流发送消息。这与前面提到的数据存储类似。

例如,MongoDB可以在封顶的集合上使用可放大的游标并在该流上发射数据。只要客户端将新文档插入到集合中,服务器就会将文档发送到客户端,从而将其推送到流中。

+0

那么,在这种情况下,我宁愿听一个文档的任何更改,而不是在添加文档时。所以并不完全适合可放大的游标范例。 – Kristof