使用 c3p0 的 JDBC url 中的应用程序名称 [重复]

Posted

技术标签:

【中文标题】使用 c3p0 的 JDBC url 中的应用程序名称 [重复]【英文标题】:Application name in JDBC url using c3p0 [duplicate] 【发布时间】:2016-08-23 10:05:10 【问题描述】:

我希望我的应用程序在 DB 中以特定名称注册。

我已经配置了CAS 应用程序。 CAS 基于 Spring 框架。作为连接管理器,它使用 c3p0。作为 RDBMS,我使用 PostgreSQL。

在 jdbcUrl 中我设置了以下内容:

jdbc:postgresql://localhost:5432/dbname?ApplicationName=CAS_TEST

在 spring xml 配置中我的数据源看起来像:

<bean id="dataSource"
      class="com.mchange.v2.c3p0.ComboPooledDataSource"
      p:driverClass="org.postgresql.Driver"
      p:jdbcUrl="$my.db.url"
      p:user="$my.db.user"
      p:password="$my.db.password" />

我在 Grails 应用程序中使用 jdbcUrl 和应用程序名称的相同方法,一切都很好,但 Grails 使用另一个连接管理器,我想 c3p0 会削减 url 或其他东西。

有没有人有类似的经历或者知道在这种情况下如何处理应用名称。

提前致谢。

【问题讨论】:

【参考方案1】:

我终于找到了问题所在。这不是 c3p0 问题。是 PostgreSQL 驱动问题,我已将其更改为最新版本,并且应用程序名称出现在数据库中。

不工作的驱动程序依赖:

 <dependency>
        <groupId>postgresql</groupId>
        <artifactId>postgresql</artifactId>
        <version>9.1-901.jdbc4</version>
 </dependency>

工作驱动依赖

<dependency>
        <groupId>org.postgresql</groupId>
        <artifactId>postgresql</artifactId>
        <version>9.4.1209.jre7</version>
</dependency>

【讨论】:

以上是关于使用 c3p0 的 JDBC url 中的应用程序名称 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何配置 JavaMelody 以监控 C3p0 数据源中的 Jdbc 连接

jdbc c3p0连接mysql 失败 原因汇总,求助

JDBC连接池C3P0

c3p0数据库连接池使用小结

使用 C3P0 的 JDBC 连接池

c3p0 挂在 awaitAvailable 与休眠