2011-12-14 2 views
0

이것은 간단하지만 강력한 질문입니다.RPC 대 GWT 응용 프로그램의 JSON 비교

RPC 및 REST를 통해 1000 CustomDTO 목록을 보내는 응용 프로그램 테스트가 있습니다.

페이로드 (RPC에서)와 JSON (REST에서)을 역 직렬화하는 데 걸리는 시간을 얻고 싶습니다. 폴더의 유틸리티 심지어 GWT의 폴더의 유틸리티를 얻을 수 또는 테스트 애플 리케이션이 있습니다

클라이언트 시간 + 서버 시간 + 와이어 시간 + 직렬화 시간

을 :

내 문제는 내가 도착 시간이 포함되어 있다는 것입니다 deserialization 시간이 아닌 다른 시간?

감사합니다.

답변

3

앱에서 경량 메트릭 사용 (http://code.google.com/webtoolkit/doc/latest/DevGuideLightweightMetrics.html) GWT-RPC는 즉시 사용할 수 있도록 지원하므로 각 GWT-RPC 요청이 직렬화/디시 리얼라이제이션에 소비 된 시간

1

RemoteServiceServlet의 일부 메서드를 재정의 할 수 있습니다.

protected void onBeforeRequestDeserialized(String serializedRequest) { 
} 

protected void onAfterResponseSerialized(String serializedResponse) { 
} 

protected void onAfterRequestDeserialized(RPCRequest rpcRequest) { 
} 

그래도 난 어떤 유틸리티를 잘 모르는 것 같아요 : 그런 다음 당신은 직렬화에 소요되는 시간을 측정 할 수있다.

+0

이 서버 클래스입니까? 클라이언트에서 비 직렬화에 관심이 있습니다. –

+0

클라이언트에서이 작업을 수행 할 수 있다고 생각하지 않습니다. 응답을 파싱 할 수는 있지만 직렬화가 아닙니다. 직렬화는 자바 객체를 json으로 또는 그 반대로 변환하는 트릭입니다. RemoteServiceServlet에서 완료되었습니다. GWT-RPC를 사용하는 경우이 클래스를 확장하는 서블릿을 만들어야합니다. 거기에서 이러한 방법을 무시할 수 있습니다. 또한 RemoteServiceServlet이 응답을 압축한다는 사실을 명심해야합니다. – Spiff

+0

RemoteServiceServlet이 응답을 압축하지 않습니다. –