当前位置: 首页 > 面试题库 >

如果不使用自定义连接管理器,是否仍应在Apache HttpClient上设置ConnectionRequestTimeout?

谭景明
2023-03-14
问题内容

我正在使用Apache RequestConfig在上配置一些超时HttpClient

RequestConfig config = RequestConfig.custom()
        .setConnectTimeout(timeout)
        .setSocketTimeout(timeout)
        .html" target="_blank">setConnectionRequestTimeout(timeout) // Can I leave this out..
        .build();

CloseableHttpClient httpClient = HttpClients.custom()
        //.setConnectionManager(connectionManager) // ..if I don't use this
        .setDefaultRequestConfig(config)
        .build();

setConnectionRequestTimeout(timeout)即使没有设置自定义的连接管理器/池,也可以打电话吗?

据我了解,setConnectionRequestTimeout(timeout)它用于设置等待来自连接管理器/池的连接的时间。

请注意,我没有在上设置连接管理器httpClient(请参见注释行)。


问题答案:

connectionRequestTimeout 当您有一个连接池且它们都很忙时,会发生这种情况,不允许连接管理器为您提供连接以发出请求。

因此,您对以下问题的答案:

即使没有设置自定义的连接管理器/池,调用setConnectionRequestTimeout(timeout)也有意义吗?

是是的。

这是因为默认实现具有内部连接池。因此,是的,指定连接请求超时是有意义的。实际上,这是一种良好且安全的做法。



 类似资料:
  • 我刚接触Kafka,我不知道如何使用“transforms.router.type”使其与我的Debezium设置一起工作。因此,我对java类进行了特殊的事件转换,并预先进行了配置,以便将其部署到容器中,如下所示: curl-X POST-H“Accept:application/json”-H“Content Type:application/json”localhost:8083/conne

  • 我想使用此方法启用CORS Tomcat 8(自定义过滤器)Tomcat CORS过滤器 我困惑的步骤,使自定义过滤器被称为web.xml. 如何设置. java文件?这个文件的目录在哪里(SimpleCORSFilter)?

  • 我正在尝试使用docker容器中的kafka connect和一个自定义连接器(PROGRESS _ DATADIRECT _ JDBC _ OE _ all . jar)来连接openedge数据库。 我将JAR文件放在插件路径(usr/share/java)中,但它不会作为连接器加载。 我可以通过将另一个(标准)连接器放在插件路径中来加载它。这行得通 有点不知道如何前进,我对Kafka很陌生。

  • 我目前试图设置一个管理员角色,以便访问一个简单的管理页面,使用以下留档通过提供:连接角色 我已经有一段时间不停地用我的头来撞击它,但我仍然不知道如何设置角色,例如,现在我正在从数据库中提取一个管理值,并暂时将其存储在一个全局变量中,但我不知道如何将其用于连接角色,比如只允许特定用户访问我的管理页面。 如果我的文档没有帮助我确保仅当用户是管理员时才能访问网页,那么有人可以澄清或展示如何执行此操作的示

  • 我们结合使用JAX-WS和JAXB来接收和解析XML web服务调用。所有这些都是基于注释的,也就是说,我们在代码中从未掌握过JAXBContext。我需要在解组器上设置一个自定义ValidationEventHandler,这样,如果某个特定字段的日期格式不被接受,我们就可以捕获错误并在响应中报告一些好消息。我们在讨论的字段上有一个XMLJavaTypeAdapter,它进行解析并引发异常。我看

  • 这里是我的拦截器方法,我想在这里设置自定义响应,告诉UI发生了什么 并且在web.xml中 spring-servlet.xml 当会话超时时,它在返回false后不发送任何响应。连下面的都不行