256.2. オプション
Quartz2 コンポーネントは、以下にリストされている 11 個のオプションをサポートしています。
名前 | 説明 | デフォルト | タイプ |
---|---|---|---|
autoStartScheduler (スケジューラー) | スケジューラーを自動起動するかどうか。このオプションのデフォルトは true です | true | boolean |
startDelayedSeconds (スケジューラー) | Quartz スケジューラーを開始する前に待機する秒数。 | int | |
prefixJobNameWith EndpointId (consumer) | Quartz ジョブにエンドポイント ID の接頭辞を付けるかどうか。このオプションのデフォルトは false です。 | false | boolean |
enableJmx (consumer) | JMX から Quartz スケジューラーを管理できるようにする Quartz JMX を有効にするかどうか。このオプションのデフォルトは true です | true | boolean |
properties (consumer) | Quartz スケジューラーを設定するためのプロパティー。 | Properties | |
propertiesFile (consumer) | クラスパスからロードするプロパティーのファイル名。 | String | |
prefixInstanceName (consumer) | Quartz Scheduler インスタンス名の前に CamelContext 名を付けるかどうか。これはデフォルトで有効になっており、各 CamelContext がデフォルトで独自の Quartz スケジューラーインスタンスを使用できるようになっています。このオプションを false に設定すると、複数の CamelContext 間で Quartz スケジューラーインスタンスを再利用できます。 | true | boolean |
interruptJobsOn Shutdown (スケジューラー) | シャットダウン時にジョブを中断するかどうか。これにより、スケジューラーがより迅速にシャットダウンし、実行中のジョブを中断しようとします。これを有効にすると、実行中のジョブが中断されて失敗する可能性があります。 | false | boolean |
schedulerFactory (advanced) | スケジューラーの作成に使用されるカスタム SchedulerFactory を使用するには。 | SchedulerFactory | |
scheduler (advanced) | 新しいスケジューラーを作成する代わりに、カスタム設定された Quartz スケジューラーを使用するには。 | スケジューラー | |
resolveProperty Placeholders (advanced) | 起動時にコンポーネントがプロパティープレースホルダーを解決するかどうか。String タイプのプロパティーのみがプロパティープレースホルダーを使用できます。 | true | boolean |
Quartz2 エンドポイントは、URI 構文を使用して設定されます。
quartz2:groupName/triggerName
パスおよびクエリーパラメーターを使用します。
256.2.1. パスパラメーター (2 個のパラメーター):
名前 | 説明 | デフォルト | タイプ |
---|---|---|---|
groupName | 使用する Quartz グループ名。グループ名とタイマー名の組み合わせは一意である必要があります。 | Camel | String |
triggerName | 必須 使用する quartz タイマー名。グループ名とタイマー名の組み合わせは一意である必要があります。 | String |
256.2.2. クエリーパラメーター (19 パラメーター)
名前 | 説明 | デフォルト | タイプ |
---|---|---|---|
bridgeErrorHandler (consumer) | コンシューマーの Camel ルーティングエラーハンドラーへのブリッジを許可します。よって、コンシューマーが受信メッセージなどの取得を試行している間に発生した例外は、メッセージとして処理され、ルーティングエラーハンドラーによって処理されます。デフォルトでは、コンシューマーは org.apache.camel.spi.ExceptionHandler を使用して例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。 | false | boolean |
cron (consumer) | トリガーするタイミングを定義する cron 式を指定します。 | String | |
deleteJob (consumer) | true に設定すると、ルートが停止したときにトリガーが自動的に削除されます。それ以外の場合は、false に設定すると、スケジューラーに残ります。false に設定すると、ユーザーがキャメル Uri で事前設定されたトリガーを再利用できることも意味します。名前が一致していることを確認してください。deleteJob と pauseJob の両方を true に設定することはできないことに注意してください。 | true | boolean |
durableJob (consumer) | ジョブが孤立した後もジョブを保存したままにするかどうか (それを指すトリガーはありません)。 | false | boolean |
pauseJob (consumer) | true に設定すると、ルートが停止したときにトリガーが自動的に一時停止します。それ以外の場合は、false に設定すると、スケジューラーに残ります。false に設定すると、ユーザーがキャメル Uri で事前設定されたトリガーを再利用できることも意味します。名前が一致していることを確認してください。deleteJob と pauseJob の両方を true に設定することはできないことに注意してください。 | false | boolean |
recoverableJob (consumer) | リカバリーまたはフェイルオーバー状況が発生した場合に、ジョブを再実行するかどうかをスケジューラーに指示します。 | false | boolean |
stateful (consumer) | デフォルトのジョブの代わりに、Quartz PersistJobDataAfterExecution および DisallowConcurrentExecution を使用します。 | false | boolean |
exceptionHandler (consumer) | コンシューマーによるカスタム ExceptionHandler の使用を許可します。bridgeErrorHandler オプションが有効な場合は、このオプションは使用されないことに注意してください。デフォルトでは、コンシューマーは例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。 | ExceptionHandler | |
exchangePattern (consumer) | コンシューマーがエクスチェンジを作成する際に交換パターンを設定します。 | ExchangePattern | |
customCalendar (advanced) | 特定の日付範囲を避けるカスタムカレンダーを指定します | Calendar | |
jobParameters (advanced) | ジョブの追加オプションを設定するには。 | Map | |
prefixJobNameWithEndpoint Id (advanced) | ジョブ名の前にエンドポイント ID を付けるかどうか | false | boolean |
synchronous (advanced) | 同期処理を厳密に使用するか、Camel が非同期処理を使用できるかどうかを設定します (サポートされている場合)。 | false | boolean |
triggerParameters (advanced) | トリガーの追加オプションを設定します。 | Map | |
usingFixedCamelContextName (advanced) | true の場合、JobDataMap は CamelContext 名を直接使用して CamelContext を参照します。false の場合、JobDataMap はデプロイ時に変更される可能性のある CamelContext 管理名を使用します。 | false | boolean |
autoStartScheduler (スケジューラー) | スケジューラーを自動起動するかどうか。 | true | boolean |
fireNow (スケジューラー) | true の場合、SimpleTrigger の使用時にルートが開始されたときにトリガーが発生します。 | false | boolean |
startDelayedSeconds (スケジューラー) | Quartz スケジューラーを開始する前に待機する秒数。 | int | |
triggerStartDelay (スケジューラー) | スケジューラーがすでに開始されている場合は、現在の時間の少し後にトリガーを開始して、ジョブが開始される前にエンドポイントが完全に開始されるようにします。 | 500 | long |
たとえば、次のルーティングルールは、mock:results
エンドポイントに対して 2 つのタイマーイベントを発生させます。
from("quartz2://myGroup/myTimerName?trigger.repeatInterval=2&trigger.repeatCount=1").routeId("myRoute") .to("mock:result");
stateful=true
を使用すると、JobDataMap はジョブの実行ごとに再永続化されるため、次の実行のために状態が維持されます。
情報: OSGi で実行し、quartz ルートを持つ複数のバンドルを持つ。Apache ServiceMix や Apache Karaf などの OSGi で実行し、Quartz2エンドポイントから始まる Camel ルートを持つ複数のバンドルがある場合、<camelContext> に id
を割り当てると、OSGi コンテナの QuartzScheduler
でこの id が必要となるため一意でなければなりません。<camelContext> に id
を設定しない場合、一意の id が自動的に割り当てられ、問題はありません。