Java8并行HTTP调用

问题描述

首先,这个问题是针对Java8的。

话虽如此,让我们着手解决这个问题。

我是java的新手,似乎有很多不同的方法可以实现此目的。但是,我不确定哪一个是正确的。另外,并发调用的限制也使我难以解决

有人可以指出我需要学习的Java主题吗?

感谢您的宝贵时间。非常感谢您的帮助。

解决方法

在我的头顶上

  • Apache HttpClient
  • Spring-Boot @ Async,threadPoolTask​​Executor限制为maxPoolSize = 8

应该这样做。

已编辑 如果不想使用Spring,则可以仅将ForkJoinPool与Stream一起使用。签出-> https://www.baeldung.com/java-8-parallel-streams-custom-threadpool

,

IMO,如果您的项目是使用Spring框架开发的,那么我建议您选择WebFlux。它是一种reactive programming方法RxJava的实现。文档链接为here。它包括一个支持无阻塞的HTTP客户端,称为WebClient,可用于进行HTTP调用。

否则,CompletableFutureExecutorService具有根据您的API并发性定制的线程池配置。这将是个不错的选择。