加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 无法在Camel HTTP组件中配置“Keep Alive”

发布时间:2020-12-15 02:15:56 所属栏目:Java 来源:网络整理
导读:我正在为HTTP组件的正确设置遇到一些麻烦.目前,微服务从提供商处提取 JSON内容,处理它并将其发送到下一个服务以进行进一步处理.主要问题是这个微服务创建了大量的CLOSE_WAIT套接字连接.我知道“KEEP-ALIVE”的整个概念应保持连接打开,直到我关闭它,但服务器
我正在为HTTP组件的正确设置遇到一些麻烦.目前,微服务从提供商处提取 JSON内容,处理它并将其发送到下一个服务以进行进一步处理.主要问题是这个微服务创建了大量的CLOSE_WAIT套接字连接.我知道“KEEP-ALIVE”的整个概念应保持连接打开,直到我关闭它,但服务器可能会因某些原因丢弃连接并创建此CLOSE_WAIT套接字.

我已经创建了一个用于调试/测试目的的小型服务,它可以向Google发送GET调用,但即使这个连接保持打开状态,直到我关闭程序.我尝试了很多不同的解决方案:

> .setHeader(“连接”,常量(“关闭”))
> -Dhttp.keepAlive = false作为VM参数
>从Camel-Http切换到Camel-Http4
> httpClient.soTimeout = 500(Camel-HTTP),httpClient.socketTimeout = 500和connectionTimeToLive = 500(Camel-HTTP4)
> .setHeader(“Connection”,simple(“Keep-Alive”))和
.setHeader(“Keep-Alive”,simple(“timeout = 10”))(Camel-HTTP4)
>设置通过调试DefaultConnectionKeepAliveStrategy的响应从-1(永不结束)到Camel-HTTP4中的特定值 – 这有效,但我无法注入自己的策略.

但我没有成功.所以也许你们中的一个可以帮助我:

>我如何告诉Camel-HTTP它应该在特定时间过后关闭连接?例如,该服务每小时从内容提供商处提取. 3-4小时后,HttpComponent应在拉动后关闭连接,并在下一次拉动时重新打开.目前,每个连接都将被放回MultiThreadedHttpConnectionManager,并且套接字仍处于打开状态.
>如果使用Camel-HTTP无法做到这一点:我如何在创建路线时注入HttpClientBuilder?我知道应该可以通过httpClient选项,但我不明白文档的特定部分.

感谢大家的帮助

解决方法

您可以将自己的clientConnectionManager提供给HTTP4.通常,您应该使用org.apache.http.impl.conn.PoolingHttpClientConnectionManager的实例,您可以使用自己的org.apache.http.config.SocketConfig将其配置为连接管理器的setDefaultSocketConfig方法.

如果您使用Spring with Java config,那么您将拥有一个方法:

@Bean
PoolingHttpClientConnectionManager connectionManager() {
    SocketConfig socketConfig = SocketConfig.custom()
            .setSoKeepAlive(false)
            .setSoReuseAddress(true)
            .build();
    PoolingHttpClientConnectionManager connectionManager = new PoolingHttpClientConnectionManager();
    connectionManager.setDefaultSocketConfig(socketConfig);
    return connectionManager;
}

然后你只需在端点定义中使用它,如下所示:clientConnectionManager = #connectionManager

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读