기본 콘텐츠로 건너뛰기

This is very likely to create a memory leak.

이클립스에서 프로젝트를 WAR파일로 묶어 배포를 주로 하게 되는데, 이때 WAR파일의 Library에 들어있는 MySQL Connector / Driver 파일을 지우고,
이 라이브러리를 tomcat의 lib 디렉토리로 옮겨놓으라는 것이었습니다.

이유는 war 파일 내에 해당 Connector/Driver.jar 파일이 들어있는 경우,
하나의 프로젝트면 크게 상관이 없을지도 모르겠으나 여러 프로젝트를 webapps 아래에 war파일로 배포하게 되는 경우,
해당 커넥터/드라이버가 계속 생성이 될 것이라는 점이었습니다. 게다가 향후 JVM의 가비지컬렉터가 활성화 되더라도
MySQL에 들락날락거리는 그 접속 객체를 삭제할 수가 없게 될 수도 있어 결국 메모리를 고갈시킬 수 있는 문제가 있다는 것이었습니다.

그러니, war 파일에 해당 연결/드라이버 라이브러리를 넣지 말고,
톰캣이 설치된 디렉토리 아래의 lib 디렉토리에 mysql-connector-java-x.x.xx.jar 파일을 이동시키라는 이야기였습니다.

댓글

이 블로그의 인기 게시물

java 특정 디렉토리에 있는 파일 목록을 읽어내기, 정렬해서 가져오기

폴더 리스트 가져오기 String path="C:\"; File dirFile=new File(path); File []fileList=dirFile.listFiles(); for(File tempFile : fileList) {   if(tempFile.isFile()) {     String tempPath=tempFile.getParent();     String tempFileName=tempFile.getName();     System.out.println("Path="+tempPath);     System.out.println("FileName="+tempFileName);     /*** Do something withd tempPath and temp FileName ^^; ***/   } } 정렬해서 가져오기 import java.io.FileFilter; import java.io.IOException; import java.util.Arrays; import java.util.Date; import org.apache.commons.io.comparator.LastModifiedFileComparator; import org.apache.commons.io.filefilter.FileFileFilter; public class LastModifiedFileComparatorTest { public static void main(String[] args) throws IOException { File directory = new File("."); // get just files, not directories File[] files = directory.listFiles((FileFilter) FileFileFilter.FILE); System.out.println("Defaul...

dmesg 메시지 실시간으로 보기

참조사이트 http://imitator.kr/Linux/556 # tail -f /var/log/messages # tail -f |dmesg //기본 2초 단위로 갱신 된다. # watch "dmesg | tail -f" //1초 단위로 갱신하면서 보여준다. # watch -n 1 "dmesg | tail -f" // 보여주는 줄을 20으로 늘린다. (기본 10줄) # watch -n 1 "dmesg | tail -f -n 20"