我需要能够启动和停止RouteBuilder之外的路由......所以我有一个类监视外部服务并打开和关闭路由。基本上我想要这条路线停止消耗新的请求并处理当前的空中路线。骆驼stopRoute startRoute泄漏线程
因此,我有一个计划任务,每隔x秒运行一次,即打开和关闭服务。但我发现停止和开始路线导致它泄漏线程。
Basic代码:
for(int iCount=0;iCount<10;iCount++) {
camelContext.stopRoute(TEST_ROUTE);
camelContext.startRoute(TEST_ROUTE);
}
这似乎产生了10个额外的线程。有没有人遇到过这个?
注意:我已考虑使用挂起/恢复和还使用RoutePolicy。但我想知道为什么骆驼在使用启动/停止路由时会泄露线程。
我在这里错过了什么吗?
我曾经观察过这种行为,在那里我定期停下来,并开始使用2.9.0版本的路线。我记得当时在我的搜索过程中,这个问题在2.10.0或更高的版本中被修正了。由于我的要求不再需要定期停止启动路线,因此我有机会对其进行测试。 – techuser 2013-02-27 04:14:34