269.11. QuartzScheduledPollConsumerScheduler 사용
Quartz2 구성 요소는 파일 및 FTP 소비자와 같은 폴링 소비자에 대한 cron 기반 스케줄링을 사용할 수 있는 Polling Consumer 스케줄러를 제공합니다.
예를 들어 cron 기반 표현식을 사용하여 2초마다 파일을 폴링하는 경우 Camel 경로는 간단히 다음과 같이 정의할 수 있습니다.
from("file:inbox?scheduler=quartz2&scheduler.cron=0/2+*+*+*+*+?") .to("bean:process");
from("file:inbox?scheduler=quartz2&scheduler.cron=0/2+*+*+*+*+?")
.to("bean:process");
Camel에서 Quartz2 기반 스케줄러를 사용하도록 scheduler=quartz2
를 정의합니다. 그런 다음 scheduler.xxx
옵션을 사용하여 스케줄러를 구성합니다. Quartz2 스케줄러는 cron 옵션을 설정해야 합니다.
지원되는 옵션은 다음과 같습니다.
매개변수 | Default | 유형 | 설명 |
---|---|---|---|
|
|
| 사용자 정의 Quartz 스케줄러를 사용합니다. 구성하지 않으면 Quartz2 구성 요소에서 공유 스케줄러가 사용됩니다. |
|
|
| mandatory: 폴링을 트리거하기 위한 cron 표현식을 정의합니다. |
|
|
| 트리거 ID를 지정하려면 다음을 수행합니다. 제공하지 않으면 UUID가 생성되고 사용됩니다. |
|
|
| 트리거 그룹을 지정하려면 다음을 수행합니다. |
|
|
| CRON 트리거에 사용할 시간대입니다. |
중요: 끝점 URI에서 이러한 옵션 구성을 알고 있어야 합니다 . 스케줄러 앞에는 .
. 예를 들어 트리거 ID 및 그룹을 구성하려면 다음을 수행합니다.
from("file:inbox?scheduler=quartz2&scheduler.cron=0/2+*+*+*+*+?&scheduler.triggerId=myId&scheduler.triggerGroup=myGroup") .to("bean:process");
from("file:inbox?scheduler=quartz2&scheduler.cron=0/2+*+*+*+*+?&scheduler.triggerId=myId&scheduler.triggerGroup=myGroup")
.to("bean:process");
또한 Spring에는 CRON 스케줄러가 있으므로 다음을 사용할 수도 있습니다.
from("file:inbox?scheduler=spring&scheduler.cron=0/2+*+*+*+*+?") .to("bean:process");
from("file:inbox?scheduler=spring&scheduler.cron=0/2+*+*+*+*+?")
.to("bean:process");