使用 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 中的应用程序名称 [重复]的主要内容,如果未能解决你的问题,请参考以下文章