为什么针对Spanner模拟器运行的Spanner spring演示无法创建池化数据库连接?

问题描述

我无法使Google的spring-data-jpa-sample project与Spanner模拟器对抗。我在MacOS Mojave上使用了预安装的JDK 11(AdOpenOpenJDK版本11.0.3 + 7)。

我已经通过我的GCP帐户进行了身份验证,并按照here所述进行了模拟器设置,并按照说明进行了操作,以启动模拟器,成功创建实例并设置了{{1} }环境变量设置为SPANNER_EMULATOR_HOST

Spring应用程序运行时失败,并显示以下错误:

localhost:9010

在此之前有两个警告。 HHH000342:无法获得与查询元数据的连接)和SQL错误:0,SQLState:空。

如果我将spring.datasource.url更新为最后添加java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available,request timed out after 30088ms. (我认为这是建议的解决方法here),结果是相同的。

应用程序代码和配置与spring-data-jpa-sample project完全相同,这就是我未在此处发布它的原因-除了application.properties中usePlainText=true的值(请参见下文)。要复制此问题,请遵循仿真器设置说明here,克隆存储库,设置项目,实例和数据库变量,然后运行代码示例。

这是spring.datasource.url文件的内容:

application.properties

解决方法

尽管进行了仔细的检查,但我们错过了设置数据库的重要步骤:

gcloud spanner databases create spring-demo --instance=test-instance 

现在一切都很好。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...