기존 소스
insertAndUpdate()는 항상 새로운 트랜잭션을 가져야하기 때문에 propagation=Propagation.REQUIRED_NEW 로 설정
Exception.class 예외가 발생했을 때 rollback 하기 위해서 rollbackFor={Exception.class} 로 설정
update() 메소드에서 강제로 Exception 발생을 시켰는데 insert() 메소드를 통해 DB에 등록된 값이 rollback이 되지 않는 것....
try...catch 문에서 Exception을 catch 하고 증발시켜버려서 Spring 이 예외를 감지하지 못한거였다.
수정 소스
잘 작동한다
-------------- 2019-04-17 추가
위 부분 문제가 되기 전에 삽질을 했던 것이 생각나서 추가함.
servlet-context.xml 에 component-scan 을 package 전체를 잡아놔서 안된 것도 있었다.
servlet context에는 controller 만 추가하고, 그 외는 application context에 추가한다
'삽질' 카테고리의 다른 글
[2018-11-12] logback 로그 레벨을 변경했는데 톰캣 서버가 재기동 됨 (0) | 2018.11.12 |
---|---|
[2018-09-03] ArrayList에 add 한 값이 기대한 값이 아님 (0) | 2018.09.03 |
cannot read property 'something' of undefined...... (0) | 2015.01.28 |
페이스북, 트위터 콜백 (0) | 2014.11.11 |
How to remove IP in CBL spamhaus (0) | 2014.11.07 |