我正在寫一些建議,我希望交易在獲得建議前進行提交。它似乎適用於保存和刪除,但是當我更新時,它會運行徹底的建議,然後拋出異常。春季AOP訂購 - 建議之前的交易
try {
retVal = pjp.proceed();
} catch (Exception e) {
PSPSFaultException fault = new PSPSFaultException(e);
pmLog.error(ERR_MSG, fault);
throw fault;
}
正如你在這裏看到的,我試圖在我們自己的運行時異常中包裝異常。
我想訂購:
<tx:annotation-driven transaction-manager="txManager" order="1"/>
和
@Around("execution(* blah.blah.PersistenceProvider.*(..))")
@Order(value=2)
public Object persistenceWrapper(ProceedingJoinPoint pjp) throws Throwable {
但這似乎並沒有把堆棧或功能的任何差異。
@Transactional(propagation = Propagation.REQUIRED)
public class PersistenceProviderImpl extends HibernateDaoSupport implements PersistenceProvider {
@Override
public void update(Object o) {
this.getHibernateTemplate().update(o);
}
有沒有一種方法可以在建議之前讓更新激發?該交易是在DAO水平...
具體來說,我的測試更新的東西是不是在數據庫上。我得到一個HibernateOptimisticLockingFailureException錯誤... – markthegrea 2011-02-16 21:30:36