23-Jun-2022 10:51:12.052 경고 [xxxxx.cafe24.com-startStop-5]
org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [manager] appears to have started a thread named [SeedGenerator Thread] but has failed to stop it.
This is very likely to create a memory leak. Stack trace of thread:
java.lang.Object.wait(Native Method)
java.lang.Object.wait(Object.java:502)
sun.security.provider.SeedGenerator$ThreadedSeedGenerator.run(SeedGenerator.java:334)
java.lang.Thread.run(Thread.java:745)
요며칠 몇번 봤던 에러이다.
Memory Leak이 발생하는 이유는 등록된 JDBC드라이버를 미등록 상태로 변경하던 중 실패가 되기 때문에 강제적으로 미등록 상태로 만드는게 필요해서라고 한다.
1. 우선 jdbc 드라이버를 tomcat/lib 폴더에 넣어준다.
JDBC 드라이버는 스스로 모든 웹 어플리케이션에서 DriverManager로 싱글톤으로 등록하는데 두 개 이상의 다른 웹 어플리케이션에서 동일한 jdbc 드라이버 등록이 있는 경우 발생하는 문제라고 한다.
또한, 이는 웹 어플리케이션을 톰캣의 재시작없이 재배포할 때 메모리의 누수를 막아준다고 한다.
출처는 여기
Why must the JDBC driver be put in TOMCAT_HOME/lib folder?
I have a weird problem where two web apps with Oracle JDBC driver will conflict with each other. I have to put the JDBC driver JAR in the common folder TOMCAT_HOME/lib. What is the reason for this?
stackoverflow.com
2. DB 정보를 맞춰준다.
프로젝트의 application.yml에 있는 datasource의 url, username, password 등을 cafe24의 것으로 변경해준다.
3. 은 없습니다.
해결!
'개발 일기' 카테고리의 다른 글
[웹호스팅] 배포시 에러 - 스펙부터 확인하자 (0) | 2022.06.23 |
---|---|
호스팅 작업이 쉽지 않다 (0) | 2022.06.23 |
JPA 영속성 컨텍스트를 간과하고 있었다 (0) | 2022.06.16 |
[해결] Cors 에러가 왜 났나 했는데 (0) | 2022.03.30 |
[Git 입문] 1. Git이란 무엇일까? + 설치하기 (0) | 2021.10.14 |