270.3. Spring Boot Auto-Configuration
组件支持 12 个选项,如下所列。
| Name | 描述 | 默认值 | 类型 |
|---|---|---|---|
| camel.component.quartz2.auto-start-scheduler | 调度程序是否应自动启动。这个选项默认为 true | true | 布尔值 |
| camel.component.quartz2.enable-jmx | 是否启用 Quartz JMX,允许从 JMX 管理 Quartz 调度程序。这个选项默认为 true | true | 布尔值 |
| camel.component.quartz2.enabled | 启用 quartz2 组件 | true | 布尔值 |
| camel.component.quartz2.interrupt-jobs-on-shutdown | 是否在关闭时中断作业,强制调度程序更快地关闭并尝试中断任何正在运行的作业。如果启用了,则任何正在运行的作业可能会因为中断而失败。 | false | 布尔值 |
| camel.component.quartz2.prefix-instance-name | 是否使用 CamelContext 名称作为 Quartz Scheduler 实例名称作为前缀。这默认是启用的,以便每个 CamelContext 默认使用自己的 Quartz 调度程序实例。您可以将此选项设置为 false,在多个 CamelContext 之间重复使用 Quartz 调度程序实例。 | true | 布尔值 |
| camel.component.quartz2.prefix-job-name-with-endpoint-id | 是否使用端点 ID 为 quartz 任务添加前缀。这个选项默认为 false。 | false | 布尔值 |
| camel.component.quartz2.properties | 配置 Quartz 调度程序的属性。选项是一个 java.util.Properties 类型。 | 字符串 | |
| camel.component.quartz2.properties-file | 从 classpath 加载的属性的文件名 | 字符串 | |
| camel.component.quartz2.resolve-property-placeholders | 启动时组件是否应解析自身上的属性占位符。只有属于 String 类型的属性才能使用属性占位符。 | true | 布尔值 |
| camel.component.quartz2.scheduler | 要使用配置的 Quartz 调度程序,而不是创建新的调度程序。选项是 org.quartz.Scheduler 类型。 | 字符串 | |
| camel.component.quartz2.scheduler-factory | 使用自定义 SchedulerFactory,用于创建调度程序。选项是一个 org.quartz.SchedulerFactory 类型。 | 字符串 | |
| camel.component.quartz2.start-delayed-seconds | 启动 quartz 调度程序前等待的秒数。 | 整数 |
例如,以下路由规则会将两个计时器事件触发到 模拟:results 端点:
from("quartz2://myGroup/myTimerName?trigger.repeatInterval=2&trigger.repeatCount=1").routeId("myRoute")
.to("mock:result");
from("quartz2://myGroup/myTimerName?trigger.repeatInterval=2&trigger.repeatCount=1").routeId("myRoute")
.to("mock:result");
使用 stateful=true 时,每次执行作业后,JobDataMap 都会重新有持久性,从而保留下一个执行的状态。
INFO: 在 OSGi 中运行并具有多个带有 quartz 路由 的捆绑包(如 Apache ServiceMix 或 Apache Karaf),并且具有从 Quartz2 端点开头的 Camel 路由的多个捆绑包,请确保将 id 分配给此 id 的唯一 <camelContext>,因为 QuartzScheduler 容器需要此 id。如果您没有在 <camelContext> 上设置任何 id,则唯一 id 会被自动分配,且没有问题。