JDBC 4的java.sql.Clob.free()方法和向后兼容

Luk*_*der 3 java oracle blob jdbc clob

我正在调查一个有趣的性能问题,其中没有java.sql.Clob.free()对常用资源的调用。这种方法Clob是在Java 6 / JDBC 4中引入的,因此很可能这实际上是从JDBC 3升级到JDBC 4时引入的回归。

这是Oracle JDBC驱动程序中的已知问题吗?可以说,以前,Clobs魔术以某种方式释放了自己,而在JDBC 4中,必须手动释放它们吗?还是有可用于与JDBC 3保持兼容的驱动程序设置?

请注意,这Blob当然适用于。

小智 5

我们的应用程序必须确保使用Oracle 11g和'ojdbc6.jar'(Specification-Version)在oracle.sql.CLOB上显式调用java.sql.Clob.free()(用于toJdbc()以获得java.sql.Clob)。 “ 4.0”和MANIFEST.MF中的实现版本“ 11.2.0.3.0”)。否则,应用程序将遭受大量内存泄漏。