우리는 Spring 3.1.0.Final을 사용하고 WAS 6.1에 배치 된 포틀릿 애플리케이션을 가지고있다.자바 힙 점프를 야기하는 모든 문자 집합을로드하는 StringHTTPMessageConverter
과거에는 Spring MVC를 사용하는 포틀릿이 여러 개 있습니다. 이것은 Spring 3의 첫 번째 포틀릿입니다. 코드의 대부분의 부분에서 주석과 자동 와이어 링을 사용하고 있습니다.
이 응용 프로그램을 서버에 배포하면 기본 힙 사용이 25MB 이상 증가했습니다. 이 포틀릿 응용 프로그램이기 때문에
내가 JProfiler와를 사용하여 프로파일을했고 StringHTTPMessageConverter 메모리 14메가바이트 주위 차지하는 메모리의 모든 캐릭터 세트를로드하는 것을 발견
(com.ibm.nio.charset.Charset는 메모리를 많이 사용합니다) 나는 org.springframework.web.portlet.mvc.annotation.Ann otationMethodHandlerAdapter 콩 명시 적으로 내 구성에서 정의하지 org.springframework.web.servlet.mvc.annotation.Ann otationMethodHandlerAdapter
이 내가 그렇게 시도 것입니다 멀리
1) 변경 StringHttpMessageConvertor se ttings
내 구성이와
<bean class = "org.springframework.web.servlet.mvc.annotation.An notationMethodHandlerAdapter">
<property name = "messageConverters">
<list>
<bean class = "org.springframework.http.converter.StringHttpMess ageConverter">
<property name = "supportedMediaTypes">
<list>
text/plain;charset=UTF-8
</list>
</property>
</bean>
</list>
</property>
운에 다음 bean을 정의.
2) 설정 파일에 정의했습니다. 일부 게시물에서 제안 된 것처럼 나는 태그를 주석 처리하여 위의 구성을 시도했습니다. 그러나 운이 없다.
3) 일부 포럼에서 제안한대로 BeanPostProcessor를 작성하려고 시도했지만 StringHttpMessageConverter 클래스를 찾을 수 없습니다.
내 구성에 org.springframework.web.servlet.mvc.annotation.Ann otationMethodHandlerAdapter를 명시 적으로 정의해야합니까?
내 질문
1) 메모리에로드 모든 캐릭터 세트를 피하기 위해 어떤 방법이 있나요이다?
2) 또한 기본 힙에서 25MB 점프가 정당합니까? 스프링 3.1.0의 일반적인 메모리 풋 프린트는 무엇입니까?
아이디어가 부족합니다. 스프링 프레임 워크를 미세 조정하는 것과 관련된 도움을 주시면 감사하겠습니다.
감사합니다 감사합니다
RaviG