Java多数据Jdbc和R2dbc问题
Posted
技术标签:
【中文标题】Java多数据Jdbc和R2dbc问题【英文标题】:Java multiple data Jdbc and R2dbc problem 【发布时间】:2021-06-15 12:32:10 【问题描述】:我写了一个项目,在那里我使用了 r2dbc 和 jdbc。现在数据库有问题。我怎样才能将它们分开?信息来了却报错
Operator called default onErrorDropped
Application.yml
spring:
liquibase:
enabled: true
url: jdbc:postgresql://localhost:5432/liquebase
user: postgres
password: 12345
change-log: classpath:db/liquibase/db.changelog-master-main.yml
datasource:
driver-class-name: org.postgresql.Driver
hikari:
minimum-idle: 5
r2dbc:
url: r2dbc:postgresql://127.0.0.1:5432/liquebase
username: postgres
password: 12345
pool:
initial-size: 100
max-size: 500
max-idle-time: 30m
validation-query: SELECT 1
server:
port: 8085
【问题讨论】:
【参考方案1】:据我所知,您只能使用一个数据源。但是您可以在配置application.yml
上配置两者并在它们之间切换。像这样的:
spring:
profiles:
active: dev00
---
spring:
config:
activate:
on-profile: dev00
liquibase:
enabled: true
url: jdbc:postgresql://localhost:5432/liquebase
user: postgres
password: 12345
change-log: classpath:db/liquibase/db.changelog-master-main.yml
datasource:
driver-class-name: org.postgresql.Driver
hikari:
minimum-idle: 5
server:
port: 8085
---
spring:
config:
activate:
on-profile: dev01
r2dbc:
url: r2dbc:postgresql://127.0.0.1:5432/liquebase
username: postgres
password: 12345
pool:
initial-size: 100
max-size: 500
max-idle-time: 30m
validation-query: SELECT 1
server:
port: 8085
然后您通过配置spring.profiles.active: dev00
或spring.profiles.active: dev01
来决定使用哪一个。这个sample project 给你一个很好的源代码。
【讨论】:
以上是关于Java多数据Jdbc和R2dbc问题的主要内容,如果未能解决你的问题,请参考以下文章