1

我在 Pivotal Web Services 上遇到问题,无法连接到 UAA 的 Postgres SQL 数据库。

我已经定义并绑定到应用程序的服务,但是手动输入凭据(不确定参数替换是否发生在 Env 变量中)

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 是正确的。

4

1 回答 1

0

日志显示的事实URL:postgres://...似乎表明 JDBC URL 被破坏并被jdbc:剥离。它似乎在 URL 中添加了用户名和密码,据我所知,PostgreSQL 驱动程序不支持。

要求连接到它不支持的 JDBC url 的 JDBC 驱动程序需要null由 JDBC 规范/API 返回。

换句话说,您的配置似乎是错误的,或者 UAA 做错了什么。由于我不了解 Cloudfoundry,因此无法回答具体问题。

于 2017-01-29T08:24:13.727 回答