当使用Java (JTA)和我与当前事务注册同步时,如果事务超时,会调用afterCompletion()方法吗?如果是这样的话,什么时候会调用afterCompletion()方法,即在事务运行超过分配的超时值时,还是在发生事务超时后的第一个操作时?status参数有什么价值(我假设它是STATUS_ROLLEDBACK)?
发布于 2010-06-27 17:42:22
在使用Java (JTA)和我向当前事务注册一个
Synchronization时,如果事务超时,afterCompletion()方法会被调用吗?
afterCompletion方法是在事务被提交、或回滚之后调用的,因此应该在超时之后调用它。
如果是
,什么时候会调用
afterCompletion()方法,即在事务运行超过分配的超时值时,还是在事务超时后的第一个操作发生时?
AFAIK,如果事务在超时值过去之前没有终止(提交或回滚),事务系统将自动回滚它。换句话说,它不会等待事务的后续工作。
状态参数将具有什么值(我假设它将被回滚)?
在调用Status.STATUS_ROLLEDBACK时,我确实会说是afterCompletion。
https://stackoverflow.com/questions/3128021
复制相似问题