【发布时间】:2014-07-14 10:51:23
【问题描述】:
我有一个案例,我从 PL/SQL 包中调用 java 源,在 java 源中,我将数据插入到我的数据库表中。通过这个插入操作,每次调用时都会有一个游标保持打开状态。
我无法更改此 java 源代码,因此无法关闭那里的结果集。
所以我想在我的包中编写一些 PL/SQL 代码,以便在每次调用 java 源并插入数据后关闭光标。
我该怎么做?我不想增加我的最大打开光标限制。
【问题讨论】:
-
为什么 Java 代码不能自行清理,为什么不能修复?
-
Java代码由其他团队管理和修改,他们最近实现了JPA,之前是Toplink。我猜这些变化会限制它自己清理。
-
如果您调用的例程返回一个游标,您可以编写另一个 Java 函数来调用现有的 Java 函数,然后在完成时关闭游标。如果处于打开状态的光标在您调用的例程之外不可用,则“其他团队”需要修复此资源泄漏。祝你好运。
标签: java oracle plsql jpa-2.0 cursors