0

我的应用程序已锁定数据库表,因为 JTA 尚未使用回滚或提交命令完成您的操作。

该应用程序在具有两个托管服务器的集群中运行在 weblogic 10.3 上。

可以访问数据库的方法是同步的,其中方法内部的第一部分执行查询,第二部分调用另一个方法来执行合并。这个方法有注解@Transaction(read-only=false)。

JTA 事务由 weblogic 执行。

我的问题是,根据所描述的场景,什么可能会在数据库中生成锁?

4

1 回答 1

0

在我看来是一个线程问题,没有获得锁。

可以访问数据库的方法是同步的,其中方法内部的第一部分执行查询,第二部分调用另一个方法来执行合并。

检查两个方法是否需要两个不同的锁,如果是则可能导致死锁,如果方法1中的线程一直等待锁访问方法2。

于 2012-05-16T02:45:10.523 回答