apache.camel

这是另一篇博客文章,介绍了下一个Apache Camel 2.12版本中即将进行的改进和新功能。

在上一个博客中,我谈到了路由直接支持的cron表达式 。 这篇博客文章与之相关,因为我们对轮询路由具有另一个新功能(使用计划的轮询使用者)。

默认情况下,计划的轮询路由将以固定速率(通常每半秒)轮询新消息。 尽管在某些用例中,新消息并非在一天内平均分布,但可能趋向于成批到达。 因此,在没有新消息到达的时间段内,计划的轮询使用者将不会提取新消息,但仍会以相同的速度寻找新消息。

因此,我们引入了一个回退功能,该功能可以让您在没有消息的情况下让计划的轮询使用者检查不那么主动。

为了证明这一点,我们引入了3个新选项

  1. backoffMultiplier =如果连续出现多个随后的空闲/错误,则使计划的轮询使用者退回 。 乘数就是在下一次实际尝试再次发生之前将被跳过的轮询次数。 使用此选项时,还必须配置backoffIdleThreshold和/或backoffErrorThreshold。
  2. backoffIdleThreshold =在backoffMultipler踢入之前应该发生的后续空闲轮询的数量。
  3. backoffErrorThreshold =在backoffMultipler插入之前应该发生的后续错误轮询(由于某些错误而失败)的数量。

默认情况下,无论是否有要提取的消息,计划的轮询使用者都是静态的,使用相同的轮询频率。 从Camel 2.12开始,您可以使用退避功能将计划的轮询使用者配置为更加动态。 这使调度程序在空闲时或行中有X个错误时可以跳过N个轮询。 有关backoffXXX选项的更多信息,请参见上表。

例如,要让FTP使用方退回一会儿空闲,可以这样做:

from("ftp://myserver?username=foo&passowrd=secret?delete=true&delay=5s&backoffMultiplier=6&backoffIdleThreshold=5").to("bean:processFile");

在此示例中,FTP使用者将每5秒轮询一次新的FTP文件。 但是,如果它已经连续5次处于空闲状态,那么它将使用6的乘数来回退,这意味着它将改为每5 x 6 = 30秒轮询一次。 当使用者最终获取文件时,退避将重置,使用者将返回并每隔5秒轮询一次。

在JMX中,您可以查看退回是否已启动,因为使用者将拥有属性backoffCounter> 0。

您可以在以下位置找到更多详细信息

  • 轮询消费者
  • 文件组件
参考: Apache Camel 2.12 –通过我们的JCG合作伙伴 Claus Ibsen在Apache Camel博客的Claus Ibsen上对退避支持的退缩支持 。

翻译自: https://www.javacodegeeks.com/2013/08/apache-camel-2-12-backoff-support-for-less-aggressive-polling-routes.html

apache.camel

apache.camel_Apache Camel 2.12 –支持后退,以减少不太积极的轮询路线相关推荐

  1. Apache Camel 2.12 –支持后退,以减少较积极的轮询路线

    这是另一篇博客文章,介绍了下一个Apache Camel 2.12版本中即将进行的改进和新功能. 在上一个博客中,我谈到了路由直接支持的cron表达式 . 这篇博客文章与之相关,因为我们对轮询路由具有 ...

  2. apache.camel_Apache Camel 2.9发布–十大变化

    apache.camel 在2011年的最后一天,阿帕奇骆驼制品被成功地推到了Maven仓库中,距离香槟酒瓶破裂并进入2012年仅1.5个小时. 2.9版是创纪录的发行版,自5个月前发布2.8版以来, ...

  3. apache.camel_Apache Camel 2.21发布–新增功能

    apache.camel 我们刚刚发布了Apache Camel 2.21,我将在此博客中重点介绍值得注意的更改. 此版本不支持Spring Boot2.对Spring Boot 2的支持将在Came ...

  4. apache.camel_Apache Camel 2.16发布–十大亮点

    apache.camel Apache Camel 2.16于上周五发布. 这篇博客文章是我尝试在此新版本中进行前10名(加1作为奖励)的亮点. 1.动态到 来自骆驼用户的最常见的常见问题是,如何将消 ...

  5. apache.camel_Apache Camel 2.11发布

    apache.camel 上周Apache Camel 2.11发布了. 这篇博客文章总结了最引人注目的新功能和改进. 有关详细说明,请参见Camel 2.11发行说明 . 1)新组件 与往常一样,每 ...

  6. apache camel_Apache Camel入门

    apache camel 在先前的博文中,我们了解了企业集成模式(EIP). 现在,在这篇文章中,我们将研究实现这些模式的Apache Camel框架. 关于骆驼: Apache Camel是一个开放 ...

  7. apache camel_Apache Camel日志组件示例

    apache camel Apache Camel日志组件示例 您要将消息记录到底层的记录机制中,请使用骆驼的log:组件. Camel使用sfl4j作为记录器API,然后允许您配置记录器实现. 在本 ...

  8. apache camel_Apache Camel简介

    apache camel Apache Camel是著名的企业集成模式的开源实现. Camel是一个路由和中介引擎,可帮助开发人员以各种特定于域的语言(DSL)(例如Java,Spring / XML ...

  9. apache.camel_Apache Camel 2.23发布

    apache.camel 昨天发布了Apache Camel 2.23 ,其中最值得注意的新功能是对Spring Boot 2.1的支持,我们还改进了启动器组件以包括更多的元数据,并对改进的Sprin ...

最新文章

  1. 吴恩达新书《Machine Learning Yearning》完整中文版开源!
  2. 在java中建个jsp文件_第一个jsp页面
  3. DOM节点删除方法小结
  4. EXCEL 数字+E+数字 自动识别为指数形式的解决办法
  5. python把桢写入txt_Java 字节码与字节码分析
  6. PHP的strtotime
  7. 计算机组成原理基于mips结构pdf,计算机组成原理_L12-MIPS系统结构-V1.pdf
  8. stm32l0的停止模式怎么唤醒_最强家庭娱乐系统+儿童模式,小度在家智能屏X8开售抢先体验...
  9. fotify php审计,代码安全审计(二)Fortify介绍及使用教程
  10. 字符编码、常见字符集解析(ASCII、Unicode、UTF-8、GB2312等)
  11. 剪枝实践:图像检索如何加速和省显存 ?
  12. 虚拟化部署之创建Hyper-V虚拟硬盘
  13. CMS收集器中两个致命的问题
  14. 大数据Hadoop学习记录(4)----基于JAVA的HDFS文件操作
  15. 加州ucla 计算机学校,UCLA的Electrical Engineering「加州大学洛杉矶分校电气工程系」...
  16. 航空公司系统是怎样炼成的
  17. python有什么颜色_Python中常见颜色记录
  18. Python_美多商城(验证码)_3
  19. Stream中map和flatmap的区别,一看就懂
  20. 12款福克斯后座中置灯加开关

热门文章

  1. Full_of_Boys训练7总结
  2. 总结Java常见面试题和答案
  3. Spring快速开启计划任务
  4. 使用枚举定义常量更好点儿
  5. MySQL建表,DML,DDL,约束,外键策略
  6. html5动画是什么,10个HTML5动画 让你忘掉Flash是啥(组图)
  7. Mysql8.0可以使用解压版 这个比较快 好像现在都是解压版了
  8. python数据分析架构_Python数据分析
  9. git rebase命令(转)
  10. Spring IOC 容器启动、Bean生命周期详解