第15章 Cron


コンシューマーのみがサポートされている

Cron コンポーネントは、Unix cron 構文を使用して指定された特定の時間間隔でイベントをトリガーできる汎用インターフェイスコンポーネントです (例: 0/2 * * * * ? は 2 秒ごとにイベントをトリガーします)。

インターフェイスコンポーネントであるため、Cron コンポーネントにはデフォルトの実装が含まれていません。代わりに、ユーザーが選択した実装をプラグインする必要があります。

次の標準 Camel コンポーネントは、Cron エンドポイントをサポートしています。

  • キャメルクォーツ
  • Camel-spring

Cron コンポーネントは Camel K でもサポートされており、cron 式で必要なときに Kubernetes スケジューラーを使用してルートをトリガーできます。Camel K では、Kubernetes cron 構文と互換性のある cron 式を使用する場合、追加のライブラリーをプラグインする必要はありません。

Maven ユーザーは、このコンポーネントの pom.xml に以下の依存関係を追加する必要があります。

<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-cron</artifactId>
    <version>{CamelSBVersion}</version>
    <!-- use the same version as your Camel core version -->
</dependency>

特定の実装をプラグインするには、追加のライブラリーが必要になる場合があります。

15.1. オプションの設定

Camel コンポーネントは、以下の 2 つのレベルで設定されます。

  • コンポーネントレベル
  • エンドポイントレベル

15.1.1. コンポーネントオプションの設定

コンポーネントレベルは、エンドポイントによって継承される一般的な設定を保持する最上位レベルです。たとえば、コンポーネントにはセキュリティー設定、認証用の認証情報、ネットワーク接続の URL などが含まれます。

コンポーネントによってはオプションが少ししかないものもあれば、多くのオプションを持つものもあります。コンポーネントには通常、一般的に使用されるデフォルトが事前設定されているため、コンポーネントにいくつかのオプションを設定するだけで済みます。あるいは、全く何も設定しない場合もあります。

コンポーネントの設定は、Component DSL、設定ファイル(application.properties|yaml)、または直接 Java コードで実行できます。

15.1.2. エンドポイントオプションの設定

多くの場合、エンドポイントには多数のオプションがあり、最も多くの設定を行うのがエンドポイントであるため、エンドポイントで行う必要があることを設定できます。オプションは、エンドポイントがコンシューマー (from) またはプロデューサー (to) として使用されるか、または両方に使用されるかにも分類されます。

エンドポイントの設定は、多くの場合パスおよびクエリーパラメーターとしてエンドポイント URI で直接行われます。エンドポイントを設定するタイプセーフ方法として Endpoint DSL を使用することもできます。

オプションを設定する際の良い方法は、URL、ポート番号、機密情報などの設定をハードコーディングしないようにする Property Placeholders を使用することです。つまり、プレースホルダーを使用すると、コードから設定を外部化でき、柔軟性および再利用性が向上します。

以下の 2 つのセクションでは、最初にコンポーネント、次にエンドポイントのすべてのオプションを一覧表示します。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.