簡體   English   中英

R2DBC - 它在現實中是如何工作的?

[英]R2DBC - how it works in reality?

我已經開始學習反應式范式,所以我對這個主題很陌生。 我創建了一個示例應用程序,它使用 Spring R2DBC 連接到 PostgreSQL DB。

我創建了一個 Rest Controller 來獲取和保存數據庫中的數據,以更好地理解一個概念。

我預計會遇到以下場景:

  1. 我正在從反應式存儲庫類中運行 findById 查詢以查找 id,它在 DB 中尚不存在。 我訂閱了返回的 Mono 對象
  2. 我正在保存具有在(1)中查詢的 id 的實體
  3. 來自 (1) 的查詢不斷監聽數據庫中的變化並立即找到添加的實體

不幸的是,它不能以這種方式工作。 基本上沒有 (3) 點永遠不會發生,我需要從 (1) 手動觸發查詢以再次訪問數據庫。

我的問題是 - 我做錯了什么還是錯誤地理解了反應式數據庫概念?

我覺得,這里需要一些解釋。 我真的很感謝你在這個問題上的幫助。

一般來說,我認為http連接和數據庫連接會在執行完成后釋放連接。

但是對於您這里的案例列表,在 Spring Reactive 堆棧中實現並不困難。

我使用可尾隨 Mongo 文檔創建了一些示例。

對於 R2dbc,您可以使用SinksProcessors來重放有效負載(保存時)並發送到客戶端, 請檢查此分支

你也可以使用 Postgres Notificaiton 來實現類似的功能,檢查這個問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM