只需将应用转换为JAVA 7,并想知道是否有人遇到过使用资源和c3p0连接池的问题。
我想现在JAVA会自动关闭数据库,准备好的语句和语句,如果你使用try with resources。
这是否意味着底层API(如JDBC驱动程序和c3p0)必须实现AutoClosable?
我正在使用c3p0 0.9.2.1和jtds 1.3.0
答案 0 :(得分:5)
我们免费获得这个!
jdbc资源[Connection
,Statement
,ResultSet
]始终提供close()方法。从Java 7开始,这些接口继承AutoCloseable。在Java 7 api下运行时,即使是旧的实现也会继承该接口。因为他们已经有了做正确事情的close()方法,所以这些实现将完成该接口的契约。
因此,try-with-resource应该可以正常工作,无需任何修改,即使在非常旧版本的jdbc实现库中也是如此。