두 프로세스 (본질적으로 JVM) 사이에서 객체를 스트리밍하기 위해 XStream을 사용하려고합니다. 나는 이전에이 포럼에서 비슷한 질문을하고 있음을 발견했다. (다음 링크 참조).XStream을 사용하여 알 수없는 (잠재적으로 매우 큰) Java 객체를 스트리밍
Best approach to serialize XML to stream with Java?
내 요구 사항 및 위의 질문에 주어진 솔루션 사이의 기본적인 차이는 스트리밍되는 모든 객체가 스트리밍 작업의 시작 부분에 사용할 수없는 것입니다. 보내는 프로세스가 새로운 객체를 기다리고 그 객체가 올 때와 끝날 때까지 스트리밍하도록합니다. 따라서이 작업은 잠재적으로 오랜 시간이 걸릴 수 있습니다 (두 개체의 스트리밍간에 많은 유휴 시간이 있음).
한편 위의 솔루션에서 우리는 모든 컬렉션 요소를 처음에 알면 훌륭하게 작동합니다.
이전에 그러한 요구 사항을 만난 사람이 누구인지 알려 주시면 알려주세요.
답장을 보내 주셔서 감사합니다. 이 문제는 이제 해결되었습니다. 클라이언트 쪽에서 XStream 용 StAX 드라이버를 사용했고 서버가 XML 문서 프롤로그를 즉시 보내고 실제 이벤트가 발생할 때까지 기다리지 않도록했습니다. – hsg
오래 실행중인 연결을 사용하는 경우 네트워크/연결 중 딸꾹질이 발생하고 스트리밍 데이터가 중단되면 어떤 일이 발생하는지 알 수 있습니다. 나는 StAX 드라이버가 행복하지 않을 것이라고 생각한다. – jtoberon
오 예. 마지막으로 본 객체 ID를 클라이언트 측에서 캐싱합니다. 따라서 네트워크/연결에 실패하면 서버에 다시 연결하고 마지막으로 본 객체 ID를 보냅니다. 그런 다음 서버는 클라이언트가 본 후에 나머지 오브젝트를 전송하여 응답합니다. – hsg