我有一个类似于以下的路由到动态计算的HTTP URL:
from("file:in")
.recipientList(simple(jettyUrl + "?id=${exchangeId}"))
.to("file:out?fileName=abc");
在FAQ中描述:
http://camel.apache.org/how-do-i-use-dynamic-uri-in-to.html
每次处理交换时,都会创建一个带有新线程池的新jetty组件。线程池是较新发布的。经过几次交流后,线程已经耗尽。
我正在使用Camel 2.12.2。在该版本中,不再可能将一个httpClient实例或执行程序设置为jetty组件以防止泄漏。在camel 2.11中删除了有用的选项httpClientThreadPool和httpClient。
如何在不泄漏线程的情况下请求包含查询参数的HTTP Url。
也许我的做法是错误的,有人可以指出我正确的方向。
答案 0 :(得分:4)
我的做法错了。通过使用HTTP_QUERY或HTTP_URI标头,不再需要recipientList,只创建一个端点。因此,不再有线程泄漏。
.setHeader(Exchange.HTTP_URI, simple("http://somehost3244.org/id=${exchangeId}"))
.to("jetty:http://dummyhost243242.org")