269.2. 选项
Quartz 组件支持 8 个选项,如下所列。
| 名称 | 描述 | 默认值 | 类型 |
|---|---|---|---|
| factory (advanced) | 使用自定义 SchedulerFactory,用于创建调度程序。 | SchedulerFactory | |
| scheduler (advanced) | 要使用配置的 Quartz 调度程序,而不是创建新的调度程序。 | scheduler | |
| properties (consumer) | 配置 Quartz 调度程序的属性。 | Properties | |
| propertiesFile (consumer) | 从 classpath 加载的属性的文件名 | 字符串 | |
| startDelayedSeconds (scheduler) | 启动 quartz 调度程序前等待的秒数。 | int | |
| autoStartScheduler (consumer) | 调度程序是否应自动启动。这个选项默认为 true | true | 布尔值 |
| enableJmx (consumer) | 是否启用 Quartz JMX,允许从 JMX 管理 Quartz 调度程序。这个选项默认为 true | true | 布尔值 |
| resolveProperty Placeholders (advanced) | 启动时组件是否应解析自身上的属性占位符。只有属于 String 类型的属性才能使用属性占位符。 | true | 布尔值 |
Quartz 端点使用 URI 语法进行配置:
quartz:groupName/timerName
quartz:groupName/timerName
使用以下路径和查询参数:
269.2.1. 路径参数(2 参数): 复制链接链接已复制到粘贴板!
| 名称 | 描述 | 默认值 | 类型 |
|---|---|---|---|
| groupName | 要使用的 quartz 组名称。组名称和计时器名称的组合应该是唯一的。 | Camel | 字符串 |
| timerName | 必需 要使用的 quartz 计时器名称。组名称和计时器名称的组合应该是唯一的。 | 字符串 |
269.2.2. 查询参数(13 参数): 复制链接链接已复制到粘贴板!
| 名称 | 描述 | 默认值 | 类型 |
|---|---|---|---|
| bridgeErrorHandler (consumer) | 允许将消费者桥接到 Camel 路由错误处理程序,这意味着当消费者试图选择传入消息或类似信息时发生异常,现在将作为消息处理并由路由 Error Handler 处理。默认情况下,使用者将使用 org.apache.camel.spi.ExceptionHandler 来处理例外情况,该处理程序将被记录在 WARN 或 ERROR 级别,并忽略。 | false | 布尔值 |
| cron (consumer) | 指定定义何时触发的 cron 表达式。 | 字符串 | |
| deleteJob (consumer) | 如果设置为 true,则触发器会在路由停止时自动删除。否则,如果设为 false,它将保留在调度程序中。当设置为 false 时,这也意味着用户也可以使用 camel Uri 重复使用预先配置的触发器。只需确保名称匹配。请注意,您无法同时将 deleteJob 和 pauseJob 设置为 true。 | true | 布尔值 |
| fireNow (consumer) | 是否在开始使用简单触发器时触发 SAP (此选项不支持 cron) | false | 布尔值 |
| pauseJob (consumer) | 如果设置为 true,则触发器会在路由停止时自动暂停。否则,如果设为 false,它将保留在调度程序中。当设置为 false 时,这也意味着用户也可以使用 camel Uri 重复使用预先配置的触发器。只需确保名称匹配。请注意,您无法同时将 deleteJob 和 pauseJob 设置为 true。 | false | 布尔值 |
| startDelayedSeconds (consumer) | 启动 quartz 调度程序前等待的秒数。 | int | |
| stateful (consumer) | 使用 Quartz StatefulJob 而不是默认作业。 | false | 布尔值 |
| usingFixedCamelContextName (consumer) | 如果为 true,JobDataMap 使用 CamelContext 名称直接引用 CamelContext,如果为 false,则 JobDataMap 使用 CamelContext 管理名称,该名称可以在部署时更改。 | false | 布尔值 |
| exceptionHandler (consumer) | 要让使用者使用自定义例外处理程序:请注意,如果启用了 bridgeErrorHandler 选项,则此选项不使用。默认情况下,消费者将处理异常,其记录在 WARN 或 ERROR 级别中,并忽略。 | ExceptionHandler | |
| exchangePattern (consumer) | 在消费者创建交换时设置交换模式。 | ExchangePattern | |
| jobParameters (advanced) | 要在作业上配置附加选项。 | Map | |
| 同步 (advanced) | 设置是否应严格使用同步处理,或者 Camel 允许使用异步处理(如果受支持)。 | false | 布尔值 |
| triggerParameters (advanced) | 要在触发器上配置附加选项。 | Map |
使用 StatefulJob 时,在每次执行作业后,JobDataMap 都会重新有持久性,从而保留下一个执行的状态。
INFO: 在 OSGi 中运行 quartz 并使用 quartz 路由的多个捆绑包 (如 Apache ServiceMix 或 Apache Karaf),并且有多个带有 Camel 路由的捆绑包,则请确保为从 Quartz 端点开始的 Camel 路由分配
的 id 到 <camelContext> 的 ID 是唯一的,因为 QuartzScheduler 容器需要它。如果您没有在 <camelContext> 中设置任何 id,则
一个唯一 id 被自动分配,且没有问题。