Apache Camel缓慢启动路由

时间:2013-05-13 10:19:42

标签: apache-camel

我正在使用Apache camel来实现调度程序EIP。队列中有数千条消息需要在不同的URL上传递。每条消息都有自己的传递URL和传递协议(ftp,email,http等)。

实施方式:

  • 引导单个camel上下文,为JMX禁用上下文 在ManagementStrategy上将loadStatisticsEnabled设置为false。如 在2.11.0版本中提到的jira问题中提到的禁用 后台管理线程创建。
  • 对于正在构建路由的每条消息,消息正在进行中 推到路线送货。
  • 处理完邮件后,路由将关闭并从中删除 上下文。

通过拥有200个调度程序组件线程进行小型性能测试,每个线程共享相同的上下文。 观察到开始路由的时间增加到最多60秒,而处理时间以毫秒为单位。

问题CAMEL-5675提到这已经修复但仍然在观察启动路线时需要花费大量时间。 https://issues.apache.org/jira/browse/CAMEL-5675

正在为http创建的路线是

from("direct:"+dispatchItem.getID())
.toF("%s?httpClient.soTimeout=%s&disableStreamCache=true", dispatchItem.getEndPointURL(),timeOutInMillis); 

每个dispatchItem都有一个唯一的ID。

1 个答案:

答案 0 :(得分:1)

这在其他地方正在讨论,用户首先发布此问题:http://camel.465427.n5.nabble.com/Slow-startup-of-routes-tp5732356.html