2016-12-02 2 views
0

В моем приложении я использую Apache HttpClient для синхронных запросов. Моя зависимость maven выглядит так:Зависимости Apache HttpComponents для асинхронных и неасинхронных запросов

 <dependency> 
      <groupId>org.apache.httpcomponents</groupId> 
      <artifactId>httpclient</artifactId> 
      <version>4.5.2</version> 
     </dependency> 

Но теперь мне нужна возможность делать асинхронные запросы.

Мой общий вопрос: как мне выглядеть мой pom.xml, если я хочу сделать асинхронные и неасинхронные запросы с использованием компонентов Apache Http? На самом деле у меня много вопросов, которые меня немного смутили.

Чтобы быть более конкретным:

  • является асинхронной клиент отдельно зависимость? В моем понимании - да, но после добавления этой зависимости к моему pom.xml:

    <dependency> 
         <groupId>org.apache.httpcomponents</groupId> 
         <artifactId>httpasyncclient</artifactId> 
         <version>4.1.2</version> 
        </dependency> 
    

    У меня есть проблемы с импортом HttpAsyncClients класса.

  • Это ли обе библиотеки используют одну и ту же зависимость http-core? Может быть, я должен использовать исключение для http-core?

  • Есть ли другой способ иметь асинхронные и неасинхронные запросы с Apache HttpComponents?

  • Является ли законным смешивать обе библиотеки в одном проекте?

ответ

0

Я предлагаю хранить только httpasyncclient, вы всегда можете обрабатывать запросы синхронно с ним. Итак, если это возможно, просто реорганизуйте код на httpasyncclient. Если нет, вы можете попробовать добавить ручную зависимость от http-core-nio, что может решить вашу проблему.

Смежные вопросы