解决套接字处于“ CLOSE_WAIT”状态的Apache-Camel问题

时间:2018-11-28 09:12:23

标签: java apache-camel

这是我第一次尝试骆驼,可能会遗漏一些明显的东西,所以请保持友善。

我正在尝试纠正Camel问题,该问题看到带有动态URI元素的HTTP端点使套接字处于CLOSE_WAIT状态。

在查看问题并在RedHat中进行了潜在的修复/变通之后,我想按照他们所说的来解决我的问题。

但是我不确定如何正确地在我的代码上实现,因为骆驼函数recipientList(...)似乎引起了我的问题。

由于端点取决于Exchange信息(即标头中的ID),因此使用

recipientList是因为to()仅接受静态端点URI。

问题代码

.when(/* ID header not null */)
    .setHeader(Exchange.HTTP_METHOD, constant("PUT"))
    // This recipientList is causing the issue  
    .recipientList(simple(endpoint + '/' + ID_Placeholder + endpointParams))
    .end()

试图修复

文档提出以下解决方案:

  

不要直接在端点上指定URI,而应使用   端点仅用于指定Camelparameters,并使用   交换标头CamelHttpUri(在Java中,Exchange.HTTP_URI)。

在我看来,我应该将recipientList行替换为以下内容:

.setHeader(Exchange.HTTP_URI, simple(endpoint + '/' + ID_HEADER_PLACEHOLDER + endpointParams))

但是,我不确定数据将如何分发?

0 个答案:

没有答案
相关问题