package org.giwi.camel.thrif.test;
import java.io.IOException; import java.net.MalformedURLException; import java.net.URL;
import org.apache.http.HttpVersion; import org.apache.http.conn.ClientConnectionManager; import org.apache.http.conn.params.ConnManagerParams; import org.apache.http.conn.params.ConnPerRouteBean; import org.apache.http.conn.scheme.PlainSocketFactory; import org.apache.http.conn.scheme.Scheme; import org.apache.http.conn.scheme.SchemeRegistry; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager; import org.apache.http.params.BasicHttpParams; import org.apache.http.params.HttpConnectionParams; import org.apache.thrift.TException; import org.apache.thrift.protocol.TCompactProtocol; import org.apache.thrift.protocol.TProtocol; import org.apache.thrift.transport.TTransportException;
import com.arkea.commons.thrift.http.THttpTransport; import com.arkea.methodes.cobolAnalyzer.thrift.data.HelloException; import com.arkea.methodes.cobolAnalyzer.thrift.data.HelloServiceRequest; import com.arkea.methodes.cobolAnalyzer.thrift.data.HelloServiceResponse; import com.arkea.methodes.cobolAnalyzer.thrift.services.HelloService;
public class Test { private static ClientConnectionManager cm = null; private static BasicHttpParams params = null; private static String URL = "http://localhost:8282/TomcatCamel/camel/hello";
static { URL netUrl = null; try { netUrl = new URL(URL); } catch (final MalformedURLException e) { e.printStackTrace(); } params = new BasicHttpParams(); params.setParameter("http.protocol.version", HttpVersion.HTTP\_1\_1); params.setParameter("http.protocol.content-charset", "UTF-8"); params.setParameter("http.protocol.expect-continue", false); params.setParameter("http.connection.stalecheck", true);
HttpConnectionParams.setSoTimeout(params, 10000); HttpConnectionParams.setConnectionTimeout(params, 10000);
ConnManagerParams.setMaxTotalConnections(params, 20); final ConnPerRouteBean connPerRoute = new ConnPerRouteBean(20); ConnManagerParams.setMaxConnectionsPerRoute(params, connPerRoute);
final SchemeRegistry schemeRegistry = new SchemeRegistry();
schemeRegistry.register(new Scheme(netUrl.getProtocol(), PlainSocketFactory.getSocketFactory(), netUrl.getPort()));
cm = new ThreadSafeClientConnManager(params, schemeRegistry); }
public static void main(final String\[\] args) {
THttpTransport tht; try { tht = new THttpTransport(URL, new DefaultHttpClient(cm, params)); final TProtocol loPFactory = new TCompactProtocol(tht); final HelloService.Client client = new HelloService.Client(loPFactory);
final HelloServiceResponse res = client.sayHello(new HelloServiceRequest("toto")); System.out.println(res.getResp()); } catch (final TTransportException e) { e.printStackTrace(); } catch (final HelloException e) { e.printStackTrace(); } catch (final TException e) { e.printStackTrace(); } } }
|