在 PCF(Pivotal Cloud Foundry)中部署应用程序时,Spring Boot 无法从数据源确定 JDBC url
Springboot unable to determine JDBC url from datasource while deploying application in PCF(Pivotal Cloud Foundary)
我正在 PCF 中部署 SpringBoot 应用程序,它具有 oracle 数据库连接,我还使用 oracle 凭据创建了用户创建的服务实例并绑定到应用程序。
以下是 VCAP 服务变量:
{
"name": "healthwatch-api-database",
"instance_name": "healthwatch-api-database",
"binding_name": 空,
"credentials":{
"driver": "oracle.jdbc.OracleDriver",
"url": "jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP) (HOST=10.157.129.175)(PORT=1527))(CONNECT_DATA=(SERVER=DEDICATED)(SID=DEVCLOUD)))",
"username": "EXTRANET_USER",
"password": "EXTRANET_USER1"
},
推送应用后的日志如下:
2018-10-09T18:26:41.29+0530 [APP/PROC/WEB/0] OUT o.s.b.w.s.ServletRegistrationBean - 映射 servlet:'dispatcherServlet' 到 [/]
2018-10-09T18:26:41.47+0530 [APP/PROC/WEB/0] 2018 年 10 月 9 日 12:56:41.471/UTC [主要] 信息
2018-10-09T18:26:41.47+0530 [APP/PROC/WEB/0] 输出 o.s.j.d.DriverManagerDataSource - 已加载 JDBC 驱动程序:oracle.jdbc.OracleDriver
2018-10-09T18:26:42.17+0530 [APP/PROC/WEB/0] 2018 年 10 月 9 日结束 12:56:42.174/UTC [主要] 警告
2018-10-09T18:26:42.17+0530 [APP/PROC/WEB/0] OUT o.s.b.a.orm.jpa.DatabaseLookup - 无法从数据源
确定jdbc url
2018-10-09T18:26:42.17+0530 [APP/PROC/WEB/0] OUT org.springframework.jdbc.support.MetaDataAccessException: 无法获取用于提取元数据的连接;嵌套异常是 org.springframework.jdbc.CannotGetJdbcConnectionException:无法获得 JDBC 连接;嵌套异常是 java.sql.SQLException: ORA-00604: 错误发生在递归 SQL 级别 1
2018-10-09T18:26:42.17+0530 [APP/PROC/WEB/0] OUT ORA-01882: 找不到时区
2018-10-09T18:26:42.17+0530 [APP/PROC/WEB/0] 在 org.springframework.jdbc.support.JdbcUtils.extractDatabaseMetaData(JdbcUtils.java:338)
查看错误日志,原因似乎与时区设置有关。
2018-10-09T18:26:42.17+0530 [APP/PROC/WEB/0] OUT ORA-01882: timezone region not found
这里有一个 post 谈论类似的问题 -
现在如何将时区传递给您的应用程序?
您可以通过清单文件来做到这一点。看看这篇文章——
https://docs.cloudfoundry.org/devguide/deploy-apps/manifest.html
我正在 PCF 中部署 SpringBoot 应用程序,它具有 oracle 数据库连接,我还使用 oracle 凭据创建了用户创建的服务实例并绑定到应用程序。
以下是 VCAP 服务变量:
{
"name": "healthwatch-api-database",
"instance_name": "healthwatch-api-database",
"binding_name": 空,
"credentials":{
"driver": "oracle.jdbc.OracleDriver",
"url": "jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP) (HOST=10.157.129.175)(PORT=1527))(CONNECT_DATA=(SERVER=DEDICATED)(SID=DEVCLOUD)))",
"username": "EXTRANET_USER",
"password": "EXTRANET_USER1"
},
推送应用后的日志如下:
2018-10-09T18:26:41.29+0530 [APP/PROC/WEB/0] OUT o.s.b.w.s.ServletRegistrationBean - 映射 servlet:'dispatcherServlet' 到 [/] 2018-10-09T18:26:41.47+0530 [APP/PROC/WEB/0] 2018 年 10 月 9 日 12:56:41.471/UTC [主要] 信息
2018-10-09T18:26:41.47+0530 [APP/PROC/WEB/0] 输出 o.s.j.d.DriverManagerDataSource - 已加载 JDBC 驱动程序:oracle.jdbc.OracleDriver
2018-10-09T18:26:42.17+0530 [APP/PROC/WEB/0] 2018 年 10 月 9 日结束 12:56:42.174/UTC [主要] 警告
2018-10-09T18:26:42.17+0530 [APP/PROC/WEB/0] OUT o.s.b.a.orm.jpa.DatabaseLookup - 无法从数据源
确定jdbc url2018-10-09T18:26:42.17+0530 [APP/PROC/WEB/0] OUT org.springframework.jdbc.support.MetaDataAccessException: 无法获取用于提取元数据的连接;嵌套异常是 org.springframework.jdbc.CannotGetJdbcConnectionException:无法获得 JDBC 连接;嵌套异常是 java.sql.SQLException: ORA-00604: 错误发生在递归 SQL 级别 1
2018-10-09T18:26:42.17+0530 [APP/PROC/WEB/0] OUT ORA-01882: 找不到时区
2018-10-09T18:26:42.17+0530 [APP/PROC/WEB/0] 在 org.springframework.jdbc.support.JdbcUtils.extractDatabaseMetaData(JdbcUtils.java:338)
查看错误日志,原因似乎与时区设置有关。
2018-10-09T18:26:42.17+0530 [APP/PROC/WEB/0] OUT ORA-01882: timezone region not found
这里有一个 post 谈论类似的问题 -
现在如何将时区传递给您的应用程序?
您可以通过清单文件来做到这一点。看看这篇文章—— https://docs.cloudfoundry.org/devguide/deploy-apps/manifest.html