我将Google的示例用于postgres: https://github.com/GoogleCloudPlatform/java-docs-samples/tree/master/cloud-sql/postgres/servlet
我们在中更新了连接参数: 〜/ java-docs-samples / cloud-sql / postgres / servlet / src / main / webapp / WEB-INF / appengine-web.xml
如果我们使用mvn appengine:run
,则该应用程序可以正常运行,并且我们已验证Cloud SQL实例中的postgres db正在接收和提供数据。
如果使用mvn appengine:deploy
进行部署,则启动连接池将失败。
在以下位置无法启动上下文c.g.a.r.j.AppEngineWebAppContext 最终... com.example.cloudsql.ConnectionPoolContextListener.createConnectionPool(ConnectionPoolContextListener.java:96)
在示例代码中为:
DataSource pool = new HikariDataSource(config);
设置连接参数时:
config.setJdbcUrl(String.format("jdbc:postgresql:///%s", DB_NAME));
config.setUsername(DB_USER);
config.setPassword(DB_PASS);
我为setJdbcUrl提供了String.format的各种版本,例如
但是什么可能导致已部署的AppEngine应用无法创建数据上下文?