메모리누수 경고가 나오며 톰캣 구동이 안되고 서버가 실행이 안되니 당연히 404에러가 나왔다.
처음엔 서버문제인지 몰랐으나 404에러가 뜰 때 특정 페이지로 가게 예외처리를 해놨는데
404에러 페이지로 가게 된 것을 눈치채고 서버오류인지 확인.
에러 목록을 살펴보니 cglib를 깔으란다.
pom.xml 에 cglib 추가로 해결.
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib</artifactId>
<version>3.1</version>
</dependency>
오류의 이유를 찾으려했으나 맞는 증상이 없고 스택오버플로우와 깃허브를 힘들게 눈번역해본 결과
내가 사용하는 이클립스 버전이 좀 낮은데 그래서 스프링버전이 낮다..그로인해 생긴 버그같다.
높은 버전의 스프링에선 이 문제를 찾아볼 수 없다..
해결 후 로그를 확인해보니
at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) 가 찍혀있다
인터페이스를 구현하고 있는 클래스라면 JDK Dynamic Proxy의 방식으로 생성되고
인터페이스를 구현하지 않은 클래스라면 CGLIB의 방식으로 AOP 프록시를 생성하는데
난 인터페이스를 분명히 구현했고 사용중이였다...
스프링이나 JDK는 몰라도 이클립스는 꼭 최신버전으로 쓰자..ㅠㅠ
다음 프로젝트에선 이클립스 최신으로 무조건 쓸 예정이다
서버 정상 구동 후
트랜잭션을 확인해보니 제대로 적용되지 않는 것을 확인.
application context쪽에 transaction관련 설정을 해놨기 때문에
servlet-context쪽에 설정된 Bean들에게 적용이 안되서 그런 문제로 확인.
tx와 aop관련 xmlns와xis, tx:annotation-driven을 servlet-context.xml로 이동
정상적용되었다.
'SPRING > Spring' 카테고리의 다른 글
HttpserveltRequest와 HttpSession,세션과 로그인 로그아웃 (0) | 2021.08.03 |
---|---|
UriComponents과 URLEncoding (0) | 2021.07.31 |
스프링 게시글 글쓰기 및 수정, ModelAttribute와 RedirectAttributes의 사용 (0) | 2021.07.20 |
스프링 데이터를 전달하는 형태(Model,ModelAndView) (0) | 2021.07.18 |
스프링 파라미터 받아오기(HttpServletRequest,RequestParam) (0) | 2021.07.18 |