有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java为什么我不应该在FutureRequestExecutionService中使用PoolightTPClientConnectionManager?

我正在编写一个需要运行许多并行http请求的服务。它也将部署在自动扩展环境中,但我希望尽可能多地从每个服务实例中获得性能

我看到了这篇帖子,注意到有人建议不要把这两门课混在一起

我很好奇为什么。基本上,我希望将http客户机作业提交给executor服务,并希望http连接池到位,以重用http连接。也许我想得太多了,但我不明白为什么在一个应用程序中结合这两个类/概念是个坏主意

另外,我注意到响应中给出的示例在每个FutureRequestExecutionService中使用一个http客户端实例。这让我有点紧张,但CloseableHttpClient是线程安全的,所以可能我担心的不必要

此外,对于我的代码提交的大多数客户端任务,我不在乎响应是否为200,如果不是,我只是计划增加一个错误跟踪指标,并可能记录异常,所以我考虑使用回调路径。在这方面,我不清楚回调将在哪里运行。如果我的线程池线程运行并完成,即没有阻止http请求。那么哪个线程运行回调代码呢


共 (1) 个答案

  1. # 1 楼答案

    有问题的帖子建议不要“……PoollightTPClientConnectionManager和FutureRequestExecutionService连接代码的紧密耦合……”。没有理由不将FutureRequestExecutionServicePoolingHttpClientConnectionManager一起使用