2017-05-04 51 views
2

我用這個例子來實現OptimisticLockException處理: How to retry JPA transactions after an OptimisticLockException重試OpmisticLockException使用DB-util的庫不起作用

依賴在pom.xml中:

<dependency> 
    <groupId>com.vladmihalcea</groupId> 
    <artifactId>db-util</artifactId> 
    <version>0.0.1</version> 
</dependency> 

我已經註釋可以接收方法OptimisticLockException:

@Retry(times = 10, on = OptimisticLockException.class) 
public void modifySomething(){...} 

但是,當RollbackException/OptimisticLockException/StaleStateExceptio n發生,我得到堆棧跟蹤但該方法未被重試。我將它與Guice 4.1.0一起使用。我應該將它綁定在某個地方還是編寫方法攔截器?如何添加AOP方面?

回答

0

this article中所述,您需要將OptimisticConcurrencyControlAspect添加到您的Spring配置中。

如果您使用的是Guice,那麼您必須創建一個類似的Aspect,因爲與db-util一起使用的Aspect只適用於Spring。