有时关闭 Websphere 时会有数据库锁未释放。因此,当 WAS 重新启动时,由于这些锁,任何人都无法工作,必须由 DBA 手动将其移除。
这是一个 Java Web 应用程序,事务是 XA,数据库是 Oracle。所有事务代码都有一个 try catch finally,事务提交/回滚都在 finally 中完成。我怀疑 WAS 没有输入 finally 子句。
答案1
此应用程序仅在运行 WAS 时才会出现此问题吗?
如果可能的话,我会看看这种行为是否可以在不同的 Java 应用服务器(例如 JBoss 或 Tomcat)中重复。
然而,在进行测试时,使用与 WAS 完全相同的 Oracle JDBC 驱动程序至关重要。
如果不可能,我会询问 WAS 正在使用的 Oracle JDBC 驱动程序的版本,看看是否有可用的更新版本。