Apache camel Apache Camel缓慢启动路由

Apache camel Apache Camel缓慢启动路由,apache-camel,Apache Camel,我正在使用ApacheCamel实现DispatcherEIP。队列中有数千条消息需要在不同的URL上传递。每封邮件都有自己的传递URL和传递协议(ftp、电子邮件、http等) 实施方式: 启动单个camel上下文时,JMX和 loadStatisticsEnabled在ManagementStrategy上设置为false。作为 在jira问题中提到,在2.11.0版本中解决,用于禁用 后台管理线程创建 对于每个正在构造路由的消息,该消息都是 被推到运送路线 消息处理后,路由将关闭并从中删

我正在使用ApacheCamel实现DispatcherEIP。队列中有数千条消息需要在不同的URL上传递。每封邮件都有自己的传递URL和传递协议(ftp、电子邮件、http等)

实施方式:

  • 启动单个camel上下文时,JMX和 loadStatisticsEnabled在ManagementStrategy上设置为false。作为 在jira问题中提到,在2.11.0版本中解决,用于禁用 后台管理线程创建
  • 对于每个正在构造路由的消息,该消息都是 被推到运送路线
  • 消息处理后,路由将关闭并从中删除 上下文
通过让200个调度程序组件线程共享相同的上下文,进行了一个小型性能测试。 观察到启动路由的时间最多增加60秒,而处理时间以毫秒为单位

CAMEL-5675号问题提到,这一问题已得到解决,但在启动路线时仍需花费大量时间。

正在为http创建的路由为

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

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

这是在其他地方讨论的,用户首先发布了这个问题: