首页 文章

Apache Camel缓慢启动路由

提问于
浏览
0

我正在使用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 回答

相关问题