Intereting Posts
Получение программной плотности экрана в андроиде? Лучший способ программирования кнопок / изображений Android: установить элемент списка списка как «выбранный» (выделено) Список API Android <cellinfo> Появилась ошибка при создании проекта в новом рабочем пространстве Как для всех, как правильно сохранить состояние экземпляров фрагментов в стеке? Как зеркально отображать вывод только на устройствах с поддержкой HDCP? Разработчик уведомлений Android getNotification () vs build () Может ли ListView содержать фрагменты Возможно ли получить доступ к данным формы HTML, отправленным через WebView? Artifact 'com.android.tools.build:gradle:0.12.1:gradle.jar' не найден на Android Studio 0.8.1 У эмулятора AVD нет возможности синхронизации с Google Calendar Должен ли я использовать cocos2D или andengine? Пользовательский attr get color возвращает недопустимые значения Какую библиотеку я должен использовать для кодирования / декодирования base64

Выполнение HTTP-запроса параллельно с Retrofit 2

Я хочу реализовать несколько параллельных запросов в Retrofit 2. У меня есть следующая структура, чтобы сделать запрос 3:

HistoricalRApi.IStockChart service=HistoricalRApi.getMyApiService(); //^BVSP,^DJI,^IXIC Call<HistoricalDataResponseTimestamp> call1= service.get1DHistoricalDataByStock("^IXIC"); Call<HistoricalDataResponseTimestamp> call2= service.get1DHistoricalDataByStock("^DJI"); Call<HistoricalDataResponseTimestamp> call3= service.get1DHistoricalDataByStock("^GSPC"); call1.enqueue(retrofitCallbackAmerica()); call2.enqueue(retrofitCallbackAmerica()); call3.enqueue(retrofitCallbackAmerica()); } 

Я прочитал, что в Retrofit1 при определении остального адаптера можно определить параллельный запрос с .setExecutor как здесь:

 RestAdapter adapter = new RestAdapter.Builder() .setEndpoint(END_POINT) .setLogLevel(RestAdapter.LogLevel.FULL) .setExecutors(Executors.newFixedThreadPool(3), null) .build(); 

Мой вопрос: как я могу добиться того же в Retrofit 2? заранее спасибо

Благодаря ссылке Колина Гиллеспи я реализовал то, что говорит Джейк Уортон, и это результат:

  public static IStockChart getMyApiService() { OkHttpClient client=new OkHttpClient(); Dispatcher dispatcher=new Dispatcher(); dispatcher.setMaxRequests(3); client.setDispatcher(dispatcher); // OkHttpClient client = new OkHttpClient(); // HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor(); // interceptor.setLevel(HttpLoggingInterceptor.Level.BODY); // client.interceptors().add(interceptor); if(myService ==null){ Retrofit retrofit=new Retrofit.Builder() .baseUrl("http://chartapi.finance.yahoo.com/") .addConverterFactory(JsonpGsonConverterFactory.create()) .client(client) .build(); myService=retrofit.create(IStockChart.class); return myService; } else { return myService; } }