簡體   English   中英

Spring R2DBC 不支持多主機/故障轉移

[英]Spring R2DBC doesn't support multiple host/failover

我在我的項目中使用 spring r2dbc 並試圖讓它與多個主機/故障轉移 postgres 拓撲一起工作; 換句話說,db url 是這樣的: r2dbc:postgresql:failover://host1,host2,host3:port/

我正在使用 2.7.5 版本的 spring 引導,並得到:

  • r2dbc-pool-0.9.2.RELEASE
  • r2dbc-spi-0.9.1.RELEASE
  • r2dbc-postgresql-0.9.2.RELEASE

作為 spring 啟動的一部分。
據我了解,這組 r2dbc 庫尚不支持故障轉移,因為我看到錯誤指出無法解析此類 url。

我嘗試將r2dbc-postgresql-0.9.2.RELEASE升級到1.0.0.RC1但出現以下錯誤:

class java.lang.Long cannot be cast to class java.lang.Integer
(java.lang.Long and java.lang.Integer are in module java.base of loader 'bootstrap')
java.lang.ClassCastException: class java.lang.Long cannot be cast to class java.lang.Integer
(java.lang.Long and java.lang.Integer are in module java.base of loader 'bootstrap')

作為執行簡單delete query DELETE FROM my_table WHERE boolean_flag = $1

這間接說明 r2dbc 庫中存在一些兼容性問題。 如果有這些庫的工作集可以在我的情況下工作或者正在等待新的 spring 版本是我唯一的選擇,誰能指導我?

從 Spring 引導版本 2.7.5(據我所知低於 3.0.0 的任何版本),在您的項目中沒有使用 postgres/spring boot/r2dbc/多主機故障轉移組合的有效選項。 只是暫時不支持。

不過好在即將發布的Spring boot 3.0.0版本應該會支持。

引用 r2dbc gitter 的活躍成員 Mark Paluch的話:

Spring Framework 6/Spring Data R2DBC 3.0 支持 R2DBC 1.0,因為 R2DBC 0.9 和 1.0 之間存在二進制兼容性更改

暫無
暫無

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

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