A.javaをキャッチしていない春休止状態:@Transaction(REQUIRES_NEW)例外
try{
for(i=1;i<=5;i++){
List<Integer> intList = new ArrayList();
bService.executeMethod(i,intList);
}
}catch(Exception e){
logger.error("exception occoured {}",e);
}
B.java
@Transactional(propagation = Propagation.REQUIRES_NEW)
public void executeMethod(int i, List<Integer> intList){
try{
.......dostuff;
}catch(Exception e){
strList.add(i)
}
}
何かが間違ってexecuteMethod(いけば)反復のいずれかについては、私がすることができます= 2(一部の休止状態の例外がcatchブロックで捕捉されていない場合)、残りの反復値i = 3〜i = 5に対してもコードは実行されます。
キャッチブロック(Excetionクラスを使用している)にキャッチされるべき例外はありますが、それは起こりません。なぜ私はそれが起こっているのか考えていない、誰かが私にこれを手伝ってもらえるだろうか?
OptimisticLockExceptionががスローされ、そのが
変更されたコードビット@Guillaume F. – MAX
呼び出し元の 'try catch'はループ内にあるべきです。 –