1313 */
1414package feign .benchmark ;
1515
16+ import feign .Logger ;
17+ import feign .Logger .Level ;
18+ import feign .Retryer ;
19+ import io .netty .buffer .ByteBuf ;
20+ import io .reactivex .netty .RxNetty ;
21+ import io .reactivex .netty .protocol .http .server .HttpServer ;
22+ import io .reactivex .netty .protocol .http .server .HttpServerRequest ;
23+ import io .reactivex .netty .protocol .http .server .HttpServerResponse ;
24+ import io .reactivex .netty .protocol .http .server .RequestHandler ;
25+ import io .reactivex .netty .server .ErrorHandler ;
1626import okhttp3 .OkHttpClient ;
1727import okhttp3 .Request ;
1828import org .openjdk .jmh .annotations .Benchmark ;
3040import java .util .concurrent .TimeUnit ;
3141import feign .Feign ;
3242import feign .Response ;
33- import io .netty .buffer .ByteBuf ;
34- import io .reactivex .netty .RxNetty ;
35- import io .reactivex .netty .protocol .http .server .HttpServer ;
36- import io .reactivex .netty .protocol .http .server .HttpServerRequest ;
37- import io .reactivex .netty .protocol .http .server .HttpServerResponse ;
38- import io .reactivex .netty .protocol .http .server .RequestHandler ;
43+ import rx .Observable ;
3944
4045@ Measurement (iterations = 5 , time = 1 )
4146@ Warmup (iterations = 10 , time = 1 )
@@ -53,17 +58,15 @@ public class RealRequestBenchmarks {
5358
5459 @ Setup
5560 public void setup () {
56- server = RxNetty .createHttpServer (SERVER_PORT , new RequestHandler <ByteBuf , ByteBuf >() {
57- public rx .Observable handle (HttpServerRequest <ByteBuf > request ,
58- HttpServerResponse <ByteBuf > response ) {
59- return response .flush ();
60- }
61- });
61+ server = RxNetty .createHttpServer (SERVER_PORT , (request , response ) -> response .flush ());
6262 server .start ();
6363 client = new OkHttpClient ();
6464 client .retryOnConnectionFailure ();
6565 okFeign = Feign .builder ()
6666 .client (new feign .okhttp .OkHttpClient (client ))
67+ .logLevel (Level .NONE )
68+ .logger (new Logger .ErrorLogger ())
69+ .retryer (new Retryer .Default ())
6770 .target (FeignTestInterface .class , "http://localhost:" + SERVER_PORT );
6871 queryRequest = new Request .Builder ()
6972 .url ("http://localhost:" + SERVER_PORT + "/?Action=GetUser&Version=2010-05-08&limit=1" )
@@ -89,7 +92,10 @@ public okhttp3.Response query_baseCaseUsingOkHttp() throws IOException {
8992 * How fast can we execute get commands synchronously using Feign?
9093 */
9194 @ Benchmark
92- public Response query_feignUsingOkHttp () {
93- return okFeign .query ();
95+ public boolean query_feignUsingOkHttp () {
96+ /* auto close the response */
97+ try (Response ignored = okFeign .query ()) {
98+ return true ;
99+ }
94100 }
95101}
0 commit comments