使用Apache Commons DBCP 1.4在Java 7上可能会出现哪些问题?

4

Apache Commons DBCP 概览页面中提到:

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.

在使用JDK 7编译的应用程序中,使用Apache Commons DBCP 1.4可能会出现哪些问题?
1个回答

4
以上限制与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; - Guillaume Husta

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接