我需要每分钟通过两个不同的动作(2个独立的bean)同时更新一个表
Bean A
@TransactionAttribute(value = TransactionAttributeType.REQUIRES_NEW)
public void stop()
{
stopMachin()
}
@TransactionAttribute(value = TransactionAttributeType.MANDATORY)
public void stopMachin(){ updateTable ..}
Bean B
@TransactionAttribute(TransactionAttributeType.REQUIRED)
public void scan()
{
stopscan();
}
@TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)
public void stopscan() {updateTable..}
失败并显示错误
ORA-00060: deadlock detected while waiting for resource
Call: UPDATE ACTION SET DATE = ? WHERE (ID_AT = ?)
为什么REQUIRES_NEW
和MANDATORY
标志不起作用?
新要求意味着接受客户的交易。
我是否必须将MANDATORY放入Bean B而不是REQUIRED?
答案 0 :(得分:0)
这完全取决于操作期间的操作(SQL)和操作顺序。请提供更多详细信息,您正在执行什么样的操作以及按什么顺序执行。
答案 1 :(得分:0)
每个文章的一个方法@Schedule(分钟=“”,小时=“”,持久=假) 另外每2分钟@Schedule(分钟=“ / 2”,小时=“”,持久=假)
当在同一秒,定时器执行时,经常发生ORA-00060:在等待资源时检测到死锁