Apache HttpComponents对异步和非异步请求的依赖关系

时间:2016-12-02 10:20:50

标签: java apache maven apache-httpcomponents

在我的应用程序中,我使用Apache HttpClient进行同步请求。我的maven依赖是这样的:

        <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课时遇到问题。

  • 这两个lib是否使用相同的http-core依赖?可能我应该使用排除http-core

  • 有没有其他方法可以使用Apache HttpComponents获得异步和非异步请求?

  • 在一个项目中混合两个库是否合法?

1 个答案:

答案 0 :(得分:0)

我建议只保留httpasyncclient,您始终可以与其同步处理请求。因此,如果可能,只需将代码重构为httpasyncclient即可。如果没有,您可以尝试在http-core-nio上添加手动依赖,这可能会解决您的问题。