XStream을 객체 직렬화를위한 응용 프로그램의 일부로 사용하고 있습니다. 사용 사례 중 하나에 대해 Externalizable 인터페이스를 구현하는 객체 중 일부를 직렬화해야합니다. 내 유스 케이스 들어, 네이티브 자바 직렬화를 사용하여 그들을 직렬화하고 싶습니다.XStream에서 Externalizable 클래스에 기본 Java 직렬화 사용
인터넷에서이 문제를 해결하는 데 도움이되는 http://old.nabble.com/How-to-remove-Externalizable-Converter-td22747484.html 링크를 발견했으며 Externalizable 개체에 Reflection Converter를 사용하기 시작했습니다.
응용 프로그램을 테스트 할 때 매우 동시 액세스 중에 응용 프로그램이 변환기 코드에 많은 시간 (10 초)을 보내고 있음을 알게되었습니다. 문제가 buildMap 메서드 FieldDictionary에 있음을 알 수 있습니다.
원래 문제를 해결할 더 좋은 방법이 있는지 궁금합니다. 동시성이 높은 환경에서 Reflection Converter의 성능이 좋지 않습니까?
환경에 대한 추가 컨텍스트를 제공합니다. 그것은 웹 응용 프로그램이며 요청 처리 중에 직렬화가 일어나고 응용 프로그램이 100 개의 동시 스레드를 가질 수 있습니다.
정말 도움이되었거나 문의 해 주셔서 감사합니다.
XStream 팀에서 코드를 수정했습니다. 캐시 된 요소를 동기화 블록 밖으로 가져 오기 위해 일부 코드를 이동하는 것이 수정되었습니다. [JIRA 케이스] (https://jira.codehaus.org/browse/XSTR-705) – SKP