import com.twitter.finagle.Http; import com.twitter.finagle.Service; import com.twitter.util.Future; import com.twitter.util.Return; import com.twitter.util.Throw; import com.twitter.util.Try; import com.twitter.finagle.http.Request; import com.twitter.finagle.http.Response; public class MyHttpClient { public static void main(String[] args) { Service<Request, Response> client = Http.client() .newService("localhost:8080"); Request request = Request.apply("/api/endpoint"); Future<Response> responseFuture = client.apply(request); responseFuture.respond(new Function<Try<Response>, scala.runtime.BoxedUnit>() { public scala.runtime.BoxedUnit apply(Try<Response> responseTry) { responseTry match { case Return(response) => System.out.println(response.contentString()); case Throw(ex) => System.out.println("Request failed: " + ex.getMessage()); } return null; } }); } } com.twitter.finagle { serviceTimeout = 5.seconds retryBudget { percentCanRetry = 0.5 ttl = 60.seconds } http { compressionLevel = 6 maxRequestSize = 10.megabytes maxResponseSize = 10.megabytes } loadbalancer { maxEffort = 5 maxPenalty = 10.seconds } }


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