2011-07-30 4 views
5

나는 각에 즉시 생성이 bottleneck웹 로직의 웹 서비스 클라이언트. (청소 참조)

에 클라이언트 리드를 요구하기 때문에 지금은 웹 서비스 클라이언트가에 대한 참조를 개최 것으로 나타났습니다 포트 (웹 서비스 클라이언트)의 풀을 생성 요청 및 응답 ...

는 것이 정상인가요 ...?

불행하게도 페이로드는

청소하는 방법이 있나요 ..이 websevice 및 수영장 일부 더이상 사용 응답 ... 증가 힙에 대한 참조를 보유하고 잠시 동안 사용도하지 않을 경우이 같은 아주 큰 응답을받은 후 그 참조?

업데이트 : 사용하여 아파치 CXF 클라이언트는 내가 그러나 PB이 문제가되지 않습니다. ..

+0

당신이 ... 더 많은 것을 찾아 BindingProvider 인터페이스를 통해 문맥 요청 및 응답 문맥지도 객체를 인쇄 할 수 있습니다 보유한 참조에 대한 가정이 올바른지 확인하기 위해 힙 덤프 분석을 실행 하시겠습니까? 또한 유스 케이스/호출 패턴과 웹 서비스 클라이언트를 생성/구성하는 방법에 대해 좀 더 자세히 설명해 줄 수 있습니까? –

+0

네, JProfiler와를 사용하여 힙을 분석하고 내가 쓰려 풀 단순히 매우 큰하고 후 포트가 webservice.Unfortunatelly에게 페이로드를 호출하는 데 사용되는 240.This 포트에 제한된 저장되는 LinkedList의입니다 발견하는 방법 즉 응답이 도착하면 응답에 대한 강력한 참조가 없어야한다고 가정합니다 ... 또는 스텁의 컨텍스트가 해제되지 않는 경우 – Cris

답변

2

@Cris을 여전히 웹 로직 고객을 위해 열려 : 내가하지 웹 로직 웹 서비스에 extensivly 일하지만 문제보다 상당히 이상하다했다하지만. ... 당신이 링크 된 목록에 포트를 풀링 한 별도의 스레드에 웹 서비스 호출의 호출을 제출하고 스레드 (웹 서비스 호출 완료를) 완료되면, 모든 스레드 로컬 객체는 가비지 수집해야합니다 : 당신이 시도 할 수 있습니다. 당신은 참조하면 파견 인터페이스를 사용하는 call..if 웹 서비스를 게시 들고 누가 알아 자바 프로파일 러의 도움이 필요합니다, 당신은