微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

R2DBC-它如何在现实中工作?

如何解决R2DBC-它如何在现实中工作?

我已经开始学习反应式范例,所以我在这个话题上很新。 我创建了一个示例应用程序,该应用程序使用Spring R2DBC连接到Postgresql DB。

我创建了一个Rest Controller,用于在DB中提取和保存数据,以更好地理解概念。

我希望满足以下情况:

  1. 我正在从反应式存储库类中运行findById查询,以查找id(DB中尚不存在)。我正在订阅返回的Mono对象
  2. 我正在保存ID为(1)的实体
  3. 来自(1)的查询一直在侦听数据库中的更改并立即找到添加的实体

不幸的是,它不能以这种方式工作。基本上,第(3)点永远不会发生,我需要手动从(1)触发查询以再次击中数据库

我的问题是-我是在做错什么还是不正确地理解反应式数据库概念?

我觉得这里需要一些解释。非常感谢您在此问题上的帮助。

解决方法

一般来说,我认为http连接和数据库连接将在执行完成后释放连接。

但是对于这里的案例列表,在Spring Reactive堆栈中实现并不难。

我已经使用可尾的Mongo文档创建了一些示例。

对于R2dbc,您可以使用SinksProcessors重播负载(保存时)并发送到客户端check this branch

您还可以利用Postgres Notificaiton来实现类似的功能,请选中this question

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。