1.4. コネクション内でのエラーの処理


イベントデータの送受信時に、稼働中のインテグレーションで障害が発生した場合に Camel K Operator が実行するアクションを指定するには、任意で以下のエラー処理ポリシーのいずれかを kamelet バインディングに追加できます。

  • 「エラーハンドラーなし」: インテグレーションで発生した障害を無視します。
  • 「ログエラーハンドラー」: ログメッセージを標準出力に送信します。
  • 「デッドレターチャネルエラーハンドラー」: 問題のあるイベントを、サードパーティーの URI、キュー、または別の kamelet などの失敗したイベントで特定のロジックを実行可能な別のコンポーネントにリダイレクトします。また、デッドレターエンドポイントに送信する前に、複数の回数メッセージエクスチェンジの再配信の試行にも対応しています。
  • 「Bean エラーハンドラー」: エラーを処理するのにカスタム Bean を使用することを指定します。
  • 「Ref エラーハンドラー」: エラーを処理するのに Bean を使用することを指定します。Bean は実行時に Camel レジストリーで利用可能である必要があります。

1.4.1. kamelet バインディングへのエラーハンドラーポリシーの追加

ソースとシンクコネクション間でイベントデータを送受信する際のエラーを処理するには、kamelet バインディングにエラーハンドラーポリシーを追加します。

前提条件

  • 使用するエラーハンドラーポリシーのタイプを知っている必要があります。
  • 既存の KameletBinding YAML ファイルがある。

手順

kamelet バインディングにエラー処理を実装するには、以下を実行します。

  1. エディターで KameletBinding YAML ファイルを開きます。
  2. sink 定義の後に、エラーハンドラーセクションを spec セクションに追加します。

    apiVersion: camel.apache.org/v1alpha1
    kind: KameletBinding
    metadata:
      name: example-kamelet-binding
    spec:
      source:
       ...
      sink:
       ...
      errorHandler: ...

    たとえば、coffee-to-log kamelet バインディングでは、ログエラーハンドラーを追加してエラーがログファイルに送信される最大回数を指定します。

    apiVersion: camel.apache.org/v1alpha1
    kind: KameletBinding
    metadata:
      name: coffee-to-log
    spec:
      source:
        ref:
          kind: Kamelet
          apiVersion: camel.apache.org/v1alpha1
          name: coffee-source
        properties:
          period: 5000
      sink:
        ref:
          kind: Kamelet
          apiVersion: camel.apache.org/v1alpha1
          name: log-sink
      errorHandler: log: parameters: maximumRedeliveries: 3
  3. ファイルを保存します。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.