Monthly Archives: August 2014

tiles2 tiles3 변경 적용시 주의점

servlet-context.xml

tiels2 설정

maven버전을 변경하고 여기서 2를 3으로 고치면 에러도 안뜨고 이상이 없어 보이지만…

로딩이 안된다. ClassNotFoundException

아마 이 에러?

이무렇지도 않게 pom.xml을 켜서 의존성 문제를 해결하면 끝.

tiles2 tiles3는 버전이 그냥 올라간게 아니라 거의 라이브러리가 바뀐 수준인 것 같다. 그런데 이름을 유지하고 있다. 하위호환성이 제로면.. 아예 패키지명이라도 바꾸던가 좀..
어쨌든 2.x버전을 3.x로 마이그레이션 할 때 pom에 2.x버전이 남아있게 되면 별별오류가 뜬다. 3.0.5버전부터는 jdk6도 지원을 안한다고 하니 주의.
아직 jdk6쓰는사람 잘 없을 것 같지만…
이것만 주의하면 매우 쉽다. 그냥 servlet-context에서 tiles2 -> tiles3으로 바꿔주면 된다.

Spring-Encache 문제 Another unnamed CacheManager already exists in the same VM

스프링4.x와 jpa, encache를 설정해서 사용. 멀티모듈프로젝트로 포팅하면서 문제가 발생했다.

JavaConfig.java를 복붙하는 과정에서 오류가 있었나 해서 여기저기 찾아봤는데 역시 없었고 빈 생성타임을 의심하고 찾아서 문제점을 발견했다.

component-scan이 JavaConfig.java 설정파일을 두번 읽으면서 빈을 두번생성하고~ 캐시가 두번 생성되면서 발생하는 문제…

servlet에서 스캔을 없애버리거나… servlet이 담당하는 부분만을 스캔하게 만든다. Controller, 또는 Service까지…

root에서는 기타 등등 의존성을 미리 생성해야 하니 이쪽에서 대부분의 스캔을 맡겨놓는다.설정은 다음과 같다.

문제상황

 

해결방법