2016-12-02 144 views
0

在我的应用程序中,我使用Apache HttpClient进行同步请求。我的maven依赖看起来像这样:Apache HttpComponents对异步和非异步请求的依赖

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

但现在我需要异步请求的能力。

我的一般问题是 - 如果我想使用Apache Http组件创建异步和非异步请求,应该如何看待我的pom.xml?其实有很多问题让我有点困惑。

更具体:

  • 是异步客户端是独立的依赖?从我的理解 - 是的,但加入这个依赖于我的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上添加手动依赖项,这可能会解决您的问题。