38.2. コンポーネントの実装方法


概要

このセクションでは、カスタム Apache Camel コンポーネントを実装するのに必要な手順の概要を説明します。

実装する必要のあるインターフェイス。

コンポーネントを実装する場合は通常、以下の Java インターフェイスを実装する必要があります。

  • org.apache.camel.Component
  • org.apache.camel.Endpoint
  • org.apache.camel.Consumer
  • org.apache.camel.Producer

さらに、以下の Java インターフェイスを実装する必要もあります。

  • org.apache.camel.Exchange
  • org.apache.camel.Message

実装手順

通常、以下のようにカスタムコンポーネントを実装します。

  1. Component インターフェイスを実装する: コンポーネントオブジェクトはエンドポイントファクトリーとして機能します。DefaultComponent クラスを拡張し、createEndpoint() メソッドを実装します。

    39章Component インターフェイス を参照してください。

  2. Endpoint インターフェイスを実装する: エンドポイントは、特定の URI で識別されるリソースを表します。エンドポイントを実装する際の方法は、コンシューマーが イベント駆動型 のパターン、スケジュールされたポーリング パターン、または ポーリング パターンに従うかによって異なります。 イベント駆動型のパターンでは、DefaultEndpoint クラスを拡張し、以下のメソッドを実装してエンドポイントを実装します。

    • createProducer()
    • createConsumer()

      スケジュールされたポーリングパターンの場合、ScheduledPollEndpoint クラスを拡張し、以下のメソッドを実装してエンドポイントを実装します。

    • createProducer()
    • createConsumer()

      ポーリングパターンの場合、DefaultPollingEndpoint クラスを拡張し、以下のメソッドを実装してエンドポイントを実装します。

    • createProducer()
    • createPollConsumer()

      40章Endpoint インターフェイス を参照してください。

  3. Consumer インターフェイスを実装する: 実装する必要があるパターン (イベント駆動、スケジュールされたポーリング、ポーリング) に応じて、コンシューマーを実装する方法が複数あります。また、メッセージ交換の処理に使用されるスレッドモデルを決定する際には、コンシューマーの実装も重要です。

    「Consumer インターフェイスの実装」 を参照してください。

  4. Producer インターフェイスを実装- Producer インターフェイス を実装するには、DefaultProducer クラスを拡張し、process() メソッドを実装します。

    42章Producer インターフェイス を参照してください。

  5. 任意で Exchange または Message インターフェイスを実装する: エクスチェンジとメッセージのデフォルト実装を直接使用できますが、場合によってはこれらのタイプをカスタマイズする必要がある場合があります。

    43章Exchange インターフェイス および 44章Message インターフェイス を参照してください。

コンポーネントのインストールおよび設定

カスタムコンポーネントは、以下のいずれかの方法でインストールできます。

  • コンポーネントを CamelContext に直接追加する: この CamelContext.addComponent() メソッドは、プログラム的にコンポーネントを追加します。
  • Spring 設定を使用してコンポーネントを追加する: 標準の Spring bean 要素はコンポーネントインスタンスを作成します。Bean の id 属性は、コンポーネント接頭辞を暗黙的に定義します。詳細は、「コンポーネントの設定」 を参照してください。
  • Apache Camel をコンポーネント自動検出するように設定する: Apache Camel が必要に応じてコンポーネントを自動的に読み込みます。詳細は、「自動検出の設定」 を参照してください。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.