간펴니
간편 자바프로그래밍
간펴니
전체 방문자
오늘
어제
  • 전체보기 (185)
    • 알고리즘 (2)
    • JAVA (69)
      • 이펙티브 자바 (47)
      • JAVA 병렬프로그래밍 (5)
      • 자바 (17)
    • SPRING (60)
      • Spring (12)
      • IceWater Community (37)
      • Homme Shop (10)
      • 토비의 스프링 (1)
    • SPRING BOOT (4)
      • WhiteRecord (7)
    • 오류 (9)
    • DB (10)
      • ORACLE (5)
      • MYSQL (1)
      • MYBATIS (4)
      • JPA (0)
      • 대용량 데이터 베이스 (0)
      • SQL (0)
    • FRONT (8)
      • JSP (2)
      • JavaScript (2)
      • Jquery (3)
      • Thymeleaf (1)
    • AWS (6)
    • JNI (10)
    • 회고 (0)
    • MQ (0)
    • Radis (0)
    • Git (0)
    • Docker (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • 블로그 컨셉 변경

인기 글

태그

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
간펴니

간편 자바프로그래밍

SPRING/Spring

AOP를 이용한 트랜잭션 구현 중 트랜잭션이 먹지 않는 현상과 메모리누수경고(Memory leak)=(톰캣구동안됨) 404에러 해결

2021. 7. 21. 23:46
728x90

메모리누수 경고가 나오며 톰캣 구동이 안되고 서버가 실행이 안되니 당연히 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로 이동

 

정상적용되었다.

728x90

'SPRING > Spring' 카테고리의 다른 글

HttpserveltRequest와 HttpSession,세션과 로그인 로그아웃  (1) 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
    'SPRING/Spring' 카테고리의 다른 글
    • HttpserveltRequest와 HttpSession,세션과 로그인 로그아웃
    • UriComponents과 URLEncoding
    • 스프링 게시글 글쓰기 및 수정, ModelAttribute와 RedirectAttributes의 사용
    • 스프링 데이터를 전달하는 형태(Model,ModelAndView)
    간펴니
    간펴니
    개발공부 기록하는 곳

    티스토리툴바