apache.camel_Apache Camel 2.12 –支持后退,以减少不太积极的轮询路线
apache.camel
這是另一篇博客文章,介紹了下一個(gè)Apache Camel 2.12版本中即將進(jìn)行的改進(jìn)和新功能。
在上一個(gè)博客中,我談到了路由直接支持的cron表達(dá)式 。 這篇博客文章與之相關(guān),因?yàn)槲覀儗?duì)輪詢路由具有另一個(gè)新功能(使用計(jì)劃的輪詢使用者)。
默認(rèn)情況下,計(jì)劃的輪詢路由將以固定速率(通常每半秒)輪詢新消息。 盡管在某些用例中,新消息并非在一天內(nèi)平均分布,但可能趨向于成批到達(dá)。 因此,在沒有新消息到達(dá)的時(shí)間段內(nèi),計(jì)劃的輪詢使用者將不會(huì)提取新消息,但仍會(huì)以相同的速度尋找新消息。
因此,我們引入了一個(gè)回退功能,該功能可以讓您在沒有消息的情況下讓計(jì)劃的輪詢使用者檢查不那么主動(dòng)。
為了證明這一點(diǎn),我們引入了3個(gè)新選項(xiàng)
默認(rèn)情況下,無論是否有要提取的消息,計(jì)劃的輪詢使用者都是靜態(tài)的,使用相同的輪詢頻率。 從Camel 2.12開始,您可以使用退避功能將計(jì)劃的輪詢使用者配置為更加動(dòng)態(tài)。 這使調(diào)度程序在空閑時(shí)或行中有X個(gè)錯(cuò)誤時(shí)可以跳過N個(gè)輪詢。 有關(guān)backoffXXX選項(xiàng)的更多信息,請(qǐng)參見上表。
例如,要讓FTP使用方退回一會(huì)兒空閑,可以這樣做:
from("ftp://myserver?username=foo&passowrd=secret?delete=true&delay=5s&backoffMultiplier=6&backoffIdleThreshold=5").to("bean:processFile");在此示例中,FTP使用者將每5秒輪詢一次新的FTP文件。 但是,如果它已經(jīng)連續(xù)5次處于空閑狀態(tài),那么它將使用6的乘數(shù)來回退,這意味著它將改為每5 x 6 = 30秒輪詢一次。 當(dāng)使用者最終獲取文件時(shí),退避將重置,使用者將返回并每隔5秒輪詢一次。
在JMX中,您可以查看退回是否已啟動(dòng),因?yàn)槭褂谜邔碛袑傩詁ackoffCounter> 0。
您可以在以下位置找到更多詳細(xì)信息
- 輪詢消費(fèi)者
- 文件組件
翻譯自: https://www.javacodegeeks.com/2013/08/apache-camel-2-12-backoff-support-for-less-aggressive-polling-routes.html
apache.camel
總結(jié)
以上是生活随笔為你收集整理的apache.camel_Apache Camel 2.12 –支持后退,以减少不太积极的轮询路线的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 了解Java中的可克隆接口
- 下一篇: 如何在Mac电脑中添加普通账户电脑如何加