java - 使用 c3p0 的 JDBC url 中的应用程序名称

标签 java spring postgresql jdbc cas

<分区>

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

我已经配置了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 或其他东西。

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

提前致谢。

最佳答案

终于找到问题所在了。这不是 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>

关于java - 使用 c3p0 的 JDBC url 中的应用程序名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39098147/

相关文章:

java - 仅当键存在时才向 ArrayList 添加数据

带有非嵌入式 Tomcat 的 Spring Boot : loader constraint violation error

java - 获取给定类型 Spring Bean 的最佳实践

java - 从另一个类将 JFrame 添加到主 GUI 框架

java - 在 App Engine 上添加安全提供程序时出现 AccessControlException

java - 异常处理执行流程

java - 在不向客户端公开方法的情况下更新 JMX MBean 属性

postgresql - 错误 : CREATE DATABASE cannot run inside a transaction block SQL state: 25001 - Using PostgresSQL and pgAdmin 4

postgresql - 快速获取最后插入的 n 行

node.js - postgres 中的查询问题