我在Pivotal Web Services上遇到问题,我无法连接到UAA的Postgres SQL数据库。
我已将服务定义并绑定到应用程序,但是我手动放入凭据(不确定是否在Env变量中进行了param替换)
UAA.yaml文件的相关部分:
database:
driverClassName: org.postgresql.Driver
url: jdbc:postgresql://babar.elephantsql.com:5432/db
username: db
password: randomPass
maxactive: 15
maxidle: 5
minidle: 0
removeabandoned: false
logabandoned: true
abandonedtimeout: 300
evictionintervalms: 15000
caseinsensitive: false
我受限于ElephantSQL的“熊猫”计划,这限制了我20个并发连接。这是我在启动时通常在UAA中收到的错误:
java.sql.SQLException:驱动程序:org.postgresql.Driver@112ab411为URL返回null:postgres:// db:randomPass@babar.elephantsql.com:5432 / db 2017-01-28T14:15:57.43-0500 [APP / PROC / WEB / 0] OUT org.apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver(PooledConnection.java:296)
我不确定为什么它返回null,凭据和url是正确的。
答案 0 :(得分:0)
日志记录显示URL:postgres://...
的事实似乎表明JDBC URL被破坏并且jdbc:
被剥离。它似乎在URL中添加了用户名和密码,据我所知,PostgreSQL驱动程序不支持。
要求连接到不支持的JDBC URL的JDBC驱动程序需要通过JDBC规范/ API返回null
。
换句话说,您的配置似乎是错误的,或者UAA做错了什么。由于我不知道Cloudfoundry,我无法回答其具体细节。