我正在使用 Micronaut 并尝试实现 Hikari 以连接到 PostgresSQL 数据库。我已经使用 yml 配置在本地连接上运行了
datasources:
default:
jdbcUrl: "jdbc:postgresql://127.0.0.1:3306/playland"
username: "user"
password: "password"
效果很好。问题是,当我将其部署到 App Engine 时,我需要使用以下内容。如果可能的话,我更愿意(我认为)将其添加到 yml 配置中,但我似乎无法弄清楚。
// For Java users, the Cloud SQL JDBC Socket Factory can provide authenticated connections.
// See https://github.com/GoogleCloudPlatform/cloud-sql-jdbc-socket-factory for details.
config.addDataSourceProperty("socketFactory", "com.google.cloud.sql.postgres.SocketFactory");
config.addDataSourceProperty("cloudSqlInstance", CLOUD_SQL_CONNECTION_NAME);
我已经按照教程中的说明使用配置使其工作,但在将 datasourceproperties 合并到 yml 配置中时遇到了问题。我根据另一个答案尝试了这个:
datasources:
default:
jdbcUrl: "jdbc:postgresql:///playland"
username: "user"
password: "password"
hikari:
data-source-properties:
socketFactory: "com.google.cloud.sql.postgres.SocketFactory"
cloudSqlInstance: "project:region:instance"
但是没有成功。有没有办法添加或者不添加?
最佳答案
尝试使用完整 JDBC URL:
jdbc:postgresql:///<DATABASE_NAME>?cloudSqlInstance=<INSTANCE_CONNECTION_NAME>&socketFactory=com.google.cloud.sql.postgres.SocketFactory&user=<POSTGRESQL_USER_NAME>&password=<POSTGRESQL_USER_PASSWORD>
请告诉我它是否适合您。
关于java - YML 文件中的 HikariCP DataSourceProperties,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60020988/