import com.twitter.finagle.Service; import com.twitter.finagle.builder.ClientBuilder; import com.twitter.finagle.http.Http; import com.twitter.util.Future; import com.twitter.util.TimeoutException; import org.jboss.netty.buffer.ChannelBuffer; import org.jboss.netty.handler.codec.http.*; import java.net.InetSocketAddress; public class FinagleExample { public static void main(String[] args) { Service<HttpRequest, HttpResponse> client = ClientBuilder.safeBuild( ClientBuilder.get() .codec(Http.get()) .hosts(new InetSocketAddress("localhost", 8080)) ); HttpRequest request = new DefaultHttpRequest( HttpVersion.HTTP_1_1, HttpMethod.GET, "/"); Future<HttpResponse> future = client.apply(request); future.addEventListener((rsp) -> { if (rsp.isDefined()) { HttpResponse response = rsp.get(); System.out.println("Response: " + response.getContent().toString()); } else { Throwable throwable = rsp.cause(); if (throwable instanceof TimeoutException) { System.err.println("Request timed out"); } else { throwable.printStackTrace(); } } }); } }


上一篇:
下一篇:
切换中文