我们有一个服务方法,大致执行以下操作:
问题在于一旦发生更新,数据库就会在事务期间对表进行锁定(每个web服务调用平均需要5秒钟)。任何web服务调用或DAO调用中的异常都应该导致完全回滚。针对这种情况,最好的方法是什么?
@Transactional
public void serviceMethod(...){
for(Item i : bunchOfItems){
webServices.webServiceCall(...);
dao.daoUpdateMethod(...);
}
}
问题在于一旦发生更新,数据库就会在事务期间对表进行锁定(每个web服务调用平均需要5秒钟)。任何web服务调用或DAO调用中的异常都应该导致完全回滚。针对这种情况,最好的方法是什么?