【问题标题】:What problems could occur using Apache Commons DBCP 1.4 on Java 7?在 Java 7 上使用 Apache Commons DBCP 1.4 会出现什么问题?
【发布时间】:2014-06-16 20:57:15
【问题描述】:

Apache Commons DBCP overview page 声明:

DBCP 2.0 compiles and runs under Java 7 only (JDBC 4.1)
DBCP 1.4 compiles and runs under Java 6 only (JDBC 4)
DBCP 1.3 compiles and runs under Java 1.4-5 only (JDBC 3)

DBCP 2.0 binaries should be used by applications running under Java 7.
DBCP 1.4 binaries should be used by applications running under Java 6.
DBCP 1.3 should be used when running under Java 1.4 5.

在 JVM 7 上使用 Apache Commons DBCP 1.4 可能会出现什么问题(来自使用 JDK 7 编译的应用程序)?

【问题讨论】:

    标签: java java-7 apache-commons-dbcp


    【解决方案1】:

    上述限制与 JDBC API 的演变有关。

    如果您查看java.sql.Connection 接口并搜索“Since:”标记,您会发现在 Java 6 中添加了其他方法,在 Java7 中添加了更多方法。

    DBCP 的性质意味着它将提供自己的 java.sql.Connection 实现(以及我期望的其他实现),并且它需要为较新的 Java 版本实现新接口。

    因此,在 Java7 下使用 DBCP 1.4 可能会导致 InstantionErrors 或类似情况。

    【讨论】:

    • 很好的解释。我有一个具体的例子:调用Connection.getSchema()(从Java 1.7开始)会导致这个错误:java.lang.AbstractMethodError: org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.getSchema()Ljava/lang/String ;
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-10
    • 2011-08-24
    • 2014-08-09
    • 2011-06-14
    • 2019-10-16
    • 2012-07-16
    相关资源
    最近更新 更多