본문 바로가기

Server Oriented/Java & JSP

ConcurrentModificationException, Transcation 이 중첩될 때도 발생

DB Transaction 을 태울 때,

중첩이 되는 경우 ConcurrentModificationException 이 발생할 수 있다.


이게 또 항상 발생하는 것은 아님.. ㅠ.

아무튼 트랜잭션은 중첩하지 않도록 작성하는 것이 좋다.


http://blog.naver.com/wpdus2694/220827942824

List 나 ArrayList 를 for 문에서 .remove() 할 때도..

이 때는 for 문을 사용하지 말고 while 문에서 Iterator 를 사용하면 .remove() 된 내용을 감안하니 에러가 없다 한다.


http://bryan7.tistory.com/196

Multi-thread 환경에서 발생..

aspectjtools 1.7.4 버전에서 보완되었다 한다.

그런데, 역시나 for 문을 돌릴 때 발생하기 때문에 이를 보완했다 함.


http://knight76.tistory.com/2349

.sublist() 를 사용할 때 발생..

LinkedList 를 사용하면 발생하지 않는다 하는데, 나는 .sublist() 는 체질적으로 사용하지 않음.