사용자 도구

사이트 도구


java:asynchttpclient

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

다음 판
이전 판
java:asynchttpclient [2022/05/18 14:24]
kwon37xi 만듦
java:asynchttpclient [2022/05/18 14:30] (현재)
kwon37xi
줄 3: 줄 3:
   * async, non-blocking IO Java HTTP Client   * async, non-blocking IO Java HTTP Client
  
 +===== Retrofit 2 지원 =====
 +  * https://github.com/AsyncHttpClient/async-http-client/tree/master/extras/retrofit2
 +  * [[java:retrofit|retrofit]]
 +  * ''Call.Factory'' 객체를 한 번만 생성해서 공유해서 사용할 것. 매번 생성시 리소스 고갈 됨.
 +<code java>
 +// instantiate async-http-client
 +AsyncHttpClient httpClient = ...
 +
 +// instantiate async-http-client call factory
 +Call.Factory callFactory = AsyncHttpClientCallFactory.builder()
 +    .httpClient(httpClient)                 // required
 +    .onRequestStart(onRequestStart)         // optional
 +    .onRequestFailure(onRequestFailure)     // optional
 +    .onRequestSuccess(onRequestSuccess)     // optional
 +    .requestCustomizer(requestCustomizer)   // optional
 +    .build();
 +
 +// instantiate retrofit
 +Retrofit retrofit = new Retrofit.Builder()
 +    .callFactory(callFactory) // use our own call factory
 +    .addConverterFactory(ScalarsConverterFactory.create())
 +    .addConverterFactory(JacksonConverterFactory.create())
 +    // ... add other converter factories
 +    // .addCallAdapterFactory(RxJavaCallAdapterFactory.createAsync())
 +    .validateEagerly(true) // highly recommended!!!
 +    .baseUrl("https://api.github.com/");
 +
 +// time to instantiate service
 +GitHub github = retrofit.create(Github.class);
 +
 +// enjoy your type-safe github service api! :-)
 +</code>
java/asynchttpclient.1652851448.txt.gz · 마지막으로 수정됨: 2022/05/18 14:24 저자 kwon37xi