출처 : http://blog.daum.net/wetet/1820
------------
심각: The web application [/gateway] created a ThreadLocal with key of type [com.sun.xml.bind.v2.runtime.Coordinator$1]
(value [com.sun.xml.bind.v2.runtime.Coordinator$1@15151aa])
and a value of type [java.lang.Object[]] (value [[Ljava.lang.Object;@1c87093])
but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
리눅스에 Tomcat 6.0.30버전을 설치했다. 그리고 gateway라는 웹어플이 올라가 있는 상태이다. jaxws를 이용한 웹서비스를 하고 있는데 Soap통신을 하고 나서 톰캣을 shutdown해보면 위와 같은 메시지가 나오게 된다. 그냥 해석해보면 틈캣이 종료할때 어떤 클래스들을 메모리에서 제거할 수 없다는 것이다.
구글링을 하다보면 이상한 말들이 많이 나온다. 코드를 잘못짰다, 톰캣버전에서 나는 오류다, 기타 등등...
하지만 아주 단순하게 해결을 봤다.
현재 jar파일들이 $TOMCAT_HOME/webapps/gateway/WEB-INF/lib에 들어있는데
이것들을 $TOMCAT_HOME/lib로 옮겨줬더니 위와 같은 에러가 나지 않았다.
아마도 웹어플 딴에서 xml을 파싱하기 위해 사용한 jaxb모듈에서 뭔가 스태틱으로 클래스를 가지고 있는 것 같은데 톰캣에서는 각 어플들에서 로드한 클래스에 대해서는 접근권한이 없는 모양인가보다. 하지만 톰캣이 자기한테 딸린 웹어플에 대한 권한이 없다라...흠...
아마도 톰캣 버그가 아닐까 싶다.