2012-10-16 4 views
3

CXF로 여러 웹 서비스를 제공하는 서버가 있습니다.
XML 직렬화에 JAXB를 사용합니다.
내 환경에 너무 많은 60MB의 메모리가 필요한 JAXB 환경에서 약 3000 개의 클래스가 있습니다.
웹 서비스/XML 직렬화를 제공하기위한 간단한 대안이 있습니까? (다른 구현체)
플래그 com.sun.xml.bind.v2.runtime.JAXBContextImpl.fastBoot를 사용해 보았지만 메모리 사용을 크게 변경하지 않았습니다.
* 이미 전체 시스템에 대해 하나의 컨텍스트를 보유하고 있습니다.JAXB 컨텍스트 오버 헤드를 줄이는 방법은 무엇입니까?

답변

1

CXF는 데이터 바인딩을 스와핑하는 것은 매우 정직 등 XML 빈스, 이지스, 같은 JAXB 이외의 데이터 바인딩을 지원합니다. 각 데이터 바인딩을 시험해 볼 수 있으며 최소한의 메모리 양을 차지하는 바인딩을 확인할 수 있습니다.

내 실험에서 메모리는 결코 걱정할 필요가 없었습니다. 나는 처리량에 더 관심이있었습니다. XMLBeans는 요청과 응답을 마샬링 및 언 마샬링 할 때 JAXB보다 훨씬 빠릅니다.

0

비슷한 문제에 대한 대화가 있습니다. 대중적인 직렬화에 대한 분석을 한 것 같습니다.

How to serialize/deserialize complex java object quickly

+0

이 스레드는 웹 서비스 스택의 일부로 XML 직렬화가 필요한 반면 Java 객체 직렬화에 대한 대안을 제시합니다. 그래서 가벼운 무게의 JAXB 구현을 찾고 있습니다. –

관련 문제