Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 316461

Summary: Zip Hessian Remote Service Calls and Replies for efficiency
Product: [RT] Riena Reporter: Christian Campo <christian.campo>
Component: communicationAssignee: Christian Campo <christian.campo>
Status: RESOLVED FIXED QA Contact:
Severity: enhancement    
Priority: P3    
Version: 2.0.0   
Target Milestone: 3.0.0.M2   
Hardware: All   
OS: All   
Whiteboard:

Description Christian Campo CLA 2010-06-10 09:43:42 EDT
The task involves adding a system property "riena.communication.zip" which can be set to "true" or "false" or left out. If set to the "true" on the calling client, the hessian request is zipped using GZIPOutputStream. The Server is not configured but detects in the datastream whether the call is zipped and acts accordingly. If the call is zipped, the reply will also be zipped by the server. The client in turn checks if the reply from the server is zipped if so it unzips it before deserializing.

Checking whether a datastream is done in a two step process. First the HTTP Header "Content-Encoding" "gzip" is set (in request and reply). Second the first two bytes are checked for a GZIP MAGIC. A fixed value prepending any GZIP packed datastream.
Comment 1 Christian Campo CLA 2010-06-10 09:45:57 EDT
The default is zipped="false". The same built version of Riena needs to be used on client and server in order for zipping to work.
Comment 2 Christian Campo CLA 2010-06-17 03:42:49 EDT
fixed for Riena 2.1. (NOT in Helios version 2.0)