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