【发布时间】:2019-01-17 13:45:38
【问题描述】:
我已经为 Postgresql 启用了复制,并且我正在使用 PGPool 进行负载平衡。
我在使用 HikariCP 甚至使用 Apache DBCP 连接到 Postgres 时遇到问题。
有没有办法在 SpringBoot 应用程序中使用 PGPool?
请找到配置文件
spring:
datasource:
driverClassName: org.postgresql.Driver
url: jdbc:postgresql://192.168.177.148:9999/test
username: myUser
password: XXXXXXX
jpa:
properties.hibernate.dialect: org.hibernate.dialect.PostgreSQLDialect
database-platform: org.hibernate.dialect.PostgreSQLDialect
hibernate.ddl-auto: update
logging:
level:
org.springframework: DEBUG
请查找堆栈跟踪:
2018-08-10 10:20:19.124 信息 37879 --- [主要] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - 开始... 2018-08-10 10:20:20.617 错误 37879 --- [main] com.zaxxer.hikari.pool.HikariPool:HikariPool-1 - 池初始化期间出现异常。
org.postgresql.util.PSQLException:致命:无法绑定 详细信息:无法获取解析消息“” 在 org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2440) ~[postgresql-42.2.4.jar:42.2.4] 在 org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2183) ~[postgresql-42.2.4.jar:42.2.4] 在 org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:308) ~[postgresql-42.2.4.jar:42.2.4] 在 org.postgresql.core.SetupQueryRunner.run(SetupQueryRunner.java:53) ~[postgresql-42.2.4.jar:42.2.4]
018-08-10 10:20:20.620 WARN 37879 --- [main] o.s.b.a.orm.jpa.DatabaseLookup:无法从数据源确定 jdbc url
更多跟踪
org.springframework.jdbc.support.MetaDataAccessException:无法获取用于提取元数据的连接;嵌套异常是 org.springframework.jdbc.CannotGetJdbcConnectionException: 获取 JDBC 连接失败;嵌套异常是 org.postgresql.util.PSQLException: FATAL: 无法绑定 详细信息:无法获取解析消息“” 在 org.springframework.jdbc.support.JdbcUtils.extractDatabaseMetaData(JdbcUtils.java:328) ~[spring-jdbc-5.0.8.RELEASE.jar:5.0.8.RELEASE] 在 org.springframework.jdbc.support.JdbcUtils.extractDatabaseMetaData(JdbcUtils.java:356) ~[spring-jdbc-5.0.8.RELEASE.jar:5.0.8.RELEASE] 在 org.springframework.boot.autoconfigure.orm.jpa.DatabaseLookup.getDatabase(DatabaseLookup.java:72) ~[spring-boot-autoconfigure-2.0.4.RELEASE.jar:2.0.4.RELEASE]
更多跟踪
原因:org.springframework.jdbc.CannotGetJdbcConnectionException: 获取JDBC连接失败;嵌套异常是 org.postgresql.util.PSQLException: FATAL: 无法绑定 详细信息:无法获取解析消息“” 在 org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81) ~[spring-jdbc-5.0.8.RELEASE.jar:5.0.8.RELEASE] 在 org.springframework.jdbc.support.JdbcUtils.extractDatabaseMetaData(JdbcUtils.java:319) ~[spring-jdbc-5.0.8.RELEASE.jar:5.0.8.RELEASE] ...省略了61个常用框架 引起:org.postgresql.util.PSQLException:致命:无法绑定 详细信息:无法获取解析消息“” 在 org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2440) ~[postgresql-42.2.4.jar:42.2.4] 在 org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2183) ~[postgresql-42.2.4.jar:42.2.4] 在 org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:308) ~[postgresql-42.2.4.jar:42.2.4] 在 org.postgresql.core.SetupQueryRunner.run(SetupQueryRunner.java:53) ~[postgresql-42.2.4.jar:42.2.4] 在 org.postgresql.core.v3.ConnectionFactoryImpl.runInitialQueries(ConnectionFactoryImpl.java:674) ~[postgresql-42.2.4.jar:42.2.4] 在 org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:223) ~[postgresql-42.2.4.jar:42.2.4] 在 org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:49) ~[postgresql-42.2.4.jar:42.2.4] 在 org.postgresql.jdbc.PgConnection.(PgConnection.java:195) ~[postgresql-42.2.4.jar:42.2.4] 在 org.postgresql.Driver.makeConnection(Driver.java:454) ~[postgresql-42.2.4.jar:42.2.4] 在 org.postgresql.Driver.connect(Driver.java:256) ~[postgresql-42.2.4.jar:42.2.4] 在 com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:117) ~[HikariCP-2.7.9.jar:na] 在 com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:123) ~[HikariCP-2.7.9.jar:na] 在 com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:365) ~[HikariCP-2.7.9.jar:na]
【问题讨论】:
-
你得到什么错误/堆栈跟踪?另外,如果可能的话,共享配置文件/类
-
嗨@RajaAnbazhagan,感谢您的回复。我已经更新了我的问题。请看一看。
标签: postgresql spring-boot spring-data-jpa pgpool