package hprose.example.filterhandler; import hprose.client.HproseClient; import hprose.common.InvokeSettings; import hprose.example.filter.compress.CompressFilter; import hprose.example.filterhandler.size.SizeHandler; import hprose.example.filterhandler.stat.StatHandler; import hprose.example.invokehandler.cache.CacheHandler; import java.io.IOException; import java.net.URISyntaxException; import java.util.HashMap; import java.util.Map; interface IEcho { int[] echo(int[] obj, InvokeSettings settings); } public class Client { public static void main(String[] args) throws URISyntaxException, IOException { HproseClient client = HproseClient.create("tcp://127.0.0.1:8087"); client.use(new CacheHandler()); client.beforeFilter.use(new StatHandler("BeforeFilter")) .use(new SizeHandler("Non compresssed")); client.addFilter(new CompressFilter()); client.afterFilter.use(new StatHandler("AfterFilter")) .use(new SizeHandler("Compresssed")); IEcho h = client.useService(IEcho.class); int n = 100000; int[] value = new int[n]; for (int i = 0; i < n; ++i) { value[i] = i; } Map<String, Object> userData = new HashMap<>(); userData.put("cache", true); InvokeSettings settings = new InvokeSettings(); settings.setUserData(userData); System.out.println(h.echo(value, settings).length); System.out.println(h.echo(value, settings).length); } }