java - 如何使用spring添加多个谷歌云数据源
问题描述
我有两个已经在本地工作的 sql 数据源,但我想将它部署到两个谷歌云应用程序引擎(我现在正在使用它)。我需要更改我的应用程序属性以定义第二个谷歌实例/数据库吗?
我已经在我的 pom 中为名为sql.instance.second
and的连接设置了链接sql.database.second
。我不知道如何定义spring.cloud.gcp.sql...
第二个应用引擎。我的另一个选择是根本不在本地运行它,而只是在我定义数据源时定义一个云实例,然后为每个实例定义一个驱动程序,但我也不太确定如何做到这一点。
spring.cloud.gcp.sql.instance-connection-name=@sql.instance.first@
spring.cloud.gcp.sql.database-name=@sql.database.first@
primary.datasource.jdbc-url = @mysql.host.first@
primary.datasource.username = @mysql.user.first@
primary.datasource.password = @mysql.pass.first@
secondary.datasource.jdbc-url = @mysql.host.second@
secondary.datasource.username = @mysql.user.second@
secondary.datasource.password = @mysql.pass.second@
解决方案
我能够通过首先摆脱这种依赖来让它工作
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-gcp-starter-sql-mysql</artifactId>
</dependency>
然后把我改成application.properties
这个
primary.datasource.driverClassName=com.mysql.jdbc.GoogleDriver
primary.datasource.jdbc-url = @mysql.host.first@
primary.datasource.username = @mysql.user.first@
primary.datasource.password = @mysql.pass.first@
secondary.datasource.driverClassName=com.mysql.jdbc.GoogleDriver
secondary.datasource.jdbc-url = @mysql.host.second@
secondary.datasource.username = @mysql.user.second@
secondary.datasource.password = @mysql.pass.second@
并删除
spring.cloud.gcp.sql.instance-connection-name=@sql.instance.first@
spring.cloud.gcp.sql.database-name=@sql.database.first@
@mysql.host.first@
将我的 pom.xml 中的 url 更改为
<mysql.host.first>jdbc:google:mysql:...</mysql.host.first>
推荐阅读
- c# - 如何将所有数据从一个单元格复制到另一个单元格?
- css - 无法将 SVG 移到卡体的另一侧,需要反转它
- php - 如何在下拉选项中插入相同的 ID
- r - 根据特定条件在 R 中添加新行和值
- python - 对数图中的相同刻度
- chatbot - Rasa 阈值实现
- laravel - Nuxt Auth + Laravel Passport - 本地方案与护照提供者
- python - pygame按住lkey延迟
- javascript - 关于处理来自 DOM 事件的错误的问题
- r - “survival”包中的 survfit 函数出错:“strata(mf[ll]) 中的错误:所有参数的长度必须相同”