java - YML 文件中的 HikariCP DataSourceProperties

标签 java postgresql google-app-engine hikaricp

我正在使用 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>

请告诉我它是否适合您。

Cloud SQL Socket Factory for JDBC drivers

关于java - YML 文件中的 HikariCP DataSourceProperties,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60020988/

相关文章:

java - 有没有一种简单的方法可以使用 java Graphics 2D 对象淡入字符串字符?

java - java 中列表中表达式的最大数量为 1000

python - 在 Mac 上与 GoogleAppEngineLauncher 配合使用的编辑器

sql - 检查唯一性(SQL)的最佳方法是什么

python - 如何在谷歌应用程序引擎中使一项任务在另一项任务完成后立即开始?

python - 即使我没有安装 webapp2,import webapp2 也可以在 google-app-engine 上运行

java - 使用 javac 编译 Java 文件集时缺少类文件

java - 如何使用户名像 Twitter 和 Facebook 应用程序一样可点击?

sql - 关系数据库中的行程时间计算?

sql - 四舍五入除法的商?