我们有一个企业 Java 项目,该项目大量使用 Oracle DB,支持数百个并发用户,并且在过去 10 年中已被数十名开发人员所接触。每隔一段时间,开发人员就会忘记关闭 Connection、PreparedStatement 或 ResultSet 对象,并且随着用户全天使用系统,打开的连接会累加起来,直到 Oracle 抛出“Max Open Cursors”错误。我们已将数据库中的最大打开游标值增加到我们觉得合适的值。
是否有软件或技术可以扫描数千行 Java 代码并找到这些 DB 对象处于打开状态的所有位置?我们希望运行一次以查找所有当前位置,然后定期查找任何新位置。提前致谢。