Camel Kafka Connector のスタートガイド


Red Hat Integration 2020-Q4

テクノロジープレビュー - Camel コンポーネントを Kafka コネクターとして使用

概要

本ガイドでは、Camel Kafka Connector を紹介し、OpenShift で AMQ Streams および Kafka Connect をインストールする方法と、Camel Kafka コネクターの例を使用する方法を説明します。本ガイドでは、本リリースで設定可能な Camel Kafka コネクターについても説明します。

第1章 Camel Kafka コネクターの概要

本章では、Camel Kafka Connector によって提供される機能、概念、およびディストリビューションを紹介します。

重要

Camel Kafka Connecor はテクノロジープレビューの機能です。テクノロジープレビュー機能は、Red Hat の本番環境のサービスレベルアグリーメント (SLA) ではサポートされず、機能的に完全ではないことがあるため、Red Hat は本番環境での使用は推奨しません。Red Hat は実稼働環境でこれらを使用することを推奨していません。

これらの機能は、近々発表予定の製品機能をリリースに先駆けてご提供することにより、お客様は機能性をテストし、開発プロセス中にフィードバックをお寄せいただくことができます。Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、https://access.redhat.com/ja/support/offerings/techpreview を参照してください。

1.1. Camel Kafka Connector の概要

Apache Camel は、標準のエンタープライズ統合パターン (EIP) をベースとした、さまざまなシステムを接続するための非常に柔軟なオープンソースの統合フレームワークです。Apache Kafka Connect は、イベント駆動型アーキテクチャー向けに特別に設計された、外部システムに接続するための Kafka ネイティブなアプローチです。

Camel Kafka Connector を使用すると、標準の Camel コンポーネントを Kafka Connect コネクターとして使用できます。これにより、可能なインテグレーションの範囲が、Kafka Connect コネクターのみによってサポートされる外部システム以外にも拡大されます。Camel Kafka Connector は、Kafka ベースの AMQ Streams on OpenShift で一般的な Camel コンポーネントのエコシステムを利用できるようにするアダプターとして機能します。

Camel Kafka Connector を使用すると、Kafka Connect フレームワークで Camel コンポーネントを直接設定するのがより簡単になります。Camel Kafka Connector を使用すると、Camel Kafka シンクまたはソースコネクターを接続元または接続先とすることで、Camel コンポーネントを利用して異なるシステムとの統合を行うことができます。コードを作成する必要はありません。また、適切なコネクター JAR を Kafka Connect イメージに含めることができ、カスタムリソースを使用してコネクターオプションを設定できます。

Camel Kafka Connector は、Apache Camel オープンソースコミュニティーのサブプロジェクトである Apache Camel Kafka Connector 上に構築されます。Camel Kafka Connector は AMQ Streams および Kafka Connect に完全に統合され、OpenShift Container Platform と Red Hat Enterprise Linux の両方で利用できます。

OpenShift 上のクラウドネイティブインテグレーションでは、Red Hat Integration - Camel K ディストリビューションにて Camel Kafka Connector を利用できます。Camel K は、OpenShift のクラウドでネイティブで実行される Apache Camel K からビルドされる軽量のインテグレーションフレームワークです。Camel K は、サーバーレスおよびマイクロサービスアーキテクチャー向けに特別に設計されています。

1.2. Camel Kafka Connector の機能

テクノロジーリビューの Camel Kafka Connector には、以下の主要機能が含まれています。

1.2.1. プラットフォームおよびコンポーネント

  • OpenShift Container Platform 4.5 または 4.6
  • Red Hat Enterprise Linux 7.x または 8.x
  • AMQ Streams 1.5
  • Kafka Connect 2.5
  • Camel 3.5
  • OpenJDK 8 または 11

1.2.2. テクノロジープレビューの機能

  • 一部の Camel Kafka コネクター
  • シンクおよびソースコネクターの Camel データフォーマットのマーシャリング/アンマーシャリング
  • シンクコネクターの集約
  • コネクターを拡張するための Maven archetype

1.2.3. Camel Kafka コネクター

表1.1 テクノロジープレビューの Camel Kafka コネクター
コネクターシンク/ソース

Amazon Web Services (AWS2) Kinesis

シンクおよびソース

Amazon Web Services (AWS2) S3

シンクおよびソース

Amazon Web Services (AWS2) SNS

シンクのみ

Amazon Web Services (AWS2) SQS

シンクおよびソース

Cassandra Query Language (CQL)

シンクおよびソース

Elasticsearch

シンクのみ

File

シンクのみ

Hadoop Distributed File System (HDFS)

シンクのみ

Hypertext Transfer Protocol (HTTP)

シンクのみ

Java Database Connectivity (JDBC)

シンクのみ

Java Message Service (JMS)

シンクおよびソース

MongoDB

シンクおよびソース

Salesforce

ソースのみ

Slack

ソースのみ

Syslog

ソースのみ

Timer

ソースのみ

1.2.4. Camel データフォーマット

テクノロジープレビューの Camel Kafka Connector には、Camel データフォーマットのマーシャリングおよびアンマーシャリングが含まれています。たとえば、これらのフォーマットには Apache Avro、Base64、Google Protobuf、JSON、SOAP、Zip ファイルなどが含まれます。Camel Kafka Connector の設定でプロパティーを使用すると、Camel データフォーマットのマーシャリングおよびアンマーシャリングを設定できます。

1.3. Camel Kafka Connector アーキテクチャー

AMQ Streams は、パブリッシュ/サブスクライブメッセージングブローカーが含まれる Apache Kafka をベースとした分散型でスケーラブルなストリーミングプラットフォームです。Kafka Connect は、Kafka ベースのシステムを外部システムと統合するフレームワークを提供します。Kafka Connect を使用すると、外部システムと Kafka ブローカーとの間で双方向にデータをストリーミングするように ソース および シンク コネクターを設定できます。

Camel Kafka Connector は Camel コンポーネントの柔軟性を再利用し、AMQ Streams をデータのストリーミング元またはストリーミング先とするために使用できるソースおよびシンクコネクターとして Kafka Connect で利用できるようにします。たとえば、AWS S3 ソースコネクターを使用して、処理のために Amazon Web Services からデータを取得したり、Elasticsearch シンクコネクターを使用して、分析のために Kafka に保存されたイベントを Elasticsearch インスタンスに集約したりできます。

以下の図は、AMQ Streams をベースとした Camel Kafka Connector のクラウドネイティブインテグレーションアーキテクチャーの簡単なビューを示しています。

図1.1 Camel Kafka Connector アーキテクチャー

Kafka Connect の概念
ソースコネクター
ソースコネクターはコンシューマーのように動作し、外部システムから Kafka トピックにデータをプルして、ストリーム処理にデータを利用できるようにします。たとえば、これらの外部ソースシステムには Amazon Web Services または Java Message Service が含まれます。
シンクコネクター
シンクコネクターはプロデューサーと同様に動作し、オフライン分析のために Kafka トピックから外部システムにデータをプッシュします。たとえば、これらの外部シンクシステムには Cassandra、Syslog、または Elasticsearch が含まれます。
シンク/ソースタスク
タスクは通常、シンクまたはソースコネクターによって作成され、データの処理を担当します。
キー/値コンバーター
キー/値コンバーターは、Kafka メッセージのキーまたは値をさまざまな形式でシリアライズ/デシリアライズできます。
トランスフォーマー
トランスフォーマーは、フィールドの名前変更や値を基にしたトピックへのルーティングなど、Kafka メッセージの内容を操作できます。
アグリゲーター
シンクコネクターはアグリゲーターを使用して、レコードを外部システムに送信する前にバッチ処理を行うことができます。
Camel Kafka Connector の設定

Camel Kafka Connector 設定を使用して以下を指定できます。

  • Kafka Connect 設定オプション
  • Camel ルート定義
  • Camel 設定オプション

1.4. Camel Kafka Connector ディストリビューション

Camel Kafka Connector ディストリビューションは、Red Hat Integration - Camel K とバンドルされています。

表1.2 Camel Kafka Connector の利用可能なディストリビューション
ディストリビューション説明場所

Maven リポジトリー

Camel Kafka Connector の Maven アーティファクト

Software Downloads > Red Hat Integration

ソースコード

Camel Kafka Connector のソースコード

Software Downloads > Red Hat Integration

デモンストレーションサンプル

Camel Kafka Connector サンプルおよび Debezium コミュニティーサンプル

注記

Red Hat Integration - Camel K で利用可能な Camel Kafka Connector ディストリビューションにアクセスするには、Red Hat Integration のサブスクリプションが必要で、Red Hat カスタマーポータルにログインする必要があります。

第2章 AMQ Streams on OpenShift での Camel Kafka Connector のデプロイ

本章では、Camel Kafka Connector を AMQ Streams on OpenShift にインストールする方法と、サンプルコネクターを使用する方法について説明します。

2.1. registry.redhat.io での認証設定

AMQ Streams および Kafka Connect Source-2-Image(S2I)を使用して OpenShift に Camel Kafka Connector をデプロイする前に、registry.redhat.io コンテナーレジストリーで認証を設定する必要があります。

前提条件

  • クラスター管理者として OpenShift Container Platform クラスターにアクセスできる必要があります。
  • OpenShift oc クライアントツールがインストールされている必要があります。詳細は、OpenShift CLI のドキュメント を参照してください。

手順

  1. 以下の例のように、管理者で OpenShift クラスターにログインします。

    $ oc login --user system:admin --token=my-token --server=https://my-cluster.example.com:6443
  2. Camel Kafka Connector をデプロイするプロジェクトを開きます。以下に例を示します。

    $ oc project myproject
  3. Red Hat カスタマーポータルアカウントを使用して docker-registry シークレットを作成します。PULL_SECRET_NAME は作成するシークレットの名前に置き換えてください。

    $ oc create secret docker-registry PULL_SECRET_NAME \
      --docker-server=registry.redhat.io \
      --docker-username=CUSTOMER_PORTAL_USERNAME \
      --docker-password=CUSTOMER_PORTAL_PASSWORD \
      --docker-email=EMAIL_ADDRESS

    以下の出力が表示されるはずです。

    secret/PULL_SECRET_NAME created
    重要

    このプルシークレットは、イメージストリームが含まれ、registry.redhat.io を使用するすべての OpenShift プロジェクト namespace に作成する必要があります。

  4. シークレットをサービスアカウントにリンクして、シークレットをイメージをプルするために使用します。以下は、default サービスアカウントを使用する例になります。

    $ oc secrets link default PULL_SECRET_NAME --for=pull

    サービスアカウント名は、サービスアカウント Pod が使用する名前と一致する必要があります。

  5. シークレットを、Kafka Connect S2I を使用する予定の namespace の builder サービスアカウントにリンクします。

    $ oc secrets link builder PULL_SECRET_NAME
    注記

    Red Hat アカウントのユーザー名とパスワードを使用してプルシークレットを作成したくない場合は、レジストリーサービスアカウントを使用して認証トークンを作成する必要があります。

2.2. OpenShift での AMQ Streams および Kafka Connect S2I のインストール

Camel Kafka Connector をインストールするには、AMQ Streams および S2I (Source-2-Image) のある Kafka Connect が必要です。AMQ Streams がインストールされていない場合は、OperatorHub から OpenShift クラスターに AMQ Streams Operator をインストールできます。OperatorHub は OpenShift Container Platform Web コンソールから使用でき、クラスター管理者が Operator を検出およびインストールするためのインターフェースを提供します。詳細は、OpenShift のドキュメント を参照してください。

前提条件

手順

  1. OpenShift Container Platform Web コンソールで、クラスター管理者権限を持つアカウントを使用してログインします。
  2. ツールバーの Project ドロップダウンメニューからプロジェクトを選択します(例: myproject )。これは、registry.redhat.io で認証されたプロジェクトである必要があります。
  3. 左側のナビゲーションメニューで、Operators > OperatorHub とクリックします。
  4. Filter by keyword テキストボックスに AMQ を入力し、Red Hat Integration - AMQ Streams Operator を見つけます。
  5. Operator に関する情報を読み、Install をクリックして Operator サブスクリプションページを表示します。
  6. サブスクリプション設定を選択します。以下に例を示します。

    • Update Channel > stable
    • Installation Mode > A specific namespace on the cluster > myproject
    • Approval Strategy > Automatic

      注記

      これら設定は、環境の特定の要件によって異なります。詳細は、OpenShift ドキュメントの「Operator のクラスターへの追加」を参照してください。

  7. Install をクリックし、Operator が使用できるようになるまでしばらく待ちます。
  8. 新しい Kafka ブローカークラスターを作成します。

    1. Red Hat Integration - AMQ Streams > Provided APIs > KafkaCreate Instance をクリックし、新しい Kafka ブローカークラスターを作成します。
    2. 適切にカスタムリソース定義を編集し、Create をクリックします。

      重要

      デフォルトの例では、3 つの Zookeeper ノード、3 つの Kafka ノード、一時 ストレージを持つ 3 つの Kafka クラスターが作成されます。この一時ストレージは開発およびテストにのみ適しており、実稼働環境には適していません。詳細は、『 Using AMQ Streams on OpenShift 』を参照してください。

  9. 新しい Kafka Connect S2I クラスターを作成します。

    1. Red Hat Integration - AMQ Streams > Provided APIs > Kafka Connect S2ICreate Instance をクリックし、OpenShift S2I サポートのある新しい Kafka Connect クラスターを作成します。
    2. 適切にカスタムリソース定義を編集し、Create をクリックします。S2I で Kafka Connect を使用する方法の詳細は、『 Using AMQ Streams on OpenShift 』を参照してください。
  10. Workloads > Pods と選択し、デプロイされたリソースが OpenShift 上で実行されていることを確認します。

その他のリソース

2.3. OpenShift での Kafka Connect S2I を使用した Camel Kafka コネクターのデプロイ

ここでは、AMQ Streams で Kafka Connect S2I (Source-2-Image) を使用して、Camel Kafka コネクターを既存の Docker ベースの Kafka Connect イメージに追加し、新しいイメージをビルドする方法を説明します。AWS2 S3 Camel Kafka コネクターのサンプルを使用して Camel Kafka コネクタープラグインのインスタンスを作成する方法も紹介します。

前提条件

手順

  1. 以下の例のように、管理者で OpenShift クラスターにログインします。

    $ oc login --user system:admin --token=my-token --server=https://my-cluster.example.com:6443
  2. Kafka Connect S2I がインストールされているプロジェクトに切り替えます。

    $ oc project myproject
  3. ダウンロードした Camel Kafka コネクターを既存の Kafka Connect Docker イメージビルドに追加し、新しいイメージビルドが新しいコネクターで設定するのを待ちます。以下に例を示します。

    $ oc start-build my-connect-cluster-connect --from-dir=./camel-kafka-connector/connectors/ --follow
    Uploading directory "camel-kafka-connector/connectors" as binary input for the build ...
    ...
    Uploading finished
    build.build.openshift.io/my-connect-cluster-connect-2 started
    Receiving source from STDIN as archive ...
    Caching blobs under "/var/cache/blobs".
    Getting image source signatures
    ...
    Writing manifest to image destination
    Storing signatures
    Generating dockerfile with builder image image-registry.openshift-image-registry.svc:5000/myproject/my-connect-cluster-connect-source@sha256:12d5ed92510941f1569faa449665e9fc6ea544e67b7ae189ec6b8df434e121f4
    STEP 1: FROM image-registry.openshift-image-registry.svc:5000/myproject/my-connect-cluster-connect-source@sha256:12d5ed92510941f1569faa449665e9fc6ea544e67b7ae189ec6b8df434e121f4
    STEP 2: LABEL "io.openshift.build.image"="image-registry.openshift-image-registry.svc:5000/myproject/my-connect-cluster-connect-source@sha256:12d5ed92510941f1569faa449665e9fc6ea544e67b7ae189ec6b8df434e121f4"       "io.openshift.build.source-location"="/tmp/build/inputs"
    STEP 3: ENV OPENSHIFT_BUILD_NAME="my-connect-cluster-connect-2"     OPENSHIFT_BUILD_NAMESPACE="myproject"
    STEP 4: USER root
    STEP 5: COPY upload/src /tmp/src
    STEP 6: RUN chown -R 1001:0 /tmp/src
    STEP 7: USER 1001
    STEP 8: RUN /opt/kafka/s2i/assemble
    Assembling plugins into custom plugin directory /tmp/kafka-plugins
    Moving plugins to /tmp/kafka-plugins
    STEP 9: CMD /opt/kafka/s2i/run
    STEP 10: COMMIT temp.builder.openshift.io/myproject/my-connect-cluster-connect-2:d0873588
    Getting image source signatures
    ...
    Writing manifest to image destination
    Storing signatures
    ...
    Pushing image image-registry.openshift-image-registry.svc:5000/myproject/my-connect-cluster-connect:latest ...
    Getting image source signatures
    ...
    Writing manifest to image destination
    Storing signatures
    Successfully pushed image-registry.openshift-image-registry.svc:5000/myproject/my-connect-cluster-connect@sha256:9db57d33df6d0494ea6ee6e4696fcaf79eb81aabeb0bbc180dec5324d33e7eda
    Push successful
  4. 以下のように、Camel Kafka Connector が Kafka Connect クラスターで利用できることを確認します。

    $ oc exec -i `oc get pods --field-selector status.phase=Running -l strimzi.io/name=my-connect-cluster-connect -o=jsonpath='{.items[0].metadata.name}'` -- curl -s http://my-connect-cluster-connect-api:8083/connector-plugins

    以下のような出力が表示されます。

    [{"class":"org.apache.kafka.connect.file.FileStreamSinkConnector","type":"sink","version":"2.5.0.redhat-00003"},{"class":"org.apache.kafka.connect.file.FileStreamSourceConnector","type":"source","version":"2.5.0.redhat-00003"},{"class":"org.apache.kafka.connect.mirror.MirrorCheckpointConnector","type":"source","version":"1"},{"class":"org.apache.kafka.connect.mirror.MirrorHeartbeatConnector","type":"source","version":"1"},{"class":"org.apache.kafka.connect.mirror.MirrorSourceConnector","type":"source","version":"1"}]
  5. 以下のアノテーションを使用して、特定のカスタムリソースを使用した Camel Kafka コネクターをインスタンス化を有効にします。

    $ oc annotate kafkaconnects2is my-connect-cluster strimzi.io/use-connector-resources=true
    kafkaconnects2i.kafka.strimzi.io/my-connect-cluster annotated
    重要

    use-connector-resources オプションが有効になっている場合は、Kafka Connect API サーバーを使用しないでください。Kafka Connect Operator は変更をすべて元に戻します。

  6. コネクター設定が含まれる特定のカスタムリソースを作成して、コネクターインスタンスを作成します。以下の例は、AWS2 S3 コネクタープラグインの設定を示しています。

    $ oc apply -f - << EOF
    apiVersion: kafka.strimzi.io/v1alpha1
    kind: KafkaConnector
    metadata:
      name: s3-source-connector
      namespace: myproject
      labels:
        strimzi.io/cluster: my-connect-cluster
    spec:
      class: org.apache.camel.kafkaconnector.aws2s3.CamelAws2s3SourceConnector
      tasksMax: 1
      config:
        key.converter: org.apache.kafka.connect.storage.StringConverter
        value.converter: org.apache.kafka.connect.storage.StringConverter
        topics: s3-topic
        camel.source.path.bucketNameOrArn: camel-kafka-connector
        camel.source.maxPollDuration: 10000
        camel.component.aws2-s3.accessKey: xxxx
        camel.component.aws2-s3.secretKey: yyyy
        camel.component.aws2-s3.region: region
    EOF
    kafkaconnector.kafka.strimzi.io/s3-source-connector created
  7. 以下のコマンド例を使用して、コネクターの状態を確認します。

    $ oc exec -i `oc get pods --field-selector status.phase=Running -l strimzi.io/name=my-connect-cluster-connect -o=jsonpath='{.items[0].metadata.name}'` -- curl -s http://my-connect-cluster-connect-api:8083/connectors/s3-source-connector/status
  8. AWS コンソールに接続し、ファイルを camel-kafka-connector AWS S3 バケットにアップロードし、Camel Kafka ルートをアクティベートします。
  9. 以下のように、Kafka コンソールコンシューマーを実行し、トピックから受信したメッセージを確認できます。

    oc exec -i -c kafka my-cluster-kafka-0 -- bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic s3-topic --from-beginning
    CONTENTS_OF_FILE
    CONTENTS_OF_FILE
    ...

第3章 Camel Kafka Connector 開発者サンプルのデプロイ

Camel Kafka Connector は、https://github.com/jboss-fuse/camel-kafka-connector-examples から利用できる選択したコネクターのデモサンプルを提供します。本章では、Camel Kafka Connector インストールプラットフォームを基にして、これらのサンプルをデプロイする方法を説明します。

3.1. OpenShift での Camel Kafka Connector サンプルのデプロイ

ここでは、選択したコネクターの Camel Kafka Connector デモンストレーションサンプルを OpenShift にデプロイする方法を説明します。

前提条件

  • 従う Procedure (手順) の各 readme を下方向にスクロールして、OpenShift - What is needed セクションを確認します。

手順

  1. 以下のいずれかのサンプルの GitHub readme に移動します。

  2. 選択したサンプルの readme の OpenShift セクションまで下方向にスクロールします。
  3. readme に記載されている手順に従い、サンプルを実行します。

その他のリソース

3.2. RHEL での Camel Kafka Connector サンプルのデプロイ

ここでは、選択したコネクターの Camel Kafka Connector デモンストレーションサンプルを Red Hat Enterprise Linux にデプロイする方法を説明します。

前提条件

  • 従う Procedure (手順) の各 readme にある What is needed セクションを確認します。

手順

  1. 以下のいずれかのサンプルの GitHub readme に移動します。

  2. readme に記載されている手順に従い、サンプルを実行します。

第4章 Camel Kafka コネクターの拡張

本章では、Camel Kafka コネクターおよびコンポーネントを拡張し、カスタマイズする方法を説明します。Camel Kafka Connector は、コードを作成せずに Kafka Connect フレームワークで Camel コンポーネントを直接設定する簡単な方法を提供します。しかし、状況によっては、特定のユースケースに対して Camel Kafka Connector を拡張およびカスタマイズする場合があります。

4.1. Camel Kafka コネクターアグリゲーターの設定

Camel Kafka シンクコネクターを使用する一部のシナリオでは、Kafka レコードを外部シンクシステムに送信する前に、アグリゲーターを追加して Kafka レコードをバッチ処理することがあります。通常、このような場合、レコードの集約のために特定のバッチサイズとタイムアウトを定義します。完了したら、集約レコードが外部システムに送信されます。

Apache Camel によって提供されるアグリゲーターの 1 つを使用して、Camel Kafka Connector プロパティーで集約の設定を指定できます。または、Java でカスタムアグリゲーターを実装することもできます。ここでは、Camel Kafka Connector プロパティーで Camel アグリゲーターを設定する方法を説明します。

前提条件

手順

  • インストールプラットフォームに応じて、シンクコネクターおよびアグリゲーターを Camel Kafka Connector プロパティーで設定します。

    OpenShift

    以下の例は、カスタムリソースの AWS S3 シンクコネクターおよびアグリゲーター設定を示しています。

    oc apply -f - << EOF
    apiVersion: kafka.strimzi.io/v1alpha1
    kind: KafkaConnector
    metadata:
      name: s3-sink-connector
      namespace: myproject
      labels:
        strimzi.io/cluster: my-connect-cluster
    spec:
      class: org.apache.camel.kafkaconnector.aws2s3.CamelAws2s3SinkConnector
      tasksMax: 1
      config:
        key.converter: org.apache.kafka.connect.storage.StringConverter
        value.converter: org.apache.kafka.connect.storage.StringConverter
        topics: s3-topic
        camel.sink.path.bucketNameOrArn: camel-kafka-connector
        camel.sink.endpoint.keyName: ${date:now:yyyyMMdd-HHmmssSSS}-${exchangeId}
        # Camel aggregator settings
        camel.beans.aggregate: class:org.apache.camel.kafkaconnector.aggregator.StringAggregator
        camel.beans.aggregation.size: 10
        camel.beans.aggregation.timeout: 5000
        camel.component.aws2-s3.accessKey: xxxx
        camel.component.aws2-s3.secretKey: yyyy
        camel.component.aws2-s3.region: region
    EOF
    Red Hat Enterprise Linux

    以下の例は、CamelAwss3SinkConnector.properties ファイルの AWS S3 シンクコネクターおよびアグリゲーター設定を示しています。

    name=CamelAWS2S3SinkConnector
    connector.class=org.apache.camel.kafkaconnector.aws2s3.CamelAws2s3SinkConnector
    key.converter=org.apache.kafka.connect.storage.StringConverter
    value.converter=org.apache.kafka.connect.storage.StringConverter
    
    topics=mytopic
    
    camel.sink.path.bucketNameOrArn=camel-kafka-connector
    
    camel.component.aws2-s3.access-key=xxxx
    camel.component.aws2-s3.secret-key=yyyy
    camel.component.aws2-s3.region=eu-west-1
    
    camel.sink.endpoint.keyName=${date:now:yyyyMMdd-HHmmssSSS}-${exchangeId}
    
    # Camel aggregator settings
    camel.beans.aggregate=class:org.apache.camel.kafkaconnector.aggregator.StringAggregator
    camel.beans.aggregation.size=10
    camel.beans.aggregation.timeout=5000

4.2. カスタム Camel Kafka コネクターアグリゲーターの作成

Camel Kafka シンクコネクターを使用する一部のシナリオでは、Kafka レコードを外部シンクシステムに送信する前に、アグリゲーターを追加して Kafka レコードをバッチ処理することがあります。通常、このような場合、レコードの集約のために特定のバッチサイズとタイムアウトを定義します。完了したら、集約レコードが外部システムに送信されます。

独自のアグリゲーターを実装するか、Apache Camel が提供するアグリゲーターの 1 つを設定できます。ここでは、Camel AggregationStrategy クラスを使用して Java にカスタムアグリゲーターを実装する方法を説明します。

前提条件

  • Red Hat Fuse がインストール済みである必要があります。

手順

  1. Camel AggregationStrategy クラスを実装して、独自のカスタムアグリゲーターを作成します。以下に例を示します。

    package org.apache.camel.kafkaconnector.aggregator;
    
    import org.apache.camel.AggregationStrategy;
    import org.apache.camel.Exchange;
    import org.apache.camel.Message;
    
    public class StringAggregator implements AggregationStrategy {
    
        @Override
        public Exchange aggregate(Exchange oldExchange, Exchange newExchange) { 1
            // lets append the old body to the new body
            if (oldExchange == null) {
                return newExchange;
            }
    
            String body = oldExchange.getIn().getBody(String.class); 2
            if (body != null) {
                Message newIn = newExchange.getIn();
                String newBody = newIn.getBody(String.class);
                if (newBody != null) {
                    body += System.lineSeparator() + newBody;
                }
    
                newIn.setBody(body);
            }
            return newExchange; 3
        }
    }
    1
    oldExchange および newExchange オブジェクトは、Aggregator に到達する Kafka レコードに対応します。
    2
    この場合、各 newExchange ボディーは oldExchange ボディーと連結され、System 行セパレーターを使用して分離されます。
    3
    このプロセスは、バッチサイズが完了するか、タイムアウトに達するまで継続されます。
  2. カスタムアグリゲーターコードを既存の Camel Kafka コネクターに追加します。「Maven archetype を使用した Camel Kafka コネクターの拡張」 を参照してください。

4.3. Camel Kafka Connector での Camel データフォーマットの設定

Camel Kafka Connector は、シンクおよびソースコネクターの Camel データフォーマットのマーシャリング/アンマーシャリングを提供します。たとえば、これらのフォーマットには Apache Avro、Base64、Google Protobuf、JSON、SOAP、Zip ファイルなどが含まれます。

通常、Camel DSL の Camel DataFormat を使用して、異なる Camel データフォーマットとの間でメッセージをマーシャリングおよびアンマーシャリングします。たとえば、Camel File または JMS コンポーネントからメッセージを受信し、さらに処理するためにペイロードをアンマーシャリングする場合は、DataFormat を使用して Camel DSL に実装できます。

Camel Kafka Connector を使用すると、コネクター設定でプロパティーを使用して、Camel データフォーマットのマーシャリングおよびアンマーシャリングを設定できます。ここでは、camel.sink.marshal: zipfile プロパティーを使用して Camel Zip ファイルデータフォーマットのマーシャリングを設定する方法を説明します。

前提条件

  • OpenShift または Red Hat Enterprise Linux に Camel Kafka Connector がインストール済みである必要があります。
  • アーキタイプから開始したコネクターがすでにビルドされ、pom.xml を編集して必要な依存関係を追加する必要があります。「Maven archetype を使用した Camel Kafka コネクターの拡張」を参照してください。

手順

  • インストールプラットフォームに応じて、Camel Kafka Connector 設定でデータフォーマットをマーシャリング/アンマーシャリングするためのコネクター設定を行います。

    OpenShift

    以下の例は、カスタムリソースの AWS S3 シンクコネクターおよび Camel Zip データフォーマットの設定を示しています。

    oc apply -f - << EOF
    apiVersion: kafka.strimzi.io/v1alpha1
    kind: KafkaConnector
    metadata:
      name: s3-sink-connector
      namespace: myproject
      labels:
        strimzi.io/cluster: my-connect-cluster
    spec:
      class: org.apache.camel.kafkaconnector.aws2s3.CamelAws2s3SinkConnector
      tasksMax: 1
      config:
        key.converter: org.apache.kafka.connect.storage.StringConverter
        value.converter: org.apache.kafka.connect.storage.StringConverter
        topics: s3-topic
        camel.sink.path.bucketNameOrArn: camel-kafka-connector
        camel.sink.endpoint.keyName: ${date:now:yyyyMMdd-HHmmssSSS}-${exchangeId}.zip
        # Camel data format setting
        camel.sink.marshal: zipfile
        camel.component.aws2-s3.accessKey: xxxx
        camel.component.aws2-s3.secretKey: yyyy
        camel.component.aws2-s3.region: region
    EOF
    Red Hat Enterprise Linux

    以下の例は、CamelAwss3SinkConnector.properties ファイルの AWS S3 シンクコネクターおよび Camel Zip データ設定を示しています。

    name=CamelAWS2S3SinkConnector
    connector.class=org.apache.camel.kafkaconnector.aws2s3.CamelAws2s3SinkConnector
    key.converter=org.apache.kafka.connect.storage.StringConverter
    value.converter=org.apache.kafka.connect.storage.StringConverter
    
    topics=mytopic
    
    # Camel data format setting
    camel.sink.marshal=zipfile
    
    camel.sink.path.bucketNameOrArn=camel-kafka-connector
    
    camel.component.aws2-s3.access-key=xxxx
    camel.component.aws2-s3.secret-key=yyyy
    camel.component.aws2-s3.region=eu-west-1
    
    camel.sink.endpoint.keyName=${date:now:yyyyMMdd-HHmmssSSS}-${exchangeId}.zip

4.4. Maven archetype を使用した Camel Kafka コネクターの拡張

状況によっては、Camel Kafka Connector システムを拡張する必要がある場合があります。たとえば、シンクコネクターを使用する場合は、Kafka レコードを外部シンクシステムに送信する前に、カスタムアグリゲーターを追加して Kafka レコードをバッチ処理することがあります。または、Apache Avro、Google Protobuf、JSON、Zip ファイルなどの Camel データフォーマットをマーシャリングまたはアンマーシャリングするためのコネクターを設定することがあります。

Maven camel-kafka-connector-extensible-archetype を使用して既存の Camel Kafka コネクターを拡張できます。archetype は、プロジェクト生成の一貫した方法を提供する Maven プロジェクトテンプレートです。ここでは、archetype を使用して拡張する Maven プロジェクトを作成する方法と、プロジェクトの依存関係を追加する方法を説明します。

注記

Maven archetype を使用した追加の Kafka Connect コンバーターまたはトランスフォーマーの作成は、テクノロジープレビューには含まれず、コミュニティーサポートのみが対象となります。

前提条件

  • Apache Maven がインストール済みである必要があります。

手順

  1. mvn archetype:generate コマンドを入力して Maven プロジェクトを作成し、Camel Kafka Connector を拡張します。以下に例を示します。

    $ mvn archetype:generate  -DarchetypeGroupId=org.apache.camel.kafkaconnector.archetypes  -DarchetypeArtifactId=camel-kafka-connector-extensible-archetype  -DarchetypeVersion=CONNECTOR_VERSION
    [INFO] Scanning for projects...
    [INFO]
    [INFO] ------------------< org.apache.maven:standalone-pom >-------------------
    [INFO] Building Maven Stub Project (No POM) 1
    [INFO] --------------------------------[ pom ]---------------------------------
    [INFO]
    [INFO] >>> maven-archetype-plugin:3.1.2:generate (default-cli) > generate-sources @ standalone-pom >>>
    [INFO]
    [INFO] <<< maven-archetype-plugin:3.1.2:generate (default-cli) < generate-sources @ standalone-pom <<<
    [INFO]
    [INFO]
    [INFO] --- maven-archetype-plugin:3.1.2:generate (default-cli) @ standalone-pom ---
    [INFO] Generating project in Interactive mode
    [INFO] Archetype repository not defined. Using the one from [org.apache.camel.kafkaconnector.archetypes:camel-kafka-connector-extensible-archetype:0.4.0] found in catalog remote
  2. プロンプトが表示されたら、各プロパティーの値を入力します。以下の例では、camel-aws2-s3-kafka-connector を拡張します。

    Define value for property 'groupId': org.apache.camel.kafkaconnector.extended
    Define value for property 'artifactId': myconnector-extended
    Define value for property 'version' 1.0-SNAPSHOT: :
    Define value for property 'package' org.apache.camel.kafkaconnector.extended: :
    Define value for property 'camel-kafka-connector-name': camel-aws2-s3-kafka-connector
    [INFO] Using property: camel-kafka-connector-version = CONNECTOR_VERSION
    Confirm properties configuration:
    groupId: org.apache.camel.kafkaconnector.extended
    artifactId: myconnector-extended
    version: 1.0-SNAPSHOT
    package: org.apache.camel.kafkaconnector.extended
    camel-kafka-connector-name: camel-aws2-s3-kafka-connector
    camel-kafka-connector-version: CONNECTOR_VERSION
  3. Y を入力してプロパティーを確認します。

    Y: : Y
    [INFO] ----------------------------------------------------------------------------
    [INFO] Using following parameters for creating project from Archetype: camel-kafka-connector-extensible-archetype:CONNECTOR_VERSION
    [INFO] ----------------------------------------------------------------------------
    [INFO] Parameter: groupId, Value: org.apache.camel.kafkaconnector.extended
    [INFO] Parameter: artifactId, Value: myconnector-extended
    [INFO] Parameter: version, Value: 1.0-SNAPSHOT
    [INFO] Parameter: package, Value: org.apache.camel.kafkaconnector.extended
    [INFO] Parameter: packageInPathFormat, Value: org/apache/camel/kafkaconnector/extended
    [INFO] Parameter: package, Value: org.apache.camel.kafkaconnector.extended
    [INFO] Parameter: version, Value: 1.0-SNAPSHOT
    [INFO] Parameter: groupId, Value: org.apache.camel.kafkaconnector.extended
    [INFO] Parameter: camel-kafka-connector-name, Value: camel-aws2-s3-kafka-connector
    [INFO] Parameter: camel-kafka-connector-version, Value: CONNECTOR_VERSION
    [INFO] Parameter: artifactId, Value: myconnector-extended
    [INFO] Project created from Archetype in dir: /home/workspace/myconnector-extended
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time:  05:44 min
    [INFO] Finished at: 2020-09-04T08:55:00+02:00
    [INFO] ------------------------------------------------------------------------
  4. 作成した Maven プロジェクトの pom.xml に必要な依存関係を入力します。
  5. Maven プロジェクトをビルドし、拡張された Camel Kafka コネクターの .zip または tar.gz ファイルを作成します。

    mvn clean package

第5章 Camel Kafka Connector 設定リファレンス

本章では、Camel Kafka Connector を使用して設定できる Camel Kafka コネクターに関する参照情報を提供します。

重要

このテクノロジープレビューリリースには、利用可能な Apache Camel Kafka コネクターのターゲットサブセットが含まれています。今後のリリースで、追加のコネクターが Camel Kafka Connector に追加されます。

表5.1 Camel Kafka Connector の設定
コネクターシンクソース

Amazon Web Services Kinesis

Camel AWS2 Kinesis シンクコネクター

Camel AWS2 Kinesis ソースコネクター

Amazon Web Services S3

Camel AWS2 S3 シンクコネクター

Camel AWS2 s3 ソースコネクター

Amazon Web Services SNS

Camel AWS2 SNS シンクコネクター

-

Amazon Web Services SQS

Camel AWS2 SQS シンクコネクター

Camel AWS2 SQS ソースコネクター

Cassandra Query Language

Camel CQL シンクコネクター

Camel CQL ソースコネクター

Elasticsearch

Camel Elasticsearch シンクコネクター

-

ファイル

Camel ファイルシンクコネクター

-

Hadoop Distributed File System

Camel HDFS シンクコネクター

-

Hypertext Transfer Protocol

Camel HTTP シンクコネクター

-

Java Database Connectivity

Camel JDBC シンクコネクター

-

Java Message Service

Camel JMS シンクコネクター

Camel JMS ソースコネクター

MongoDB

Camel MongoDB シンクコネクター

Camel MongoDB ソースコネクター

Salesforce

-

Camel Salesforce ソースコネクター

Slack

-

Camel Slack ソースコネクター

Syslog

-

Camel syslog ソースコネクター

Timer

-

Camel タイマーソースコネクター

5.1. camel-aws2-kinesis-kafka-connector のシンク設定

camel-aws2-kinesis-kafka-connector をシンクとして使用する場合、以下の Maven 依存関係を使用してコネクターをサポートするようにしてください。

<dependency>
  <groupId>org.apache.camel.kafkaconnector</groupId>
  <artifactId>camel-aws2-kinesis-kafka-connector</artifactId>
  <version>x.x.x</version>
  <!-- use the same version as your Camel Kafka connector version -->
</dependency>

Kafka コネクションでこのシンクコネクターを使用するには、以下の connector.class を設定する必要があります。

connector.class=org.apache.camel.kafkaconnector.aws2kinesis.CamelAws2kinesisSinkConnector

camel-aws2-kinesis シンクコネクターは、以下に示す 25 個のオプションをサポートします。

名前説明デフォルトPriority

camel.sink.path.streamName

ストリームの名前

null

HIGH

camel.sink.endpoint.amazonKinesisClient

このエンドポイントに対するすべての要求に使用する Amazon Kinesis クライアント。

null

MEDIUM

camel.sink.endpoint.autoDiscoverClient

自動DiscoverClient メカニズムの設定(true の場合)、コンポーネントはレジストリー内でクライアントインスタンスを自動的に検索します。そうでないと、この確認はスキップされます。

true

MEDIUM

camel.sink.endpoint.proxyHost

Kinesis クライアントをインスタンス化する際にプロキシーホストを定義します。

null

MEDIUM

camel.sink.endpoint.proxyPort

Kinesis クライアントをインスタンス化する際にプロキシーポートを定義します。

null

MEDIUM

camel.sink.endpoint.proxyProtocol

Kinesis クライアントをインスタンス化する際にプロキシープロトコルを定義します。[HTTP] または [HTTPS] のいずれか。

"HTTPS"

MEDIUM

camel.sink.endpoint.region

Kinesis Firehose クライアントが機能する必要があるリージョン。このパラメーターを使用する場合、設定には小文字のリージョン名を指定します (例 ap-east-1)。名前 Region.EU_WEST_1.id() を使用する必要があります。

null

MEDIUM

camel.sink.endpoint.trustAllCertificates

エンドポイントを上書きするときにすべての証明書を信頼する場合。

false

MEDIUM

camel.sink.endpoint.lazyStartProducer

最初のメッセージでプロデューサーをレイジーに起動すべきかどうか。レイジーに起動することで、起動時にプロデューサーが失敗し、それによりルートが失敗する可能性がある状況で、CamelContext およびルートの起動を許可します。レイジーな起動を延期すると、Camel のルーティングエラーハンドラー経由でメッセージのルーティング中に起動の失敗を処理できます。最初のメッセージが処理されるときに、プロデューサーの作成および起動に若干時間がかかり、合計処理時間が長くなる可能性があることに注意してください。

false

MEDIUM

camel.sink.endpoint.basicPropertyBinding

エンドポイントが基本プロパティーバインディング(Camel 2.x)または新しいプロパティーバインディングを追加機能と共に使用するかどうか。

false

MEDIUM

camel.sink.endpoint.synchronous

同期処理を厳密に使用するか、Camel が非同期処理を使用できるようにするかを設定します(サポートされている場合)。

false

MEDIUM

camel.sink.endpoint.accessKey

Amazon AWS Access Key

null

MEDIUM

camel.sink.endpoint.secretKey

Amazon AWS Secret Key

null

MEDIUM

camel.component.aws2-kinesis.amazonKinesisClient

このエンドポイントに対するすべての要求に使用する Amazon Kinesis クライアント。

null

MEDIUM

camel.component.aws2-kinesis.autoDiscoverClient

自動DiscoverClient メカニズムの設定(true の場合)、コンポーネントはレジストリー内でクライアントインスタンスを自動的に検索します。そうでないと、この確認はスキップされます。

true

MEDIUM

camel.component.aws2-kinesis.configuration

コンポーネントの設定

null

MEDIUM

camel.component.aws2-kinesis.proxyHost

Kinesis クライアントをインスタンス化する際にプロキシーホストを定義します。

null

MEDIUM

camel.component.aws2-kinesis.proxyPort

Kinesis クライアントをインスタンス化する際にプロキシーポートを定義します。

null

MEDIUM

camel.component.aws2-kinesis.proxyProtocol

Kinesis クライアントをインスタンス化する際にプロキシープロトコルを定義します。[HTTP] または [HTTPS] のいずれか。

"HTTPS"

MEDIUM

camel.component.aws2-kinesis.region

Kinesis Firehose クライアントが機能する必要があるリージョン。このパラメーターを使用する場合、設定には小文字のリージョン名を指定します (例 ap-east-1)。名前 Region.EU_WEST_1.id() を使用する必要があります。

null

MEDIUM

camel.component.aws2-kinesis.trustAllCertificates

エンドポイントを上書きするときにすべての証明書を信頼する場合。

false

MEDIUM

camel.component.aws2-kinesis.lazyStartProducer

最初のメッセージでプロデューサーをレイジーに起動すべきかどうか。レイジーに起動することで、起動時にプロデューサーが失敗し、それによりルートが失敗する可能性がある状況で、CamelContext およびルートの起動を許可します。レイジーな起動を延期すると、Camel のルーティングエラーハンドラー経由でメッセージのルーティング中に起動の失敗を処理できます。最初のメッセージが処理されるときに、プロデューサーの作成および起動に若干時間がかかり、合計処理時間が長くなる可能性があることに注意してください。

false

MEDIUM

camel.component.aws2-kinesis.basicPropertyBinding

コンポーネントの基本的なプロパティーバインディング(Camel 2.x)または新しいプロパティーバインディングを追加機能と共に使用するかどうか。

false

MEDIUM

camel.component.aws2-kinesis.accessKey

Amazon AWS Access Key

null

MEDIUM

camel.component.aws2-kinesis.secretKey

Amazon AWS Secret Key

null

MEDIUM

camel-aws2-kinesis シンクコネクターには、そのまま使えるコンバーターがありません。

camel-aws2-kinesis シンクコネクターにはそのまま使える transforms がありません。

camel-aws2-kinesis シンクコネクターにはそのまま使える集約ストラテジーがありません。

5.2. camel-aws2-kinesis-kafka-connector ソース設定

camel-aws2-kinesis-kafka-connector をソースとして使用する場合、以下の Maven 依存関係を使用してコネクターをサポートするようにしてください。

<dependency>
  <groupId>org.apache.camel.kafkaconnector</groupId>
  <artifactId>camel-aws2-kinesis-kafka-connector</artifactId>
  <version>x.x.x</version>
  <!-- use the same version as your Camel Kafka connector version -->
</dependency>

Kafka コネクションでこのソースコネクターを使用するには、以下の connector.class を設定する必要があります。

connector.class=org.apache.camel.kafkaconnector.aws2kinesis.CamelAws2kinesisSourceConnector

camel-aws2-kinesis ソースコネクターは、以下に示す 53 個のオプションをサポートします。

名前説明デフォルトPriority

camel.source.path.streamName

ストリームの名前

null

HIGH

camel.source.endpoint.amazonKinesisClient

このエンドポイントに対するすべての要求に使用する Amazon Kinesis クライアント。

null

MEDIUM

camel.source.endpoint.autoDiscoverClient

自動DiscoverClient メカニズムの設定(true の場合)、コンポーネントはレジストリー内でクライアントインスタンスを自動的に検索します。そうでないと、この確認はスキップされます。

true

MEDIUM

camel.source.endpoint.proxyHost

Kinesis クライアントをインスタンス化する際にプロキシーホストを定義します。

null

MEDIUM

camel.source.endpoint.proxyPort

Kinesis クライアントをインスタンス化する際にプロキシーポートを定義します。

null

MEDIUM

camel.source.endpoint.proxyProtocol

Kinesis クライアントをインスタンス化する際にプロキシープロトコルを定義します。[HTTP] または [HTTPS] のいずれか。

"HTTPS"

MEDIUM

camel.source.endpoint.region

Kinesis Firehose クライアントが機能する必要があるリージョン。このパラメーターを使用する場合、設定には小文字のリージョン名を指定します (例 ap-east-1)。名前 Region.EU_WEST_1.id() を使用する必要があります。

null

MEDIUM

camel.source.endpoint.trustAllCertificates

エンドポイントを上書きするときにすべての証明書を信頼する場合。

false

MEDIUM

camel.source.endpoint.bridgeErrorHandler

コンシューマーの Camel ルーティングエラーハンドラーへのブリッジを許可します。よって、コンシューマーが受信メッセージなどの取得を試行している間に発生した例外は、メッセージとして処理され、ルーティングエラーハンドラーによって処理されます。デフォルトでは、コンシューマーは org.apache.camel.spi.ExceptionHandler を使用して例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。

false

MEDIUM

camel.source.endpoint.iteratorType

Kinesis ストリームでレコードの取得を開始する場所を定義します。[AT_SEQUENCE_NUMBER]、[AFTER_SEQUENCE_NUMBER]、[TRIM_HORIZON]、[LATEST]、[AT_TIMESTAMP]、[null] のいずれか。

"TRIM_HORIZON"

MEDIUM

camel.source.endpoint.maxResultsPerRequest

各ポーリングでフェッチされる最大レコード数。

1

MEDIUM

camel.source.endpoint.sendEmptyMessageWhenIdle

ポーリングコンシューマーがファイルをポーリングしなかった場合、このオプションを有効にして、代わりに空のメッセージ (ボディーなし) を送信できます。

false

MEDIUM

camel.source.endpoint.sequenceNumber

ポーリングを開始するシーケンス番号。iteratorType が AFTER_SEQUENCE_NUMBER または AT_SEQUENCE_NUMBER に設定されている場合に必要です。

null

MEDIUM

camel.source.endpoint.shardClosed

シャード (shard) が閉じられた場合の動作を定義します。使用できる値は ignore、silent、および fail です。ignore の場合、メッセージはログに記録され、コンシューマーは最初から再起動します。silent の場合は、ログには記録されず、コンシューマーは最初から起動します。fail の場合は、ReachedClosedStateException が発生します。[ignore]、[fail]、[silent] のいずれか。

"ignore"

MEDIUM

camel.source.endpoint.shardId

Kinesis ストリームでどの shardId からレコードを取得するかを定義します。

null

MEDIUM

camel.source.endpoint.exceptionHandler

コンシューマーによるカスタム ExceptionHandler の使用を許可します。bridgeErrorHandler オプションが有効な場合は、このオプションは使用されないことに注意してください。デフォルトでは、コンシューマーは例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。

null

MEDIUM

camel.source.endpoint.exchangePattern

コンシューマーがエクスチェンジを作成する際に交換パターンを設定します。[InOnly]、[InOut]、[InOptionalOut] のいずれか。

null

MEDIUM

camel.source.endpoint.pollStrategy

プラグ可能な org.apache.camel.PollingConsumerPollingStrategy を使用すると、エクスチェンジが作成され、Camel でルーティングされる前に、通常はポーリング操作中に発生するエラー処理を制御するカスタム実装が提供できます。

null

MEDIUM

camel.source.endpoint.basicPropertyBinding

エンドポイントが基本プロパティーバインディング(Camel 2.x)または新しいプロパティーバインディングを追加機能と共に使用するかどうか。

false

MEDIUM

camel.source.endpoint.synchronous

同期処理を厳密に使用するか、Camel が非同期処理を使用できるようにするかを設定します(サポートされている場合)。

false

MEDIUM

camel.source.endpoint.backoffErrorThreshold

backoffMultipler が開始する前に発生する必要がある後続のエラーポーリング (エラーによって失敗した) の数。

null

MEDIUM

camel.source.endpoint.backoffIdleThreshold

backoffMultipler が開始する前に発生する必要がある後続のアイドルポーリングの数。

null

MEDIUM

camel.source.endpoint.backoffMultiplier

後続のアイドル状態/エラーが連続して発生した場合に、スケジュールされたポーリングコンシューマーのバックオフを許可します。乗数は、実際に次の試行が行われる前にスキップされるポーリングの数です。このオプションが使用されている場合は、backoffIdleThreshold や backoffErrorThreshold も設定する必要があります。

null

MEDIUM

camel.source.endpoint.delay

次のポーリングまでの時間 (ミリ秒単位)。

500L

MEDIUM

camel.source.endpoint.greedy

greedy が有効で、以前の実行が 1 つ以上のメッセージをポーリングした場合、ScheduledPollConsumer は即座に再度実行されます。

false

MEDIUM

camel.source.endpoint.initialDelay

最初のポーリングが開始されるまでの時間 (ミリ秒単位)。

1000L

MEDIUM

camel.source.endpoint.repeatCount

実行の最大数を指定します。そのため、これを 1 に設定するとスケジューラーは 1 度だけ実行されます。これを 5 に設定した場合、5 回だけ実行されます。0 または負の値を設定すると、無制限に実行されます。

0L

MEDIUM

camel.source.endpoint.runLoggingLevel

コンシューマーはポーリング時に開始/完了のログ行を記録します。このオプションを使用すると、ログレベルを設定できます。[TRACE]、[DEBUG]、[INFO]、[WARN]、[ERROR]、[OFF] のいずれか。

"TRACE"

MEDIUM

camel.source.endpoint.scheduledExecutorService

コンシューマーに使用するカスタム/共有スレッドプールを設定できます。デフォルトでは、各コンシューマーに独自の単一スレッドのスレッドプールがあります。

null

MEDIUM

camel.source.endpoint.scheduler

camel-spring または camel-quartz コンポーネントから cron スケジューラーを使用します。スケジューラーにビルドされた値 spring または quartz を使用。

"none"

MEDIUM

camel.source.endpoint.schedulerProperties

カスタムスケジューラーまたは Quartz や Spring ベースのスケジューラーを使用する場合に、追加のプロパティーを設定します。

null

MEDIUM

camel.source.endpoint.startScheduler

スケジューラーを自動起動するかどうか。

true

MEDIUM

camel.source.endpoint.timeUnit

initialDelay および delay オプションの時間単位。[NANOSECONDS]、[MICROSECONDS]、[MILLISECONDS]、[SECONDS]、[MINUTES]、[HOURS]、[DAYS] のいずれか。

"MILLISECONDS"

MEDIUM

camel.source.endpoint.useFixedDelay

固定遅延または固定レートを使用するかどうかを制御します。詳細は、JDK の ScheduledExecutorService を参照してください。

true

MEDIUM

camel.source.endpoint.accessKey

Amazon AWS Access Key

null

MEDIUM

camel.source.endpoint.secretKey

Amazon AWS Secret Key

null

MEDIUM

camel.component.aws2-kinesis.amazonKinesisClient

このエンドポイントに対するすべての要求に使用する Amazon Kinesis クライアント。

null

MEDIUM

camel.component.aws2-kinesis.autoDiscoverClient

自動DiscoverClient メカニズムの設定(true の場合)、コンポーネントはレジストリー内でクライアントインスタンスを自動的に検索します。そうでないと、この確認はスキップされます。

true

MEDIUM

camel.component.aws2-kinesis.configuration

コンポーネントの設定

null

MEDIUM

camel.component.aws2-kinesis.proxyHost

Kinesis クライアントをインスタンス化する際にプロキシーホストを定義します。

null

MEDIUM

camel.component.aws2-kinesis.proxyPort

Kinesis クライアントをインスタンス化する際にプロキシーポートを定義します。

null

MEDIUM

camel.component.aws2-kinesis.proxyProtocol

Kinesis クライアントをインスタンス化する際にプロキシープロトコルを定義します。[HTTP] または [HTTPS] のいずれか。

"HTTPS"

MEDIUM

camel.component.aws2-kinesis.region

Kinesis Firehose クライアントが機能する必要があるリージョン。このパラメーターを使用する場合、設定には小文字のリージョン名を指定します (例 ap-east-1)。名前 Region.EU_WEST_1.id() を使用する必要があります。

null

MEDIUM

camel.component.aws2-kinesis.trustAllCertificates

エンドポイントを上書きするときにすべての証明書を信頼する場合。

false

MEDIUM

camel.component.aws2-kinesis.bridgeErrorHandler

コンシューマーの Camel ルーティングエラーハンドラーへのブリッジを許可します。よって、コンシューマーが受信メッセージなどの取得を試行している間に発生した例外は、メッセージとして処理され、ルーティングエラーハンドラーによって処理されます。デフォルトでは、コンシューマーは org.apache.camel.spi.ExceptionHandler を使用して例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。

false

MEDIUM

camel.component.aws2-kinesis.iteratorType

Kinesis ストリームでレコードの取得を開始する場所を定義します。[AT_SEQUENCE_NUMBER]、[AFTER_SEQUENCE_NUMBER]、[TRIM_HORIZON]、[LATEST]、[AT_TIMESTAMP]、[null] のいずれか。

"TRIM_HORIZON"

MEDIUM

camel.component.aws2-kinesis.maxResultsPerRequest

各ポーリングでフェッチされる最大レコード数。

1

MEDIUM

camel.component.aws2-kinesis.sequenceNumber

ポーリングを開始するシーケンス番号。iteratorType が AFTER_SEQUENCE_NUMBER または AT_SEQUENCE_NUMBER に設定されている場合に必要です。

null

MEDIUM

camel.component.aws2-kinesis.shardClosed

シャード (shard) が閉じられた場合の動作を定義します。使用できる値は ignore、silent、および fail です。ignore の場合、メッセージはログに記録され、コンシューマーは最初から再起動します。silent の場合は、ログには記録されず、コンシューマーは最初から起動します。fail の場合は、ReachedClosedStateException が発生します。[ignore]、[fail]、[silent] のいずれか。

"ignore"

MEDIUM

camel.component.aws2-kinesis.shardId

Kinesis ストリームでどの shardId からレコードを取得するかを定義します。

null

MEDIUM

camel.component.aws2-kinesis.basicPropertyBinding

コンポーネントの基本的なプロパティーバインディング(Camel 2.x)または新しいプロパティーバインディングを追加機能と共に使用するかどうか。

false

MEDIUM

camel.component.aws2-kinesis.accessKey

Amazon AWS Access Key

null

MEDIUM

camel.component.aws2-kinesis.secretKey

Amazon AWS Secret Key

null

MEDIUM

camel-aws2-kinesis シンクコネクターには、そのまま使えるコンバーターがありません。

camel-aws2-kinesis シンクコネクターにはそのまま使える transforms がありません。

camel-aws2-kinesis シンクコネクターにはそのまま使える集約ストラテジーがありません。

5.3. camel-aws2-s3-kafka-connector のシンク設定

camel-aws2-s3-kafka-connector をシンクとして使用する場合、以下の Maven 依存関係を使用してコネクターをサポートするようにしてください。

<dependency>
  <groupId>org.apache.camel.kafkaconnector</groupId>
  <artifactId>camel-aws2-s3-kafka-connector</artifactId>
  <version>x.x.x</version>
  <!-- use the same version as your Camel Kafka connector version -->
</dependency>

Kafka コネクションでこのシンクコネクターを使用するには、以下の connector.class を設定する必要があります。

connector.class=org.apache.camel.kafkaconnector.aws2s3.CamelAws2s3SinkConnector

camel-aws2-s3 シンクコネクターは、以下に示す 61 個のオプションをサポートします。

名前説明デフォルトPriority

camel.sink.path.bucketNameOrArn

バケット名または ARN。

null

HIGH

camel.sink.endpoint.amazonS3Client

レジストリーの com.amazonaws.services.s3.AmazonS3 への参照。

null

MEDIUM

camel.sink.endpoint.autoCreateBucket

S3 バケット bucketName の自動作成の設定。moveAfterRead オプションが有効になっている場合も適用され、destinationBucket が存在しない場合は作成されます。

true

MEDIUM

camel.sink.endpoint.autoDiscoverClient

自動DiscoverClient メカニズムを設定すること(true の場合)、コンポーネントはレジストリー内でクライアントインスタンスを自動的に検索します。そうでないと、そのチェックはスキップされます。

true

MEDIUM

camel.sink.endpoint.overrideEndpoint

エンドポイントをオーバーライドする必要性を設定します。このオプションは uriEndpointOverride オプションと併用する必要があります。

false

MEDIUM

camel.sink.endpoint.pojoRequest

POJO リクエストをボディーとして使用するかどうか。

false

MEDIUM

camel.sink.endpoint.policy

com.amazonaws.services.s3.AmazonS3#setBucketPolicy() メソッドに設定されるこのキューのポリシー。

null

MEDIUM

camel.sink.endpoint.proxyHost

SQS クライアントをインスタンス化するときにプロキシーホストを定義します。

null

MEDIUM

camel.sink.endpoint.proxyPort

クライアント定義内で使用されるプロキシーポートを指定します。

null

MEDIUM

camel.sink.endpoint.proxyProtocol

S3 クライアントをインスタンス化する際にプロキシープロトコルを定義します。[HTTP] または [HTTPS] のいずれか。

"HTTPS"

MEDIUM

camel.sink.endpoint.region

S3 クライアントが機能する必要があるリージョン。このパラメーターを使用する場合、設定には小文字のリージョン名を指定します (例 ap-east-1)。名前 Region.EU_WEST_1.id() を使用する必要があります。

null

MEDIUM

camel.sink.endpoint.trustAllCertificates

エンドポイントを上書きするときにすべての証明書を信頼する場合。

false

MEDIUM

camel.sink.endpoint.uriEndpointOverride

オーバーライドする URI エンドポイントを設定します。このオプションは overrideEndpoint オプションと併用する必要があります。

null

MEDIUM

camel.sink.endpoint.useIAMCredentials

S3 クライアントが EC2 インスタンスでクレデンシャルをロードすることを期待すべきか、または静的クレデンシャルが渡されることを期待すべきかどうかを設定します。

false

MEDIUM

camel.sink.endpoint.customerAlgorithm

CustomerKey が有効になっている場合に使用するカスタマーアルゴリズムを定義します。

null

MEDIUM

camel.sink.endpoint.customerKeyId

CustomerKey が有効になっている場合に使用するカスタマーキーの ID を定義します。

null

MEDIUM

camel.sink.endpoint.customerKeyMD5

CustomerKey が有効になっている場合に使用するカスタマーキーの MD5 を定義します。

null

MEDIUM

camel.sink.endpoint.deleteAfterWrite

S3 ファイルのアップロード後にファイルオブジェクトを削除します。

false

MEDIUM

camel.sink.endpoint.keyName

endpoint パラメーター経由でバケットの要素のキー名を設定します。

null

MEDIUM

camel.sink.endpoint.lazyStartProducer

最初のメッセージでプロデューサーをレイジーに起動すべきかどうか。レイジーに起動することで、起動時にプロデューサーが失敗し、それによりルートが失敗する可能性がある状況で、CamelContext およびルートの起動を許可します。レイジーな起動を延期すると、Camel のルーティングエラーハンドラー経由でメッセージのルーティング中に起動の失敗を処理できます。最初のメッセージが処理されるときに、プロデューサーの作成および起動に若干時間がかかり、合計処理時間が長くなる可能性があることに注意してください。

false

MEDIUM

camel.sink.endpoint.multiPartUpload

true の場合、Camel はマルチパート形式のファイルをアップロードし、パートサイズは partSize のオプションによって決定されます。

false

MEDIUM

camel.sink.endpoint.operation

ユーザーがアップロードのみを実行したくない場合に実行する操作。[copyObject]、[listObjects]、[deleteObject]、[deleteBucket]、[listBuckets]、[getObject]、[getObjectRange] のいずれか。

null

MEDIUM

camel.sink.endpoint.partSize

マルチパートのアップロードで使用される partSize を設定します。デフォルトのサイズは 25M です。

26214400L

MEDIUM

camel.sink.endpoint.storageClass

com.amazonaws.services.s3.model.PutObjectRequest リクエストに設定するストレージクラス。

null

MEDIUM

camel.sink.endpoint.awsKMSKeyId

KMS が有効になっている場合に使用する KMS キーの ID を定義します。

null

MEDIUM

camel.sink.endpoint.useAwsKMS

KMS を使用する必要があるかどうかを定義します。

false

MEDIUM

camel.sink.endpoint.useCustomerKey

カスタマーキーを使用する必要があるかどうかを定義します。

false

MEDIUM

camel.sink.endpoint.basicPropertyBinding

エンドポイントが基本プロパティーバインディング(Camel 2.x)または新しいプロパティーバインディングを追加機能と共に使用するかどうか。

false

MEDIUM

camel.sink.endpoint.synchronous

同期処理を厳密に使用するか、Camel が非同期処理を使用できるようにするかを設定します(サポートされている場合)。

false

MEDIUM

camel.sink.endpoint.accessKey

Amazon AWS Access Key

null

MEDIUM

camel.sink.endpoint.secretKey

Amazon AWS Secret Key

null

MEDIUM

camel.component.aws2-s3.amazonS3Client

レジストリーの com.amazonaws.services.s3.AmazonS3 への参照。

null

MEDIUM

camel.component.aws2-s3.autoCreateBucket

S3 バケット bucketName の自動作成の設定。moveAfterRead オプションが有効になっている場合も適用され、destinationBucket が存在しない場合は作成されます。

true

MEDIUM

camel.component.aws2-s3.autoDiscoverClient

自動DiscoverClient メカニズムを設定すること(true の場合)、コンポーネントはレジストリー内でクライアントインスタンスを自動的に検索します。そうでないと、そのチェックはスキップされます。

true

MEDIUM

camel.component.aws2-s3.configuration

コンポーネントの設定。

null

MEDIUM

camel.component.aws2-s3.overrideEndpoint

エンドポイントをオーバーライドする必要性を設定します。このオプションは uriEndpointOverride オプションと併用する必要があります。

false

MEDIUM

camel.component.aws2-s3.pojoRequest

POJO リクエストをボディーとして使用するかどうか。

false

MEDIUM

camel.component.aws2-s3.policy

com.amazonaws.services.s3.AmazonS3#setBucketPolicy() メソッドに設定されるこのキューのポリシー。

null

MEDIUM

camel.component.aws2-s3.proxyHost

SQS クライアントをインスタンス化するときにプロキシーホストを定義します。

null

MEDIUM

camel.component.aws2-s3.proxyPort

クライアント定義内で使用されるプロキシーポートを指定します。

null

MEDIUM

camel.component.aws2-s3.proxyProtocol

S3 クライアントをインスタンス化する際にプロキシープロトコルを定義します。[HTTP] または [HTTPS] のいずれか。

"HTTPS"

MEDIUM

camel.component.aws2-s3.region

S3 クライアントが機能する必要があるリージョン。このパラメーターを使用する場合、設定には小文字のリージョン名を指定します (例 ap-east-1)。名前 Region.EU_WEST_1.id() を使用する必要があります。

null

MEDIUM

camel.component.aws2-s3.trustAllCertificates

エンドポイントを上書きするときにすべての証明書を信頼する場合。

false

MEDIUM

camel.component.aws2-s3.uriEndpointOverride

オーバーライドする URI エンドポイントを設定します。このオプションは overrideEndpoint オプションと併用する必要があります。

null

MEDIUM

camel.component.aws2-s3.useIAMCredentials

S3 クライアントが EC2 インスタンスでクレデンシャルをロードすることを期待すべきか、または静的クレデンシャルが渡されることを期待すべきかどうかを設定します。

false

MEDIUM

camel.component.aws2-s3.customerAlgorithm

CustomerKey が有効になっている場合に使用するカスタマーアルゴリズムを定義します。

null

MEDIUM

camel.component.aws2-s3.customerKeyId

CustomerKey が有効になっている場合に使用するカスタマーキーの ID を定義します。

null

MEDIUM

camel.component.aws2-s3.customerKeyMD5

CustomerKey が有効になっている場合に使用するカスタマーキーの MD5 を定義します。

null

MEDIUM

camel.component.aws2-s3.deleteAfterWrite

S3 ファイルのアップロード後にファイルオブジェクトを削除します。

false

MEDIUM

camel.component.aws2-s3.keyName

endpoint パラメーター経由でバケットの要素のキー名を設定します。

null

MEDIUM

camel.component.aws2-s3.lazyStartProducer

最初のメッセージでプロデューサーをレイジーに起動すべきかどうか。レイジーに起動することで、起動時にプロデューサーが失敗し、それによりルートが失敗する可能性がある状況で、CamelContext およびルートの起動を許可します。レイジーな起動を延期すると、Camel のルーティングエラーハンドラー経由でメッセージのルーティング中に起動の失敗を処理できます。最初のメッセージが処理されるときに、プロデューサーの作成および起動に若干時間がかかり、合計処理時間が長くなる可能性があることに注意してください。

false

MEDIUM

camel.component.aws2-s3.multiPartUpload

true の場合、Camel はマルチパート形式のファイルをアップロードし、パートサイズは partSize のオプションによって決定されます。

false

MEDIUM

camel.component.aws2-s3.operation

ユーザーがアップロードのみを実行したくない場合に実行する操作。[copyObject]、[listObjects]、[deleteObject]、[deleteBucket]、[listBuckets]、[getObject]、[getObjectRange] のいずれか。

null

MEDIUM

camel.component.aws2-s3.partSize

マルチパートのアップロードで使用される partSize を設定します。デフォルトのサイズは 25M です。

26214400L

MEDIUM

camel.component.aws2-s3.storageClass

com.amazonaws.services.s3.model.PutObjectRequest リクエストに設定するストレージクラス。

null

MEDIUM

camel.component.aws2-s3.awsKMSKeyId

KMS が有効になっている場合に使用する KMS キーの ID を定義します。

null

MEDIUM

camel.component.aws2-s3.useAwsKMS

KMS を使用する必要があるかどうかを定義します。

false

MEDIUM

camel.component.aws2-s3.useCustomerKey

カスタマーキーを使用する必要があるかどうかを定義します。

false

MEDIUM

camel.component.aws2-s3.basicPropertyBinding

コンポーネントの基本的なプロパティーバインディング(Camel 2.x)または新しいプロパティーバインディングを追加機能と共に使用するかどうか。

false

MEDIUM

camel.component.aws2-s3.accessKey

Amazon AWS Access Key

null

MEDIUM

camel.component.aws2-s3.secretKey

Amazon AWS Secret Key

null

MEDIUM

camel-aws2-s3 シンクコネクターは、以下に示すそのまま使えるコンバーターを 1 つサポートします。

org.apache.camel.kafkaconnector.aws2s3.converters.S3ObjectConverter

camel-aws2-s3 シンクコネクターにはそのまま使える transforms がありません。

camel-aws2-s3 シンクコネクターにはそのまま使える集約ストラテジーがありません。

5.4. camel-aws2-s3-kafka-connector のソース設定

camel-aws2-s3-kafka-connector をソースとして使用する場合、以下の Maven 依存関係を使用してコネクターをサポートするようにしてください。

<dependency>
  <groupId>org.apache.camel.kafkaconnector</groupId>
  <artifactId>camel-aws2-s3-kafka-connector</artifactId>
  <version>x.x.x</version>
  <!-- use the same version as your Camel Kafka connector version -->
</dependency>

Kafka コネクションでこのソースコネクターを使用するには、以下の connector.class を設定する必要があります。

connector.class=org.apache.camel.kafkaconnector.aws2s3.CamelAws2s3SourceConnector

camel-aws2-s3 ソースコネクターは、以下に示す 85 個のオプションをサポートします。

名前説明デフォルトPriority

camel.source.path.bucketNameOrArn

バケット名または ARN。

null

HIGH

camel.source.endpoint.amazonS3Client

レジストリーの com.amazonaws.services.s3.AmazonS3 への参照。

null

MEDIUM

camel.source.endpoint.autoCreateBucket

S3 バケット bucketName の自動作成の設定。moveAfterRead オプションが有効になっている場合も適用され、destinationBucket が存在しない場合は作成されます。

true

MEDIUM

camel.source.endpoint.autoDiscoverClient

自動DiscoverClient メカニズムを設定すること(true の場合)、コンポーネントはレジストリー内でクライアントインスタンスを自動的に検索します。そうでないと、そのチェックはスキップされます。

true

MEDIUM

camel.source.endpoint.overrideEndpoint

エンドポイントをオーバーライドする必要性を設定します。このオプションは uriEndpointOverride オプションと併用する必要があります。

false

MEDIUM

camel.source.endpoint.pojoRequest

POJO リクエストをボディーとして使用するかどうか。

false

MEDIUM

camel.source.endpoint.policy

com.amazonaws.services.s3.AmazonS3#setBucketPolicy() メソッドに設定されるこのキューのポリシー。

null

MEDIUM

camel.source.endpoint.proxyHost

SQS クライアントをインスタンス化するときにプロキシーホストを定義します。

null

MEDIUM

camel.source.endpoint.proxyPort

クライアント定義内で使用されるプロキシーポートを指定します。

null

MEDIUM

camel.source.endpoint.proxyProtocol

S3 クライアントをインスタンス化する際にプロキシープロトコルを定義します。[HTTP] または [HTTPS] のいずれか。

"HTTPS"

MEDIUM

camel.source.endpoint.region

S3 クライアントが機能する必要があるリージョン。このパラメーターを使用する場合、設定には小文字のリージョン名を指定します (例 ap-east-1)。名前 Region.EU_WEST_1.id() を使用する必要があります。

null

MEDIUM

camel.source.endpoint.trustAllCertificates

エンドポイントを上書きするときにすべての証明書を信頼する場合。

false

MEDIUM

camel.source.endpoint.uriEndpointOverride

オーバーライドする URI エンドポイントを設定します。このオプションは overrideEndpoint オプションと併用する必要があります。

null

MEDIUM

camel.source.endpoint.useIAMCredentials

S3 クライアントが EC2 インスタンスでクレデンシャルをロードすることを期待すべきか、または静的クレデンシャルが渡されることを期待すべきかどうかを設定します。

false

MEDIUM

camel.source.endpoint.customerAlgorithm

CustomerKey が有効になっている場合に使用するカスタマーアルゴリズムを定義します。

null

MEDIUM

camel.source.endpoint.customerKeyId

CustomerKey が有効になっている場合に使用するカスタマーキーの ID を定義します。

null

MEDIUM

camel.source.endpoint.customerKeyMD5

CustomerKey が有効になっている場合に使用するカスタマーキーの MD5 を定義します。

null

MEDIUM

camel.source.endpoint.bridgeErrorHandler

コンシューマーの Camel ルーティングエラーハンドラーへのブリッジを許可します。よって、コンシューマーが受信メッセージなどの取得を試行している間に発生した例外は、メッセージとして処理され、ルーティングエラーハンドラーによって処理されます。デフォルトでは、コンシューマーは org.apache.camel.spi.ExceptionHandler を使用して例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。

false

MEDIUM

camel.source.endpoint.deleteAfterRead

取得後に S3 からオブジェクトを削除します。削除は、エクスチェンジがコミットされた場合にのみ実行されます。ロールバックが発生すると、オブジェクトは削除されません。このオプションが false の場合、同じオブジェクトがポーリングで繰り返し取得されます。そのため、ルートで Idempotent Consumer EIP を使用して重複を除外する必要があります。AWS2S3Constants#BUCKET_NAME および AWS2S3Constants#KEY ヘッダーを使用してフィルターすることも、AWS2S3Constants#KEY ヘッダーのみを使用してフィルターすることもできます。

true

MEDIUM

camel.source.endpoint.delimiter

対象のオブジェクトのみを消費するために com.amazonaws.services.s3.model.ListObjectsRequest で使用される区切り文字。

null

MEDIUM

camel.source.endpoint.destinationBucket

moveAfterRead が true に設定されている場合にオブジェクトを移動する必要がある宛先バケットを定義します。

null

MEDIUM

camel.source.endpoint.destinationBucketPrefix

オブジェクトを移動する必要があり、moveAfterRead が true に設定されている場合に使用する宛先バケットプレフィックスを定義します。

null

MEDIUM

camel.source.endpoint.destinationBucketSuffix

オブジェクトを移動する必要があり、moveAfterRead が true に設定されている場合に使用する宛先バケットサフィックスを定義します。

null

MEDIUM

camel.source.endpoint.fileName

指定のファイル名を持つバケットからオブジェクトを取得します。

null

MEDIUM

camel.source.endpoint.includeBody

true の場合、エクスチェンジボディーはファイルの内容へのストリームに設定されます。false の場合、ヘッダーは S3 オブジェクトメタデータで設定されますが、ボディーは null になります。このオプションは、autocloseBody オプションと密接に関係します。includeBody を true に設定し、autocloseBody を false に設定すると、S3Object ストリームを閉じるのは呼び出し元によって異なります。autocloseBody を true に設定すると、S3Object ストリームが自動的に閉じられます。

true

MEDIUM

camel.source.endpoint.includeFolders

true の場合、フォルダー/ディレクトリーが消費されます。false の場合は無視され、エクスチェンジは作成されません。

true

MEDIUM

camel.source.endpoint.maxConnections

S3 クライアント設定の maxConnections パラメーターを設定します。

60

MEDIUM

camel.source.endpoint.maxMessagesPerPoll

各ポーリングのポーリング制限としてメッセージの最大数を取得します。各ポーリングのポーリング制限としてメッセージの最大数を取得します。デフォルト値は 10 です。0 または負の値を使用すると、無制限として設定されます。

10

MEDIUM

camel.source.endpoint.moveAfterRead

オブジェクトの取得後に S3 バケットから別のバケットに移動します。操作を実行するには、destinationBucket オプションを設定する必要があります。copy bucket 操作は、エクスチェンジがコミットされた場合にのみ実行されます。ロールバックが発生した場合、オブジェクトは移動しません。

false

MEDIUM

camel.source.endpoint.prefix

対象のオブジェクトのみを消費するために com.amazonaws.services.s3.model.ListObjectsRequest で使用されるプレフィックス。

null

MEDIUM

camel.source.endpoint.sendEmptyMessageWhenIdle

ポーリングコンシューマーがファイルをポーリングしなかった場合、このオプションを有効にして、代わりに空のメッセージ (ボディーなし) を送信できます。

false

MEDIUM

camel.source.endpoint.autocloseBody

このオプションが true で includeBody が true の場合、エクスチェンジの完了時に S3Object.close()メソッドが呼び出されます。このオプションは includeBody オプションと密接に関係しています。includeBody を true に設定し、autocloseBody を false に設定すると、S3Object ストリームを閉じるのは呼び出し元によって異なります。autocloseBody を true に設定すると、S3Object ストリームが自動的に閉じられます。

true

MEDIUM

camel.source.endpoint.exceptionHandler

コンシューマーによるカスタム ExceptionHandler の使用を許可します。bridgeErrorHandler オプションが有効な場合は、このオプションは使用されないことに注意してください。デフォルトでは、コンシューマーは例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。

null

MEDIUM

camel.source.endpoint.exchangePattern

コンシューマーがエクスチェンジを作成する際に交換パターンを設定します。[InOnly]、[InOut]、[InOptionalOut] のいずれか。

null

MEDIUM

camel.source.endpoint.pollStrategy

プラグ可能な org.apache.camel.PollingConsumerPollingStrategy を使用すると、エクスチェンジが作成され、Camel でルーティングされる前に、通常はポーリング操作中に発生するエラー処理を制御するカスタム実装が提供できます。

null

MEDIUM

camel.source.endpoint.basicPropertyBinding

エンドポイントが基本プロパティーバインディング(Camel 2.x)または新しいプロパティーバインディングを追加機能と共に使用するかどうか。

false

MEDIUM

camel.source.endpoint.synchronous

同期処理を厳密に使用するか、Camel が非同期処理を使用できるようにするかを設定します(サポートされている場合)。

false

MEDIUM

camel.source.endpoint.backoffErrorThreshold

backoffMultipler が開始する前に発生する必要がある後続のエラーポーリング (エラーによって失敗した) の数。

null

MEDIUM

camel.source.endpoint.backoffIdleThreshold

backoffMultipler が開始する前に発生する必要がある後続のアイドルポーリングの数。

null

MEDIUM

camel.source.endpoint.backoffMultiplier

後続のアイドル状態/エラーが連続して発生した場合に、スケジュールされたポーリングコンシューマーのバックオフを許可します。乗数は、実際に次の試行が行われる前にスキップされるポーリングの数です。このオプションが使用されている場合は、backoffIdleThreshold や backoffErrorThreshold も設定する必要があります。

null

MEDIUM

camel.source.endpoint.delay

次のポーリングまでの時間 (ミリ秒単位)。

500L

MEDIUM

camel.source.endpoint.greedy

greedy が有効で、以前の実行が 1 つ以上のメッセージをポーリングした場合、ScheduledPollConsumer は即座に再度実行されます。

false

MEDIUM

camel.source.endpoint.initialDelay

最初のポーリングが開始されるまでの時間 (ミリ秒単位)。

1000L

MEDIUM

camel.source.endpoint.repeatCount

実行の最大数を指定します。そのため、これを 1 に設定するとスケジューラーは 1 度だけ実行されます。これを 5 に設定した場合、5 回だけ実行されます。0 または負の値を設定すると、無制限に実行されます。

0L

MEDIUM

camel.source.endpoint.runLoggingLevel

コンシューマーはポーリング時に開始/完了のログ行を記録します。このオプションを使用すると、ログレベルを設定できます。[TRACE]、[DEBUG]、[INFO]、[WARN]、[ERROR]、[OFF] のいずれか。

"TRACE"

MEDIUM

camel.source.endpoint.scheduledExecutorService

コンシューマーに使用するカスタム/共有スレッドプールを設定できます。デフォルトでは、各コンシューマーに独自の単一スレッドのスレッドプールがあります。

null

MEDIUM

camel.source.endpoint.scheduler

camel-spring または camel-quartz コンポーネントから cron スケジューラーを使用します。スケジューラーにビルドされた値 spring または quartz を使用。

"none"

MEDIUM

camel.source.endpoint.schedulerProperties

カスタムスケジューラーまたは Quartz や Spring ベースのスケジューラーを使用する場合に、追加のプロパティーを設定します。

null

MEDIUM

camel.source.endpoint.startScheduler

スケジューラーを自動起動するかどうか。

true

MEDIUM

camel.source.endpoint.timeUnit

initialDelay および delay オプションの時間単位。[NANOSECONDS]、[MICROSECONDS]、[MILLISECONDS]、[SECONDS]、[MINUTES]、[HOURS]、[DAYS] のいずれか。

"MILLISECONDS"

MEDIUM

camel.source.endpoint.useFixedDelay

固定遅延または固定レートを使用するかどうかを制御します。詳細は、JDK の ScheduledExecutorService を参照してください。

true

MEDIUM

camel.source.endpoint.accessKey

Amazon AWS Access Key

null

MEDIUM

camel.source.endpoint.secretKey

Amazon AWS Secret Key

null

MEDIUM

camel.component.aws2-s3.amazonS3Client

レジストリーの com.amazonaws.services.s3.AmazonS3 への参照。

null

MEDIUM

camel.component.aws2-s3.autoCreateBucket

S3 バケット bucketName の自動作成の設定。moveAfterRead オプションが有効になっている場合も適用され、destinationBucket が存在しない場合は作成されます。

true

MEDIUM

camel.component.aws2-s3.autoDiscoverClient

自動DiscoverClient メカニズムを設定すること(true の場合)、コンポーネントはレジストリー内でクライアントインスタンスを自動的に検索します。そうでないと、そのチェックはスキップされます。

true

MEDIUM

camel.component.aws2-s3.configuration

コンポーネントの設定。

null

MEDIUM

camel.component.aws2-s3.overrideEndpoint

エンドポイントをオーバーライドする必要性を設定します。このオプションは uriEndpointOverride オプションと併用する必要があります。

false

MEDIUM

camel.component.aws2-s3.pojoRequest

POJO リクエストをボディーとして使用するかどうか。

false

MEDIUM

camel.component.aws2-s3.policy

com.amazonaws.services.s3.AmazonS3#setBucketPolicy() メソッドに設定されるこのキューのポリシー。

null

MEDIUM

camel.component.aws2-s3.proxyHost

SQS クライアントをインスタンス化するときにプロキシーホストを定義します。

null

MEDIUM

camel.component.aws2-s3.proxyPort

クライアント定義内で使用されるプロキシーポートを指定します。

null

MEDIUM

camel.component.aws2-s3.proxyProtocol

S3 クライアントをインスタンス化する際にプロキシープロトコルを定義します。[HTTP] または [HTTPS] のいずれか。

"HTTPS"

MEDIUM

camel.component.aws2-s3.region

S3 クライアントが機能する必要があるリージョン。このパラメーターを使用する場合、設定には小文字のリージョン名を指定します (例 ap-east-1)。名前 Region.EU_WEST_1.id() を使用する必要があります。

null

MEDIUM

camel.component.aws2-s3.trustAllCertificates

エンドポイントを上書きするときにすべての証明書を信頼する場合。

false

MEDIUM

camel.component.aws2-s3.uriEndpointOverride

オーバーライドする URI エンドポイントを設定します。このオプションは overrideEndpoint オプションと併用する必要があります。

null

MEDIUM

camel.component.aws2-s3.useIAMCredentials

S3 クライアントが EC2 インスタンスでクレデンシャルをロードすることを期待すべきか、または静的クレデンシャルが渡されることを期待すべきかどうかを設定します。

false

MEDIUM

camel.component.aws2-s3.customerAlgorithm

CustomerKey が有効になっている場合に使用するカスタマーアルゴリズムを定義します。

null

MEDIUM

camel.component.aws2-s3.customerKeyId

CustomerKey が有効になっている場合に使用するカスタマーキーの ID を定義します。

null

MEDIUM

camel.component.aws2-s3.customerKeyMD5

CustomerKey が有効になっている場合に使用するカスタマーキーの MD5 を定義します。

null

MEDIUM

camel.component.aws2-s3.bridgeErrorHandler

コンシューマーの Camel ルーティングエラーハンドラーへのブリッジを許可します。よって、コンシューマーが受信メッセージなどの取得を試行している間に発生した例外は、メッセージとして処理され、ルーティングエラーハンドラーによって処理されます。デフォルトでは、コンシューマーは org.apache.camel.spi.ExceptionHandler を使用して例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。

false

MEDIUM

camel.component.aws2-s3.deleteAfterRead

取得後に S3 からオブジェクトを削除します。削除は、エクスチェンジがコミットされた場合にのみ実行されます。ロールバックが発生すると、オブジェクトは削除されません。このオプションが false の場合、同じオブジェクトがポーリングで繰り返し取得されます。そのため、ルートで Idempotent Consumer EIP を使用して重複を除外する必要があります。AWS2S3Constants#BUCKET_NAME および AWS2S3Constants#KEY ヘッダーを使用してフィルターすることも、AWS2S3Constants#KEY ヘッダーのみを使用してフィルターすることもできます。

true

MEDIUM

camel.component.aws2-s3.delimiter

対象のオブジェクトのみを消費するために com.amazonaws.services.s3.model.ListObjectsRequest で使用される区切り文字。

null

MEDIUM

camel.component.aws2-s3.destinationBucket

moveAfterRead が true に設定されている場合にオブジェクトを移動する必要がある宛先バケットを定義します。

null

MEDIUM

camel.component.aws2-s3.destinationBucketPrefix

オブジェクトを移動する必要があり、moveAfterRead が true に設定されている場合に使用する宛先バケットプレフィックスを定義します。

null

MEDIUM

camel.component.aws2-s3.destinationBucketSuffix

オブジェクトを移動する必要があり、moveAfterRead が true に設定されている場合に使用する宛先バケットサフィックスを定義します。

null

MEDIUM

camel.component.aws2-s3.fileName

指定のファイル名を持つバケットからオブジェクトを取得します。

null

MEDIUM

camel.component.aws2-s3.includeBody

true の場合、エクスチェンジボディーはファイルの内容へのストリームに設定されます。false の場合、ヘッダーは S3 オブジェクトメタデータで設定されますが、ボディーは null になります。このオプションは、autocloseBody オプションと密接に関係します。includeBody を true に設定し、autocloseBody を false に設定すると、S3Object ストリームを閉じるのは呼び出し元によって異なります。autocloseBody を true に設定すると、S3Object ストリームが自動的に閉じられます。

true

MEDIUM

camel.component.aws2-s3.includeFolders

true の場合、フォルダー/ディレクトリーが消費されます。false の場合は無視され、エクスチェンジは作成されません。

true

MEDIUM

camel.component.aws2-s3.moveAfterRead

オブジェクトの取得後に S3 バケットから別のバケットに移動します。操作を実行するには、destinationBucket オプションを設定する必要があります。copy bucket 操作は、エクスチェンジがコミットされた場合にのみ実行されます。ロールバックが発生した場合、オブジェクトは移動しません。

false

MEDIUM

camel.component.aws2-s3.prefix

対象のオブジェクトのみを消費するために com.amazonaws.services.s3.model.ListObjectsRequest で使用されるプレフィックス。

null

MEDIUM

camel.component.aws2-s3.autocloseBody

このオプションが true で includeBody が true の場合、エクスチェンジの完了時に S3Object.close()メソッドが呼び出されます。このオプションは includeBody オプションと密接に関係しています。includeBody を true に設定し、autocloseBody を false に設定すると、S3Object ストリームを閉じるのは呼び出し元によって異なります。autocloseBody を true に設定すると、S3Object ストリームが自動的に閉じられます。

true

MEDIUM

camel.component.aws2-s3.basicPropertyBinding

コンポーネントの基本的なプロパティーバインディング(Camel 2.x)または新しいプロパティーバインディングを追加機能と共に使用するかどうか。

false

MEDIUM

camel.component.aws2-s3.accessKey

Amazon AWS Access Key

null

MEDIUM

camel.component.aws2-s3.secretKey

Amazon AWS Secret Key

null

MEDIUM

camel-aws2-s3 シンクコネクターは、以下に示すそのまま使えるコンバーターを 1 つサポートします。

org.apache.camel.kafkaconnector.aws2s3.converters.S3ObjectConverter

camel-aws2-s3 シンクコネクターにはそのまま使える transforms がありません。

camel-aws2-s3 シンクコネクターにはそのまま使える集約ストラテジーがありません。

5.5. camel-aws2-sns-kafka-connector のシンク設定

camel-aws2-sns-kafka-connector をシンクとして使用する場合、以下の Maven 依存関係を使用してコネクターをサポートするようにしてください。

<dependency>
  <groupId>org.apache.camel.kafkaconnector</groupId>
  <artifactId>camel-aws2-sns-kafka-connector</artifactId>
  <version>x.x.x</version>
  <!-- use the same version as your Camel Kafka connector version -->
</dependency>

Kafka コネクションでこのシンクコネクターを使用するには、以下の connector.class を設定する必要があります。

connector.class=org.apache.camel.kafkaconnector.aws2sns.CamelAws2snsSinkConnector

camel-aws2-sns シンクコネクターは、以下に示す 42 オプションをサポートします。

名前説明デフォルトPriority

camel.sink.path.topicNameOrArn

TOPIC 名または ARN。

null

HIGH

camel.sink.endpoint.amazonSNSClient

AmazonSNS をクライアントとして使用します。

null

MEDIUM

camel.sink.endpoint.autoCreateTopic

トピックの自動作成を設定します。

true

MEDIUM

camel.sink.endpoint.autoDiscoverClient

自動DiscoverClient メカニズムを設定すること(true の場合)、コンポーネントはレジストリー内でクライアントインスタンスを自動的に検索します。そうでないと、そのチェックはスキップされます。

true

MEDIUM

camel.sink.endpoint.headerFilterStrategy

カスタムの HeaderFilterStrategy を使用して、ヘッダーから Camel または Camel からヘッダーにマッピングします。

null

MEDIUM

camel.sink.endpoint.kmsMasterKeyId

Amazon SNS の AWS 管理のカスタマーマスターキー (CMK) の ID またはカスタム CMK の ID。

null

MEDIUM

camel.sink.endpoint.lazyStartProducer

最初のメッセージでプロデューサーをレイジーに起動すべきかどうか。レイジーに起動することで、起動時にプロデューサーが失敗し、それによりルートが失敗する可能性がある状況で、CamelContext およびルートの起動を許可します。レイジーな起動を延期すると、Camel のルーティングエラーハンドラー経由でメッセージのルーティング中に起動の失敗を処理できます。最初のメッセージが処理されるときに、プロデューサーの作成および起動に若干時間がかかり、合計処理時間が長くなる可能性があることに注意してください。

false

MEDIUM

camel.sink.endpoint.messageStructure

json などの使用するメッセージ構造。

null

MEDIUM

camel.sink.endpoint.policy

このキューのポリシー

null

MEDIUM

camel.sink.endpoint.proxyHost

SNS クライアントをインスタンス化するときにプロキシーホストを定義します。

null

MEDIUM

camel.sink.endpoint.proxyPort

SNS クライアントをインスタンス化するときにプロキシーポートを定義します。

null

MEDIUM

camel.sink.endpoint.proxyProtocol

SNS クライアントをインスタンス化する際にプロキシープロトコルを定義します。[HTTP] または [HTTPS] のいずれか。

"HTTPS"

MEDIUM

camel.sink.endpoint.queueUrl

サブスクライブする queueUrl。

null

MEDIUM

camel.sink.endpoint.region

SNS クライアントが機能する必要があるリージョン。このパラメーターを使用する場合、設定には小文字のリージョン名を指定します (例 ap-east-1)。名前 Region.EU_WEST_1.id() を使用する必要があります。

null

MEDIUM

camel.sink.endpoint.serverSideEncryptionEnabled

サーバー側の暗号化がトピックで有効であるかどうかを定義します。

false

MEDIUM

camel.sink.endpoint.subject

メッセージヘッダー 'CamelAwsSnsSubject' が存在しない場合に使用されるサブジェクト。

null

MEDIUM

camel.sink.endpoint.subscribeSNStoSQS

SNS トピックと SQS との間のサブスクリプションを完了する必要があるかどうかを定義します。

false

MEDIUM

camel.sink.endpoint.trustAllCertificates

エンドポイントを上書きするときにすべての証明書を信頼する場合。

false

MEDIUM

camel.sink.endpoint.basicPropertyBinding

エンドポイントが基本プロパティーバインディング(Camel 2.x)または新しいプロパティーバインディングを追加機能と共に使用するかどうか。

false

MEDIUM

camel.sink.endpoint.synchronous

同期処理を厳密に使用するか、Camel が非同期処理を使用できるようにするかを設定します(サポートされている場合)。

false

MEDIUM

camel.sink.endpoint.accessKey

Amazon AWS Access Key

null

MEDIUM

camel.sink.endpoint.secretKey

Amazon AWS Secret Key

null

MEDIUM

camel.component.aws2-sns.amazonSNSClient

AmazonSNS をクライアントとして使用します。

null

MEDIUM

camel.component.aws2-sns.autoCreateTopic

トピックの自動作成を設定します。

true

MEDIUM

camel.component.aws2-sns.autoDiscoverClient

自動DiscoverClient メカニズムを設定すること(true の場合)、コンポーネントはレジストリー内でクライアントインスタンスを自動的に検索します。そうでないと、そのチェックはスキップされます。

true

MEDIUM

camel.component.aws2-sns.configuration

コンポーネントの設定

null

MEDIUM

camel.component.aws2-sns.kmsMasterKeyId

Amazon SNS の AWS 管理のカスタマーマスターキー (CMK) の ID またはカスタム CMK の ID。

null

MEDIUM

camel.component.aws2-sns.lazyStartProducer

最初のメッセージでプロデューサーをレイジーに起動すべきかどうか。レイジーに起動することで、起動時にプロデューサーが失敗し、それによりルートが失敗する可能性がある状況で、CamelContext およびルートの起動を許可します。レイジーな起動を延期すると、Camel のルーティングエラーハンドラー経由でメッセージのルーティング中に起動の失敗を処理できます。最初のメッセージが処理されるときに、プロデューサーの作成および起動に若干時間がかかり、合計処理時間が長くなる可能性があることに注意してください。

false

MEDIUM

camel.component.aws2-sns.messageStructure

json などの使用するメッセージ構造。

null

MEDIUM

camel.component.aws2-sns.policy

このキューのポリシー

null

MEDIUM

camel.component.aws2-sns.proxyHost

SNS クライアントをインスタンス化するときにプロキシーホストを定義します。

null

MEDIUM

camel.component.aws2-sns.proxyPort

SNS クライアントをインスタンス化するときにプロキシーポートを定義します。

null

MEDIUM

camel.component.aws2-sns.proxyProtocol

SNS クライアントをインスタンス化する際にプロキシープロトコルを定義します。[HTTP] または [HTTPS] のいずれか。

"HTTPS"

MEDIUM

camel.component.aws2-sns.queueUrl

サブスクライブする queueUrl。

null

MEDIUM

camel.component.aws2-sns.region

SNS クライアントが機能する必要があるリージョン。このパラメーターを使用する場合、設定には小文字のリージョン名を指定します (例 ap-east-1)。名前 Region.EU_WEST_1.id() を使用する必要があります。

null

MEDIUM

camel.component.aws2-sns.serverSideEncryption Enabled

サーバー側の暗号化がトピックで有効であるかどうかを定義します。

false

MEDIUM

camel.component.aws2-sns.subject

メッセージヘッダー 'CamelAwsSnsSubject' が存在しない場合に使用されるサブジェクト。

null

MEDIUM

camel.component.aws2-sns.subscribeSNStoSQS

SNS トピックと SQS との間のサブスクリプションを完了する必要があるかどうかを定義します。

false

MEDIUM

camel.component.aws2-sns.trustAllCertificates

エンドポイントを上書きするときにすべての証明書を信頼する場合。

false

MEDIUM

camel.component.aws2-sns.basicPropertyBinding

コンポーネントの基本的なプロパティーバインディング(Camel 2.x)または新しいプロパティーバインディングを追加機能と共に使用するかどうか。

false

MEDIUM

camel.component.aws2-sns.accessKey

Amazon AWS Access Key

null

MEDIUM

camel.component.aws2-sns.secretKey

Amazon AWS Secret Key

null

MEDIUM

camel-aws2-sns シンクコネクターには、そのまま使えるコンバーターがありません。

camel-aws2-sns シンクコネクターには、そのまま使える transforms がありません。

camel-aws2-sns シンクコネクターにはそのまま使える集約ストラテジーがありません。

5.6. camel-aws2-sqs-kafka-connector のシンク設定

camel-aws2-sqs-kafka-connector をシンクとして使用する場合、以下の Maven 依存関係を使用してコネクターをサポートするようにしてください。

<dependency>
  <groupId>org.apache.camel.kafkaconnector</groupId>
  <artifactId>camel-aws2-sqs-kafka-connector</artifactId>
  <version>x.x.x</version>
  <!-- use the same version as your Camel Kafka connector version -->
</dependency>

Kafka コネクションでこのシンクコネクターを使用するには、以下の connector.class を設定する必要があります。

connector.class=org.apache.camel.kafkaconnector.aws2sqs.CamelAws2sqsSinkConnector

camel-aws2-sqs シンクコネクターは、以下に示す 56 個のオプションをサポートします。

名前説明デフォルトPriority

camel.sink.path.queueNameOrArn

キュー名または ARN。

null

HIGH

camel.sink.endpoint.amazonAWSHost

Amazon AWS クラウドのホスト名。

"amazonaws.com"

MEDIUM

camel.sink.endpoint.amazonSQSClient

AmazonSQS をクライアントとして使用します。

null

MEDIUM

camel.sink.endpoint.autoCreateQueue

キューの自動作成の設定。

true

MEDIUM

camel.sink.endpoint.autoDiscoverClient

自動DiscoverClient メカニズムを設定すること(true の場合)、コンポーネントはレジストリー内でクライアントインスタンスを自動的に検索します。そうでないと、そのチェックはスキップされます。

true

MEDIUM

camel.sink.endpoint.headerFilterStrategy

カスタムの HeaderFilterStrategy を使用して、ヘッダーから Camel または Camel からヘッダーにマッピングします。

null

MEDIUM

camel.sink.endpoint.protocol

SQS との通信に使用される基礎となるプロトコル。

"https"

MEDIUM

camel.sink.endpoint.proxyProtocol

SQS クライアントをインスタンス化する際にプロキシープロトコルを定義します。[HTTP] または [HTTPS] のいずれか。

"HTTPS"

MEDIUM

camel.sink.endpoint.queueOwnerAWSAccountId

異なるアカウント所有者でキューを接続する必要がある場合は、キュー所有者の aws アカウント ID を指定します。

null

MEDIUM

camel.sink.endpoint.region

SQS クライアントが機能する必要があるリージョン。このパラメーターを使用する場合、設定には小文字のリージョン名を指定します (例 ap-east-1)。名前 Region.EU_WEST_1.id() を使用する必要があります。

null

MEDIUM

camel.sink.endpoint.trustAllCertificates

エンドポイントを上書きするときにすべての証明書を信頼する場合。

false

MEDIUM

camel.sink.endpoint.delaySeconds

数秒間メッセージの送信を遅延します。

null

MEDIUM

camel.sink.endpoint.lazyStartProducer

最初のメッセージでプロデューサーをレイジーに起動すべきかどうか。レイジーに起動することで、起動時にプロデューサーが失敗し、それによりルートが失敗する可能性がある状況で、CamelContext およびルートの起動を許可します。レイジーな起動を延期すると、Camel のルーティングエラーハンドラー経由でメッセージのルーティング中に起動の失敗を処理できます。最初のメッセージが処理されるときに、プロデューサーの作成および起動に若干時間がかかり、合計処理時間が長くなる可能性があることに注意してください。

false

MEDIUM

camel.sink.endpoint.messageDeduplicationIdStrategy

FIFOキューの場合のみ。メッセージに messageDeduplicationId を設定するストラテジー。useExchangeId または useContentBasedDeduplication のいずれかをオプションとして使用できます。useContentBasedDeduplication オプションでは、メッセージに messageDeduplicationId が設定されません。 [useExchangeId] または [useContentBasedDeduplication] のいずれか。

"useExchangeId"

MEDIUM

camel.sink.endpoint.messageGroupIdStrategy

FIFOキューの場合のみ。メッセージに messageGroupId を設定するストラテジー。useConstant、useExchangeId、usePropertyValue のいずれかをオプションとして使用できます。usePropertyValue オプションでは、CamelAwsMessageGroupId プロパティーの値が使用されます。[useConstant]、[useExchangeId]、[usePropertyValue] のいずれか。

null

MEDIUM

camel.sink.endpoint.operation

ユーザーがメッセージ 1 つだけを送信したくない場合に実行する操作。[sendBatchMessage]、[deleteMessage]、[listQueues]、[purgeQueue] のいずれか。

null

MEDIUM

camel.sink.endpoint.basicPropertyBinding

エンドポイントが基本プロパティーバインディング(Camel 2.x)または新しいプロパティーバインディングを追加機能と共に使用するかどうか。

false

MEDIUM

camel.sink.endpoint.delayQueue

delaySeconds オプションをキューまたは単一のメッセージに適用するかどうかを定義します。

false

MEDIUM

camel.sink.endpoint.queueUrl

queueUrl を明示的に定義します。queueUrl に影響を与えるその他のパラメーターはすべて無視されます。このパラメーターは、テストのために SQS の仮実装 (モック) に接続すること目的としています。

null

MEDIUM

camel.sink.endpoint.synchronous

同期処理を厳密に使用するか、Camel が非同期処理を使用できるようにするかを設定します(サポートされている場合)。

false

MEDIUM

camel.sink.endpoint.proxyHost

SQS クライアントをインスタンス化するときにプロキシーホストを定義します。

null

MEDIUM

camel.sink.endpoint.proxyPort

SQS クライアントをインスタンス化するときにプロキシーポートを定義します。

null

MEDIUM

camel.sink.endpoint.maximumMessageSize

SQS メッセージに含まれる最大MessageSize(バイト単位)。

null

MEDIUM

camel.sink.endpoint.messageRetentionPeriod

messageRetentionPeriod(秒単位)は、このキューの SQS によってメッセージが保持されます。

null

MEDIUM

camel.sink.endpoint.policy

このキューのポリシー

null

MEDIUM

camel.sink.endpoint.receiveMessageWaitTimeSeconds

要求で WaitTimeSeconds を指定しない場合、キュー属性 ReceiveMessageWaitTimeSeconds を使用して待機する期間を決定します。

null

MEDIUM

camel.sink.endpoint.redrivePolicy

DeadLetter キューに送信するポリシーを指定します。詳細は、Amazon ドキュメント を参照してください。

null

MEDIUM

camel.sink.endpoint.accessKey

Amazon AWS Access Key

null

MEDIUM

camel.sink.endpoint.secretKey

Amazon AWS Secret Key

null

MEDIUM

camel.component.aws2-sqs.amazonAWSHost

Amazon AWS クラウドのホスト名。

"amazonaws.com"

MEDIUM

camel.component.aws2-sqs.amazonSQSClient

AmazonSQS をクライアントとして使用します。

null

MEDIUM

camel.component.aws2-sqs.autoCreateQueue

キューの自動作成の設定。

true

MEDIUM

camel.component.aws2-sqs.autoDiscoverClient

自動DiscoverClient メカニズムを設定すること(true の場合)、コンポーネントはレジストリー内でクライアントインスタンスを自動的に検索します。そうでないと、そのチェックはスキップされます。

true

MEDIUM

camel.component.aws2-sqs.configuration

AWS SQS のデフォルト設定

null

MEDIUM

camel.component.aws2-sqs.protocol

SQS との通信に使用される基礎となるプロトコル。

"https"

MEDIUM

camel.component.aws2-sqs.proxyProtocol

SQS クライアントをインスタンス化する際にプロキシープロトコルを定義します。[HTTP] または [HTTPS] のいずれか。

"HTTPS"

MEDIUM

camel.component.aws2-sqs.queueOwnerAWSAccountId

異なるアカウント所有者でキューを接続する必要がある場合は、キュー所有者の aws アカウント ID を指定します。

null

MEDIUM

camel.component.aws2-sqs.region

SQS クライアントが機能する必要があるリージョン。このパラメーターを使用する場合、設定には小文字のリージョン名を指定します (例 ap-east-1)。名前 Region.EU_WEST_1.id() を使用する必要があります。

null

MEDIUM

camel.component.aws2-sqs.trustAllCertificates

エンドポイントを上書きするときにすべての証明書を信頼する場合。

false

MEDIUM

camel.component.aws2-sqs.delaySeconds

数秒間メッセージの送信を遅延します。

null

MEDIUM

camel.component.aws2-sqs.lazyStartProducer

最初のメッセージでプロデューサーをレイジーに起動すべきかどうか。レイジーに起動することで、起動時にプロデューサーが失敗し、それによりルートが失敗する可能性がある状況で、CamelContext およびルートの起動を許可します。レイジーな起動を延期すると、Camel のルーティングエラーハンドラー経由でメッセージのルーティング中に起動の失敗を処理できます。最初のメッセージが処理されるときに、プロデューサーの作成および起動に若干時間がかかり、合計処理時間が長くなる可能性があることに注意してください。

false

MEDIUM

camel.component.aws2-sqs.messageDeduplicationId Strategy

FIFOキューの場合のみ。メッセージに messageDeduplicationId を設定するストラテジー。useExchangeId または useContentBasedDeduplication のいずれかをオプションとして使用できます。useContentBasedDeduplication オプションでは、メッセージに messageDeduplicationId が設定されません。 [useExchangeId] または [useContentBasedDeduplication] のいずれか。

"useExchangeId"

MEDIUM

camel.component.aws2-sqs.messageGroupIdStrategy

FIFOキューの場合のみ。メッセージに messageGroupId を設定するストラテジー。useConstant、useExchangeId、usePropertyValue のいずれかをオプションとして使用できます。usePropertyValue オプションでは、CamelAwsMessageGroupId プロパティーの値が使用されます。[useConstant]、[useExchangeId]、[usePropertyValue] のいずれか。

null

MEDIUM

camel.component.aws2-sqs.operation

ユーザーがメッセージ 1 つだけを送信したくない場合に実行する操作。[sendBatchMessage]、[deleteMessage]、[listQueues]、[purgeQueue] のいずれか。

null

MEDIUM

camel.component.aws2-sqs.basicPropertyBinding

コンポーネントの基本的なプロパティーバインディング(Camel 2.x)または新しいプロパティーバインディングを追加機能と共に使用するかどうか。

false

MEDIUM

camel.component.aws2-sqs.delayQueue

delaySeconds オプションをキューまたは単一のメッセージに適用するかどうかを定義します。

false

MEDIUM

camel.component.aws2-sqs.queueUrl

queueUrl を明示的に定義します。queueUrl に影響を与えるその他のパラメーターはすべて無視されます。このパラメーターは、テストのために SQS の仮実装 (モック) に接続すること目的としています。

null

MEDIUM

camel.component.aws2-sqs.proxyHost

SQS クライアントをインスタンス化するときにプロキシーホストを定義します。

null

MEDIUM

camel.component.aws2-sqs.proxyPort

SQS クライアントをインスタンス化するときにプロキシーポートを定義します。

null

MEDIUM

camel.component.aws2-sqs.maximumMessageSize

SQS メッセージに含まれる最大MessageSize(バイト単位)。

null

MEDIUM

camel.component.aws2-sqs.messageRetentionPeriod

messageRetentionPeriod(秒単位)は、このキューの SQS によってメッセージが保持されます。

null

MEDIUM

camel.component.aws2-sqs.policy

このキューのポリシー

null

MEDIUM

camel.component.aws2-sqs.receiveMessageWaitTime Seconds

要求で WaitTimeSeconds を指定しない場合、キュー属性 ReceiveMessageWaitTimeSeconds を使用して待機する期間を決定します。

null

MEDIUM

camel.component.aws2-sqs.redrivePolicy

DeadLetter キューに送信するポリシーを指定します。詳細は、Amazon ドキュメント を参照してください。

null

MEDIUM

camel.component.aws2-sqs.accessKey

Amazon AWS Access Key

null

MEDIUM

camel.component.aws2-sqs.secretKey

Amazon AWS Secret Key

null

MEDIUM

camel-aws2-sqs シンクコネクターには、そのまま使えるコンバーターがありません。

camel-aws2-sqs シンクコネクターには、そのまま使える transforms がありません。

camel-aws2-sqs シンクコネクターにはそのまま使える集約ストラテジーがありません。

5.7. camel-aws2-sqs-kafka-connector source configuration

camel-aws2-sqs-kafka-connector をソースとして使用する場合、以下の Maven 依存関係を使用してコネクターをサポートするようにしてください。

<dependency>
  <groupId>org.apache.camel.kafkaconnector</groupId>
  <artifactId>camel-aws2-sqs-kafka-connector</artifactId>
  <version>x.x.x</version>
  <!-- use the same version as your Camel Kafka connector version -->
</dependency>

Kafka コネクションでこのソースコネクターを使用するには、以下の connector.class を設定する必要があります。

connector.class=org.apache.camel.kafkaconnector.aws2sqs.CamelAws2sqsSourceConnector

camel-aws2-sqs ソースコネクターは、以下に示す 91 オプションをサポートします。

名前説明デフォルトPriority

camel.source.path.queueNameOrArn

キュー名または ARN。

null

HIGH

camel.source.endpoint.amazonAWSHost

Amazon AWS クラウドのホスト名。

"amazonaws.com"

MEDIUM

camel.source.endpoint.amazonSQSClient

AmazonSQS をクライアントとして使用します。

null

MEDIUM

camel.source.endpoint.autoCreateQueue

キューの自動作成の設定。

true

MEDIUM

camel.source.endpoint.autoDiscoverClient

自動DiscoverClient メカニズムを設定すること(true の場合)、コンポーネントはレジストリー内でクライアントインスタンスを自動的に検索します。そうでないと、そのチェックはスキップされます。

true

MEDIUM

camel.source.endpoint.headerFilterStrategy

カスタムの HeaderFilterStrategy を使用して、ヘッダーから Camel または Camel からヘッダーにマッピングします。

null

MEDIUM

camel.source.endpoint.protocol

SQS との通信に使用される基礎となるプロトコル。

"https"

MEDIUM

camel.source.endpoint.proxyProtocol

SQS クライアントをインスタンス化する際にプロキシープロトコルを定義します。[HTTP] または [HTTPS] のいずれか。

"HTTPS"

MEDIUM

camel.source.endpoint.queueOwnerAWSAccountId

異なるアカウント所有者でキューを接続する必要がある場合は、キュー所有者の aws アカウント ID を指定します。

null

MEDIUM

camel.source.endpoint.region

SQS クライアントが機能する必要があるリージョン。このパラメーターを使用する場合、設定には小文字のリージョン名を指定します (例 ap-east-1)。名前 Region.EU_WEST_1.id() を使用する必要があります。

null

MEDIUM

camel.source.endpoint.trustAllCertificates

エンドポイントを上書きするときにすべての証明書を信頼する場合。

false

MEDIUM

camel.source.endpoint.attributeNames

消費時に受け取る属性名のリスト。複数の名前はコンマで区切ることができます。

null

MEDIUM

camel.source.endpoint.bridgeErrorHandler

コンシューマーの Camel ルーティングエラーハンドラーへのブリッジを許可します。よって、コンシューマーが受信メッセージなどの取得を試行している間に発生した例外は、メッセージとして処理され、ルーティングエラーハンドラーによって処理されます。デフォルトでは、コンシューマーは org.apache.camel.spi.ExceptionHandler を使用して例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。

false

MEDIUM

camel.source.endpoint.concurrentConsumers

複数のスレッドを使用して sqs キューをポーリングしてスループットを高めることが可能

1

MEDIUM

camel.source.endpoint.defaultVisibilityTimeout

デフォルトの可視性タイムアウト(秒単位)

null

MEDIUM

camel.source.endpoint.deleteAfterRead

読み取り後に SQS からメッセージを削除します。

true

MEDIUM

camel.source.endpoint.deleteIfFiltered

エクスチェンジがフィルターを経由できない場合は DeleteMessage を SQS キューに送信するかどうか。'false' とエクスチェンジがルートの Camel フィルターアップストリームを介して行われない場合は、DeleteMessage を送信しないでください。

true

MEDIUM

camel.source.endpoint.extendMessageVisibility

有効にすると、スケジュールされたバックグラウンドタスクでは SQS のメッセージの表示が維持されます。これは、メッセージの処理に長い時間がかかる場合に必要です。true に設定した場合は、defaultVisibilityTimeout を設定する必要があります。詳細は、Amazon ドキュメント を参照してください。

false

MEDIUM

camel.source.endpoint.kmsDataKeyReusePeriodSeconds

Amazon SQS がデータキーを再利用して、AWS KMS を再度呼び出す前にメッセージを暗号化または復号化できる期間(秒単位)。60 秒から 86,400 秒(24 時間)までの秒数を表します。デフォルト: 300(5 分)

null

MEDIUM

camel.source.endpoint.kmsMasterKeyId

Amazon SQS の AWS 管理のカスタマーマスターキー(CMK)の ID またはカスタム CMK の ID。

null

MEDIUM

camel.source.endpoint.maxMessagesPerPoll

各ポーリングのポーリング制限としてメッセージの最大数を取得します。デフォルトは無制限ですが、0 または負の値を使用して無制限として無効にします。

null

MEDIUM

camel.source.endpoint.messageAttributeNames

消費時に受信するメッセージ属性名のリスト。複数の名前はコンマで区切ることができます。

null

MEDIUM

camel.source.endpoint.sendEmptyMessageWhenIdle

ポーリングコンシューマーがファイルをポーリングしなかった場合、このオプションを有効にして、代わりに空のメッセージ (ボディーなし) を送信できます。

false

MEDIUM

camel.source.endpoint.serverSideEncryptionEnabled

サーバー側の暗号化がキューで有効になっているかどうかを定義します。

false

MEDIUM

camel.source.endpoint.visibilityTimeout

com.amazonaws.services.sqs.model.SetQueueAttributesRequest に設定される ReceiveMessage リクエストによって取得された後、受信したメッセージが後続の取得リクエストから表示されない期間(秒単位)。これは、defaultVisibilityTimeout とは異なる場合にのみ有効です。キューの可視性のタイムアウト属性を永続的に変更します。

null

MEDIUM

camel.source.endpoint.waitTimeSeconds

ReceiveMessage アクション呼び出しが応答に含めるキューにメッセージが待機する期間(0 から 20)。

null

MEDIUM

camel.source.endpoint.exceptionHandler

コンシューマーによるカスタム ExceptionHandler の使用を許可します。bridgeErrorHandler オプションが有効な場合は、このオプションは使用されないことに注意してください。デフォルトでは、コンシューマーは例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。

null

MEDIUM

camel.source.endpoint.exchangePattern

コンシューマーがエクスチェンジを作成する際に交換パターンを設定します。[InOnly]、[InOut]、[InOptionalOut] のいずれか。

null

MEDIUM

camel.source.endpoint.pollStrategy

プラグ可能な org.apache.camel.PollingConsumerPollingStrategy を使用すると、エクスチェンジが作成され、Camel でルーティングされる前に、通常はポーリング操作中に発生するエラー処理を制御するカスタム実装が提供できます。

null

MEDIUM

camel.source.endpoint.basicPropertyBinding

エンドポイントが基本プロパティーバインディング(Camel 2.x)または新しいプロパティーバインディングを追加機能と共に使用するかどうか。

false

MEDIUM

camel.source.endpoint.delayQueue

delaySeconds オプションをキューまたは単一のメッセージに適用するかどうかを定義します。

false

MEDIUM

camel.source.endpoint.queueUrl

queueUrl を明示的に定義します。queueUrl に影響を与えるその他のパラメーターはすべて無視されます。このパラメーターは、テストのために SQS の仮実装 (モック) に接続すること目的としています。

null

MEDIUM

camel.source.endpoint.synchronous

同期処理を厳密に使用するか、Camel が非同期処理を使用できるようにするかを設定します(サポートされている場合)。

false

MEDIUM

camel.source.endpoint.proxyHost

SQS クライアントをインスタンス化するときにプロキシーホストを定義します。

null

MEDIUM

camel.source.endpoint.proxyPort

SQS クライアントをインスタンス化するときにプロキシーポートを定義します。

null

MEDIUM

camel.source.endpoint.maximumMessageSize

SQS メッセージに含まれる最大MessageSize(バイト単位)。

null

MEDIUM

camel.source.endpoint.messageRetentionPeriod

messageRetentionPeriod(秒単位)は、このキューの SQS によってメッセージが保持されます。

null

MEDIUM

camel.source.endpoint.policy

このキューのポリシー

null

MEDIUM

camel.source.endpoint.receiveMessageWaitTime Seconds

要求で WaitTimeSeconds を指定しない場合、キュー属性 ReceiveMessageWaitTimeSeconds を使用して待機する期間を決定します。

null

MEDIUM

camel.source.endpoint.redrivePolicy

DeadLetter キューに送信するポリシーを指定します。詳細は、Amazon ドキュメント を参照してください。

null

MEDIUM

camel.source.endpoint.backoffErrorThreshold

backoffMultipler が開始する前に発生する必要がある後続のエラーポーリング (エラーによって失敗した) の数。

null

MEDIUM

camel.source.endpoint.backoffIdleThreshold

backoffMultipler が開始する前に発生する必要がある後続のアイドルポーリングの数。

null

MEDIUM

camel.source.endpoint.backoffMultiplier

後続のアイドル状態/エラーが連続して発生した場合に、スケジュールされたポーリングコンシューマーのバックオフを許可します。乗数は、実際に次の試行が行われる前にスキップされるポーリングの数です。このオプションが使用されている場合は、backoffIdleThreshold や backoffErrorThreshold も設定する必要があります。

null

MEDIUM

camel.source.endpoint.delay

次のポーリングまでの時間 (ミリ秒単位)。

500L

MEDIUM

camel.source.endpoint.greedy

greedy が有効で、以前の実行が 1 つ以上のメッセージをポーリングした場合、ScheduledPollConsumer は即座に再度実行されます。

false

MEDIUM

camel.source.endpoint.initialDelay

最初のポーリングが開始されるまでの時間 (ミリ秒単位)。

1000L

MEDIUM

camel.source.endpoint.repeatCount

実行の最大数を指定します。そのため、これを 1 に設定するとスケジューラーは 1 度だけ実行されます。これを 5 に設定した場合、5 回だけ実行されます。0 または負の値を設定すると、無制限に実行されます。

0L

MEDIUM

camel.source.endpoint.runLoggingLevel

コンシューマーはポーリング時に開始/完了のログ行を記録します。このオプションを使用すると、ログレベルを設定できます。[TRACE]、[DEBUG]、[INFO]、[WARN]、[ERROR]、[OFF] のいずれか。

"TRACE"

MEDIUM

camel.source.endpoint.scheduledExecutorService

コンシューマーに使用するカスタム/共有スレッドプールを設定できます。デフォルトでは、各コンシューマーに独自の単一スレッドのスレッドプールがあります。

null

MEDIUM

camel.source.endpoint.scheduler

camel-spring または camel-quartz コンポーネントから cron スケジューラーを使用します。スケジューラーにビルドされた値 spring または quartz を使用。

"none"

MEDIUM

camel.source.endpoint.schedulerProperties

カスタムスケジューラーまたは Quartz や Spring ベースのスケジューラーを使用する場合に、追加のプロパティーを設定します。

null

MEDIUM

camel.source.endpoint.startScheduler

スケジューラーを自動起動するかどうか。

true

MEDIUM

camel.source.endpoint.timeUnit

initialDelay および delay オプションの時間単位。[NANOSECONDS]、[MICROSECONDS]、[MILLISECONDS]、[SECONDS]、[MINUTES]、[HOURS]、[DAYS] のいずれか。

"MILLISECONDS"

MEDIUM

camel.source.endpoint.useFixedDelay

固定遅延または固定レートを使用するかどうかを制御します。詳細は、JDK の ScheduledExecutorService を参照してください。

true

MEDIUM

camel.source.endpoint.accessKey

Amazon AWS Access Key

null

MEDIUM

camel.source.endpoint.secretKey

Amazon AWS Secret Key

null

MEDIUM

camel.component.aws2-sqs.amazonAWSHost

Amazon AWS クラウドのホスト名。

"amazonaws.com"

MEDIUM

camel.component.aws2-sqs.amazonSQSClient

AmazonSQS をクライアントとして使用します。

null

MEDIUM

camel.component.aws2-sqs.autoCreateQueue

キューの自動作成の設定。

true

MEDIUM

camel.component.aws2-sqs.autoDiscoverClient

自動DiscoverClient メカニズムを設定すること(true の場合)、コンポーネントはレジストリー内でクライアントインスタンスを自動的に検索します。そうでないと、そのチェックはスキップされます。

true

MEDIUM

camel.component.aws2-sqs.configuration

AWS SQS のデフォルト設定

null

MEDIUM

camel.component.aws2-sqs.protocol

SQS との通信に使用される基礎となるプロトコル。

"https"

MEDIUM

camel.component.aws2-sqs.proxyProtocol

SQS クライアントをインスタンス化する際にプロキシープロトコルを定義します。[HTTP] または [HTTPS] のいずれか。

"HTTPS"

MEDIUM

camel.component.aws2-sqs.queueOwnerAWSAccountId

異なるアカウント所有者でキューを接続する必要がある場合は、キュー所有者の aws アカウント ID を指定します。

null

MEDIUM

camel.component.aws2-sqs.region

SQS クライアントが機能する必要があるリージョン。このパラメーターを使用する場合、設定には小文字のリージョン名を指定します (例 ap-east-1)。名前 Region.EU_WEST_1.id() を使用する必要があります。

null

MEDIUM

camel.component.aws2-sqs.trustAllCertificates

エンドポイントを上書きするときにすべての証明書を信頼する場合。

false

MEDIUM

camel.component.aws2-sqs.attributeNames

消費時に受け取る属性名のリスト。複数の名前はコンマで区切ることができます。

null

MEDIUM

camel.component.aws2-sqs.bridgeErrorHandler

コンシューマーの Camel ルーティングエラーハンドラーへのブリッジを許可します。よって、コンシューマーが受信メッセージなどの取得を試行している間に発生した例外は、メッセージとして処理され、ルーティングエラーハンドラーによって処理されます。デフォルトでは、コンシューマーは org.apache.camel.spi.ExceptionHandler を使用して例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。

false

MEDIUM

camel.component.aws2-sqs.concurrentConsumers

複数のスレッドを使用して sqs キューをポーリングしてスループットを高めることが可能

1

MEDIUM

camel.component.aws2-sqs.defaultVisibilityTimeout

デフォルトの可視性タイムアウト(秒単位)

null

MEDIUM

camel.component.aws2-sqs.deleteAfterRead

読み取り後に SQS からメッセージを削除します。

true

MEDIUM

camel.component.aws2-sqs.deleteIfFiltered

エクスチェンジがフィルターを経由できない場合は DeleteMessage を SQS キューに送信するかどうか。'false' とエクスチェンジがルートの Camel フィルターアップストリームを介して行われない場合は、DeleteMessage を送信しないでください。

true

MEDIUM

camel.component.aws2-sqs.extendMessageVisibility

有効にすると、スケジュールされたバックグラウンドタスクでは SQS のメッセージの表示が維持されます。これは、メッセージの処理に長い時間がかかる場合に必要です。true に設定した場合は、defaultVisibilityTimeout を設定する必要があります。詳細は、Amazon ドキュメント を参照してください。

false

MEDIUM

camel.component.aws2-sqs.kmsDataKeyReusePeriod Seconds

Amazon SQS がデータキーを再利用して、AWS KMS を再度呼び出す前にメッセージを暗号化または復号化できる期間(秒単位)。60 秒から 86,400 秒(24 時間)までの秒数を表します。デフォルト: 300(5 分)

null

MEDIUM

camel.component.aws2-sqs.kmsMasterKeyId

Amazon SQS の AWS 管理のカスタマーマスターキー(CMK)の ID またはカスタム CMK の ID。

null

MEDIUM

camel.component.aws2-sqs.messageAttributeNames

消費時に受信するメッセージ属性名のリスト。複数の名前はコンマで区切ることができます。

null

MEDIUM

camel.component.aws2-sqs.serverSideEncryption Enabled

サーバー側の暗号化がキューで有効になっているかどうかを定義します。

false

MEDIUM

camel.component.aws2-sqs.visibilityTimeout

com.amazonaws.services.sqs.model.SetQueueAttributesRequest に設定される ReceiveMessage リクエストによって取得された後、受信したメッセージが後続の取得リクエストから表示されない期間(秒単位)。これは、defaultVisibilityTimeout とは異なる場合にのみ有効です。キューの可視性のタイムアウト属性を永続的に変更します。

null

MEDIUM

camel.component.aws2-sqs.waitTimeSeconds

ReceiveMessage アクション呼び出しが応答に含めるキューにメッセージが待機する期間(0 から 20)。

null

MEDIUM

camel.component.aws2-sqs.basicPropertyBinding

コンポーネントの基本的なプロパティーバインディング(Camel 2.x)または新しいプロパティーバインディングを追加機能と共に使用するかどうか。

false

MEDIUM

camel.component.aws2-sqs.delayQueue

delaySeconds オプションをキューまたは単一のメッセージに適用するかどうかを定義します。

false

MEDIUM

camel.component.aws2-sqs.queueUrl

queueUrl を明示的に定義します。queueUrl に影響を与えるその他のパラメーターはすべて無視されます。このパラメーターは、テストのために SQS の仮実装 (モック) に接続すること目的としています。

null

MEDIUM

camel.component.aws2-sqs.proxyHost

SQS クライアントをインスタンス化するときにプロキシーホストを定義します。

null

MEDIUM

camel.component.aws2-sqs.proxyPort

SQS クライアントをインスタンス化するときにプロキシーポートを定義します。

null

MEDIUM

camel.component.aws2-sqs.maximumMessageSize

SQS メッセージに含まれる最大MessageSize(バイト単位)。

null

MEDIUM

camel.component.aws2-sqs.messageRetentionPeriod

messageRetentionPeriod(秒単位)は、このキューの SQS によってメッセージが保持されます。

null

MEDIUM

camel.component.aws2-sqs.policy

このキューのポリシー

null

MEDIUM

camel.component.aws2-sqs.receiveMessageWaitTime Seconds

要求で WaitTimeSeconds を指定しない場合、キュー属性 ReceiveMessageWaitTimeSeconds を使用して待機する期間を決定します。

null

MEDIUM

camel.component.aws2-sqs.redrivePolicy

DeadLetter キューに送信するポリシーを指定します。詳細は、Amazon ドキュメント を参照してください。

null

MEDIUM

camel.component.aws2-sqs.accessKey

Amazon AWS Access Key

null

MEDIUM

camel.component.aws2-sqs.secretKey

Amazon AWS Secret Key

null

MEDIUM

camel-aws2-sqs シンクコネクターには、そのまま使えるコンバーターがありません。

camel-aws2-sqs シンクコネクターには、そのまま使える transforms がありません。

camel-aws2-sqs シンクコネクターにはそのまま使える集約ストラテジーがありません。

5.8. camel-cql-kafka-connector のシンク設定

camel-cql-kafka-connector をシンクとして使用する場合、以下の Maven 依存関係を使用してコネクターをサポートするようにしてください。

<dependency>
  <groupId>org.apache.camel.kafkaconnector</groupId>
  <artifactId>camel-cql-kafka-connector</artifactId>
  <version>x.x.x</version>
  <!-- use the same version as your Camel Kafka connector version -->
</dependency>

Kafka コネクションでこのシンクコネクターを使用するには、以下の connector.class を設定する必要があります。

connector.class=org.apache.camel.kafkaconnector.cql.CamelCqlSinkConnector

camel-cql シンクコネクターは、以下に示す 19 個のオプションをサポートします。

名前説明デフォルトPriority

camel.sink.path.beanRef

beanRef は bean:id を使用して定義されます。

null

MEDIUM

camel.sink.path.hosts

hostname(s)cassansdra server(s)複数のホストはコンマで区切ることができます。

null

MEDIUM

camel.sink.path.port

cassansdra サーバーのポート番号

null

MEDIUM

camel.sink.path.keyspace

使用するキースペース

null

MEDIUM

camel.sink.endpoint.clusterName

Cluster name

null

MEDIUM

camel.sink.endpoint.consistencyLevel

[ANY] [ONE]、[ONE]、[THREE]、[QUORUM]、[ALL]、[LOCAL_ONE]、[LOCAL_QUORUM]、[EACH_QUORUM]、[SERIAL]、[LOCAL_SERIAL] のいずれかを使用する整合性レベル。

null

MEDIUM

camel.sink.endpoint.cql

実行する CQL クエリー。CamelCqlQuery キーでメッセージヘッダーで上書きできます。

null

MEDIUM

camel.sink.endpoint.datacenter

使用するデータセンター

"datacenter1"

MEDIUM

camel.sink.endpoint.loadBalancingPolicyClass

特定の LoadBalancingPolicyClass の使用

null

MEDIUM

camel.sink.endpoint.password

セッション認証のパスワード

null

MEDIUM

camel.sink.endpoint.prepareStatements

PreparedStatements または regular Statements を使用するかどうか

true

MEDIUM

camel.sink.endpoint.resultSetConversionStrategy

ResultSet をメッセージのボディー ALL、ONE、LIMIT_10、LIMIT_100…​ に変換するロジックを実装するカスタムクラスを使用するには、以下を実行します。

null

MEDIUM

camel.sink.endpoint.session

セッションインスタンスを使用する場合(通常はこのオプションを使用しません)。

null

MEDIUM

camel.sink.endpoint.username

セッション認証のユーザー名

null

MEDIUM

camel.sink.endpoint.lazyStartProducer

最初のメッセージでプロデューサーをレイジーに起動すべきかどうか。レイジーに起動することで、起動時にプロデューサーが失敗し、それによりルートが失敗する可能性がある状況で、CamelContext およびルートの起動を許可します。レイジーな起動を延期すると、Camel のルーティングエラーハンドラー経由でメッセージのルーティング中に起動の失敗を処理できます。最初のメッセージが処理されるときに、プロデューサーの作成および起動に若干時間がかかり、合計処理時間が長くなる可能性があることに注意してください。

false

MEDIUM

camel.sink.endpoint.basicPropertyBinding

エンドポイントが基本プロパティーバインディング(Camel 2.x)または新しいプロパティーバインディングを追加機能と共に使用するかどうか。

false

MEDIUM

camel.sink.endpoint.synchronous

同期処理を厳密に使用するか、Camel が非同期処理を使用できるようにするかを設定します(サポートされている場合)。

false

MEDIUM

camel.component.cql.lazyStartProducer

最初のメッセージでプロデューサーをレイジーに起動すべきかどうか。レイジーに起動することで、起動時にプロデューサーが失敗し、それによりルートが失敗する可能性がある状況で、CamelContext およびルートの起動を許可します。レイジーな起動を延期すると、Camel のルーティングエラーハンドラー経由でメッセージのルーティング中に起動の失敗を処理できます。最初のメッセージが処理されるときに、プロデューサーの作成および起動に若干時間がかかり、合計処理時間が長くなる可能性があることに注意してください。

false

MEDIUM

camel.component.cql.basicPropertyBinding

コンポーネントの基本的なプロパティーバインディング(Camel 2.x)または新しいプロパティーバインディングを追加機能と共に使用するかどうか。

false

MEDIUM

camel-cql シンクコネクターには、そのまま使えるコンバーターがありません。

camel-cql シンクコネクターにはそのまま使える変換がありません。

camel-cql シンクコネクターにはそのまま使える集約ストラテジーがありません。

5.9. camel-cql-kafka-connector ソース設定

camel-cql-kafka-connector をソースとして使用する場合、以下の Maven 依存関係を使用してコネクターをサポートするようにしてください。

<dependency>
  <groupId>org.apache.camel.kafkaconnector</groupId>
  <artifactId>camel-cql-kafka-connector</artifactId>
  <version>x.x.x</version>
  <!-- use the same version as your Camel Kafka connector version -->
</dependency>

Kafka コネクションでこのソースコネクターを使用するには、以下の connector.class を設定する必要があります。

connector.class=org.apache.camel.kafkaconnector.cql.CamelCqlSourceConnector

camel-cql ソースコネクターは、以下に示す 37 オプションをサポートします。

名前説明デフォルトPriority

camel.source.path.beanRef

beanRef は bean:id を使用して定義されます。

null

MEDIUM

camel.source.path.hosts

hostname(s)cassansdra server(s)複数のホストはコンマで区切ることができます。

null

MEDIUM

camel.source.path.port

cassansdra サーバーのポート番号

null

MEDIUM

camel.source.path.keyspace

使用するキースペース

null

MEDIUM

camel.source.endpoint.clusterName

Cluster name

null

MEDIUM

camel.source.endpoint.consistencyLevel

[ANY] [ONE]、[ONE]、[THREE]、[QUORUM]、[ALL]、[LOCAL_ONE]、[LOCAL_QUORUM]、[EACH_QUORUM]、[SERIAL]、[LOCAL_SERIAL] のいずれかを使用する整合性レベル。

null

MEDIUM

camel.source.endpoint.cql

実行する CQL クエリー。CamelCqlQuery キーでメッセージヘッダーで上書きできます。

null

MEDIUM

camel.source.endpoint.datacenter

使用するデータセンター

"datacenter1"

MEDIUM

camel.source.endpoint.loadBalancingPolicyClass

特定の LoadBalancingPolicyClass の使用

null

MEDIUM

camel.source.endpoint.password

セッション認証のパスワード

null

MEDIUM

camel.source.endpoint.prepareStatements

PreparedStatements または regular Statements を使用するかどうか

true

MEDIUM

camel.source.endpoint.resultSetConversionStrategy

ResultSet をメッセージのボディー ALL、ONE、LIMIT_10、LIMIT_100…​ に変換するロジックを実装するカスタムクラスを使用するには、以下を実行します。

null

MEDIUM

camel.source.endpoint.session

セッションインスタンスを使用する場合(通常はこのオプションを使用しません)。

null

MEDIUM

camel.source.endpoint.username

セッション認証のユーザー名

null

MEDIUM

camel.source.endpoint.bridgeErrorHandler

コンシューマーの Camel ルーティングエラーハンドラーへのブリッジを許可します。よって、コンシューマーが受信メッセージなどの取得を試行している間に発生した例外は、メッセージとして処理され、ルーティングエラーハンドラーによって処理されます。デフォルトでは、コンシューマーは org.apache.camel.spi.ExceptionHandler を使用して例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。

false

MEDIUM

camel.source.endpoint.sendEmptyMessageWhenIdle

ポーリングコンシューマーがファイルをポーリングしなかった場合、このオプションを有効にして、代わりに空のメッセージ (ボディーなし) を送信できます。

false

MEDIUM

camel.source.endpoint.exceptionHandler

コンシューマーによるカスタム ExceptionHandler の使用を許可します。bridgeErrorHandler オプションが有効な場合は、このオプションは使用されないことに注意してください。デフォルトでは、コンシューマーは例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。

null

MEDIUM

camel.source.endpoint.exchangePattern

コンシューマーがエクスチェンジを作成する際に交換パターンを設定します。[InOnly]、[InOut]、[InOptionalOut] のいずれか。

null

MEDIUM

camel.source.endpoint.pollStrategy

プラグ可能な org.apache.camel.PollingConsumerPollingStrategy を使用すると、エクスチェンジが作成され、Camel でルーティングされる前に、通常はポーリング操作中に発生するエラー処理を制御するカスタム実装が提供できます。

null

MEDIUM

camel.source.endpoint.basicPropertyBinding

エンドポイントが基本プロパティーバインディング(Camel 2.x)または新しいプロパティーバインディングを追加機能と共に使用するかどうか。

false

MEDIUM

camel.source.endpoint.synchronous

同期処理を厳密に使用するか、Camel が非同期処理を使用できるようにするかを設定します(サポートされている場合)。

false

MEDIUM

camel.source.endpoint.backoffErrorThreshold

backoffMultipler が開始する前に発生する必要がある後続のエラーポーリング (エラーによって失敗した) の数。

null

MEDIUM

camel.source.endpoint.backoffIdleThreshold

backoffMultipler が開始する前に発生する必要がある後続のアイドルポーリングの数。

null

MEDIUM

camel.source.endpoint.backoffMultiplier

後続のアイドル状態/エラーが連続して発生した場合に、スケジュールされたポーリングコンシューマーのバックオフを許可します。乗数は、実際に次の試行が行われる前にスキップされるポーリングの数です。このオプションが使用されている場合は、backoffIdleThreshold や backoffErrorThreshold も設定する必要があります。

null

MEDIUM

camel.source.endpoint.delay

次のポーリングまでの時間 (ミリ秒単位)。

500L

MEDIUM

camel.source.endpoint.greedy

greedy が有効で、以前の実行が 1 つ以上のメッセージをポーリングした場合、ScheduledPollConsumer は即座に再度実行されます。

false

MEDIUM

camel.source.endpoint.initialDelay

最初のポーリングが開始されるまでの時間 (ミリ秒単位)。

1000L

MEDIUM

camel.source.endpoint.repeatCount

実行の最大数を指定します。そのため、これを 1 に設定するとスケジューラーは 1 度だけ実行されます。これを 5 に設定した場合、5 回だけ実行されます。0 または負の値を設定すると、無制限に実行されます。

0L

MEDIUM

camel.source.endpoint.runLoggingLevel

コンシューマーはポーリング時に開始/完了のログ行を記録します。このオプションを使用すると、ログレベルを設定できます。[TRACE]、[DEBUG]、[INFO]、[WARN]、[ERROR]、[OFF] のいずれか。

"TRACE"

MEDIUM

camel.source.endpoint.scheduledExecutorService

コンシューマーに使用するカスタム/共有スレッドプールを設定できます。デフォルトでは、各コンシューマーに独自の単一スレッドのスレッドプールがあります。

null

MEDIUM

camel.source.endpoint.scheduler

camel-spring または camel-quartz コンポーネントから cron スケジューラーを使用します。スケジューラーにビルドされた値 spring または quartz を使用。

"none"

MEDIUM

camel.source.endpoint.schedulerProperties

カスタムスケジューラーまたは Quartz や Spring ベースのスケジューラーを使用する場合に、追加のプロパティーを設定します。

null

MEDIUM

camel.source.endpoint.startScheduler

スケジューラーを自動起動するかどうか。

true

MEDIUM

camel.source.endpoint.timeUnit

initialDelay および delay オプションの時間単位。[NANOSECONDS]、[MICROSECONDS]、[MILLISECONDS]、[SECONDS]、[MINUTES]、[HOURS]、[DAYS] のいずれか。

"MILLISECONDS"

MEDIUM

camel.source.endpoint.useFixedDelay

固定遅延または固定レートを使用するかどうかを制御します。詳細は、JDK の ScheduledExecutorService を参照してください。

true

MEDIUM

camel.component.cql.bridgeErrorHandler

コンシューマーの Camel ルーティングエラーハンドラーへのブリッジを許可します。よって、コンシューマーが受信メッセージなどの取得を試行している間に発生した例外は、メッセージとして処理され、ルーティングエラーハンドラーによって処理されます。デフォルトでは、コンシューマーは org.apache.camel.spi.ExceptionHandler を使用して例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。

false

MEDIUM

camel.component.cql.basicPropertyBinding

コンポーネントの基本的なプロパティーバインディング(Camel 2.x)または新しいプロパティーバインディングを追加機能と共に使用するかどうか。

false

MEDIUM

camel-cql シンクコネクターには、そのまま使えるコンバーターがありません。

camel-cql シンクコネクターにはそのまま使える変換がありません。

camel-cql シンクコネクターにはそのまま使える集約ストラテジーがありません。

5.10. camel-elasticsearch-rest-kafka-connector のシンク設定

camel-elasticsearch-rest-kafka-connector をシンクとして使用する場合、以下の Maven 依存関係を使用してコネクターをサポートするようにしてください。

<dependency>
  <groupId>org.apache.camel.kafkaconnector</groupId>
  <artifactId>camel-elasticsearch-rest-kafka-connector</artifactId>
  <version>x.x.x</version>
  <!-- use the same version as your Camel Kafka connector version -->
</dependency>

Kafka コネクションでこのシンクコネクターを使用するには、以下の connector.class を設定する必要があります。

connector.class=org.apache.camel.kafkaconnector.elasticsearchrest.CamelElasticsearchrestSinkConnector

camel-elasticsearch-rest シンクコネクターは、以下に示す 33 オプションをサポートします。

名前説明デフォルトPriority

camel.sink.path.clusterName

クラスターの名前

null

HIGH

camel.sink.endpoint.connectionTimeout

接続がタイムアウトするまでの待機時間(ミリ秒単位)。

30000

MEDIUM

camel.sink.endpoint.disconnect

プロデューサーの呼び出しが完了した後に切断します。

false

MEDIUM

camel.sink.endpoint.enableSniffer

実行中の Elasticsearch クラスターからノードを自動的に検出します。

false

MEDIUM

camel.sink.endpoint.enableSSL

SSL の有効化

false

MEDIUM

camel.sink.endpoint.from

応答のインデックスの開始

null

MEDIUM

camel.sink.endpoint.hostAddresses

使用する ip:port 形式のリモートトランスポートアドレスを含むコンマ区切りのリスト。

null

HIGH

camel.sink.endpoint.indexName

動作させるインデックスの名前

null

MEDIUM

camel.sink.endpoint.lazyStartProducer

最初のメッセージでプロデューサーをレイジーに起動すべきかどうか。レイジーに起動することで、起動時にプロデューサーが失敗し、それによりルートが失敗する可能性がある状況で、CamelContext およびルートの起動を許可します。レイジーな起動を延期すると、Camel のルーティングエラーハンドラー経由でメッセージのルーティング中に起動の失敗を処理できます。最初のメッセージが処理されるときに、プロデューサーの作成および起動に若干時間がかかり、合計処理時間が長くなる可能性があることに注意してください。

false

MEDIUM

camel.sink.endpoint.maxRetryTimeout

再試行までの時間(ミリ秒単位)。

30000

MEDIUM

camel.sink.endpoint.operation

[Index] [Update]、[Bulk] [BulkIndex]、[GetById] [MultiGet]、[MultiSearch]、[Delete]、[DeleteIndex]、[Search]、[Exists]、[Exists]、[Ping] のいずれかを実行する操作。

null

MEDIUM

camel.sink.endpoint.scrollKeepAliveMs

elasticsearch が検索コンテキストを保持する時間(ミリ秒単位)

60000

MEDIUM

camel.sink.endpoint.size

応答のサイズ。

null

MEDIUM

camel.sink.endpoint.sniffAfterFailureDelay

失敗後にスケジュールされるスニファ実行の遅延(ミリ秒単位)

60000

MEDIUM

camel.sink.endpoint.snifferInterval

連続した通常のスニファ実行の間隔(ミリ秒単位)。sniffOnFailure が無効になったとき、または連続してスニファーの実行の間に失敗がない場合に非表示になります。

300000

MEDIUM

camel.sink.endpoint.socketTimeout

ソケットがタイムアウトするまで待機するタイムアウト(ミリ秒単位)。

30000

MEDIUM

camel.sink.endpoint.useScroll

スクロールの使用量を有効にします。

false

MEDIUM

camel.sink.endpoint.waitForActiveShards

インデックス作成は、シャードの書き込みの整合性数が利用可能になるまで待機します。

1

MEDIUM

camel.sink.endpoint.basicPropertyBinding

エンドポイントが基本プロパティーバインディング(Camel 2.x)または新しいプロパティーバインディングを追加機能と共に使用するかどうか。

false

MEDIUM

camel.sink.endpoint.synchronous

同期処理を厳密に使用するか、Camel が非同期処理を使用できるようにするかを設定します(サポートされている場合)。

false

MEDIUM

camel.component.elasticsearch-rest.lazyStart Producer

最初のメッセージでプロデューサーをレイジーに起動すべきかどうか。レイジーに起動することで、起動時にプロデューサーが失敗し、それによりルートが失敗する可能性がある状況で、CamelContext およびルートの起動を許可します。レイジーな起動を延期すると、Camel のルーティングエラーハンドラー経由でメッセージのルーティング中に起動の失敗を処理できます。最初のメッセージが処理されるときに、プロデューサーの作成および起動に若干時間がかかり、合計処理時間が長くなる可能性があることに注意してください。

false

MEDIUM

camel.component.elasticsearch-rest.basicProperty Binding

コンポーネントの基本的なプロパティーバインディング(Camel 2.x)または新しいプロパティーバインディングを追加機能と共に使用するかどうか。

false

MEDIUM

camel.component.elasticsearch-rest.client

エンドポイントごとにクライアントを作成する代わりに、既存の設定された Elasticsearch クライアントを使用します。これにより、特定の設定でクライアントをカスタマイズできます。

null

MEDIUM

camel.component.elasticsearch-rest.connection Timeout

接続がタイムアウトするまでの待機時間(ミリ秒単位)。

30000

MEDIUM

camel.component.elasticsearch-rest.enableSniffer

実行中の Elasticsearch クラスターからノードを自動的に検出します。

"false"

MEDIUM

camel.component.elasticsearch-rest.hostAddresses

使用する ip:port 形式のリモートトランスポートアドレスを含むコンマ区切りのリスト。hostAddresses を代わりに考慮するには、ip オプションおよび port オプションを空白のままにする必要があります。

null

MEDIUM

camel.component.elasticsearch-rest.maxRetryTimeout

再試行までの時間(ミリ秒単位)。

30000

MEDIUM

camel.component.elasticsearch-rest.sniffAfter FailureDelay

失敗後にスケジュールされるスニファ実行の遅延(ミリ秒単位)

60000

MEDIUM

camel.component.elasticsearch-rest.snifferInterval

連続した通常のスニファ実行の間隔(ミリ秒単位)。sniffOnFailure が無効になったとき、または連続してスニファーの実行の間に失敗がない場合に非表示になります。

300000

MEDIUM

camel.component.elasticsearch-rest.socketTimeout

ソケットがタイムアウトするまで待機するタイムアウト(ミリ秒単位)。

30000

MEDIUM

camel.component.elasticsearch-rest.enableSSL

SSL の有効化

"false"

MEDIUM

camel.component.elasticsearch-rest.password

認証のパスワード

null

MEDIUM

camel.component.elasticsearch-rest.user

基本的な認証ユーザー

null

MEDIUM

camel-elasticsearch-rest シンクコネクターには、そのまま使えるコンバーターがありません。

camel-elasticsearch-rest シンクコネクターにはそのまま使える変換がありません。

camel-elasticsearch-rest シンクコネクターにはそのまま使える集約ストラテジーがありません。

5.11. camel-file-kafka-connector のシンク設定

camel-file-kafka-connector をシンクとして使用する場合、以下の Maven 依存関係を使用してコネクターをサポートするようにしてください。

<dependency>
  <groupId>org.apache.camel.kafkaconnector</groupId>
  <artifactId>camel-file-kafka-connector</artifactId>
  <version>x.x.x</version>
  <!-- use the same version as your Camel Kafka connector version -->
</dependency>

Kafka コネクションでこのシンクコネクターを使用するには、以下の connector.class を設定する必要があります。

connector.class=org.apache.camel.kafkaconnector.file.CamelFileSinkConnector

camel-file シンクコネクターは、以下に示す 27 個のオプションをサポートします。

名前説明デフォルトPriority

camel.sink.path.directoryName

開始ディレクトリー

null

HIGH

camel.sink.endpoint.charset

このオプションは、ファイルのエンコーディングを指定するために使用されます。これはコンシューマーで使用して、ファイルのエンコーディングを指定できます。これにより、Camel はファイルの内容にアクセスした場合にファイルの内容を読み込む必要があります。ファイルを書き込む場合も同様に、このオプションを使用して、ファイルを書き込む文字を指定することもできます。ファイルを書くときには、メッセージの内容をメモリーに読み込んで、データを設定済みの文字セットに変換しなければならない場合があります。そのため、大きなメッセージがある場合は使用しないでください。

null

MEDIUM

camel.sink.endpoint.doneFileName

プロデューサー: 指定された場合、元のファイルが書き込まれると、Camel は 2 番目に完了したファイルを書き込みます。完了ファイルは空になります。このオプションは、使用するファイル名を設定します。固定名を指定できます。または、動的プレースホルダーを使用することもできます。done ファイルは、常に元のファイルと同じフォルダーに書き込まれます。コンシューマー: 提供された場合、Camel は完了したファイルが存在する場合にのみファイルを消費します。このオプションは、使用するファイル名を設定します。固定名を指定できます。または、動的プレースホルダーを使用することもできます。完成したファイルは、常に元のファイルと同じフォルダーに期待されます。\${file.name} および \${file.name.next} のみが動的プレースホルダーとしてサポートされます。

null

MEDIUM

camel.sink.endpoint.fileName

File Language などの式を使用して、ファイル名を動的に設定します。コンシューマーの場合は、ファイル名フィルターとして使用されます。プロデューサーの場合、書き込みするファイル名を評価するために使用されます。式が設定されている場合は、CamelFileName ヘッダーよりも優先されます。(注記: ヘッダー自体は式にすることもできます。式オプションは String タイプと Expression 型の両方をサポートします。式が String タイプである場合、これは常に File 言語を使用して評価されます。式が Expression タイプである場合、指定された式タイプが使用されます。たとえば、OGNL 式を使用できます。コンシューマーの場合は、ファイル名をフィルターできるため、File 言語構文 mydata-\${date:now:yyyyMMdd}.txt を使用して現在のファイルを使用できます。プロデューサーは、既存の CamelFileName ヘッダーよりも優先される CamelOverruleFileName ヘッダーをサポートします。CamelOverruleFileName は 1 度だけ使用されるヘッダーで、CamelFileName を一時的に保存し、後で復元する必要があるため、より簡単に使用できます。

null

MEDIUM

camel.sink.endpoint.appendChars

ファイルの記述後に文字(テキスト)を追加するために使用されます。たとえば、既存のファイルへの書き込みや追加時に、改行やその他のセパレーターを追加するために使用できます。改行(slash-n または slash-r)またはタブ(slash-t)文字を指定するには、追加のスラッシュ(例: slash-slash-n)でエスケープします。

null

MEDIUM

camel.sink.endpoint.fileExist

同じ名前のファイルがすでに存在する場合のアクション。デフォルトである Override は、既存のファイルを置き換えます。- Append - コンテンツを既存のファイルに追加します。- Fail - 既存のファイルがあることを示す GenericFileOperationException をスローします。- Ignore - 問題を警告なしで無視し、既存ファイルを上書きしないことを前提としています。- Move - オプションでは、moveExisting オプションも設定する必要があります。eagerDeleteTargetFile オプションを使用して、ファイルの移動や既存のファイルがすでに存在する場合に実行内容を制御できます。それ以外の場合は、移動操作が失敗します。Move オプションは、ターゲットファイルを書き込む前に既存のファイルを移動します。- TryRename は、tempFileName オプションが使用されている場合にのみ適用されます。これにより、存在チェックを実行せずに、一時的な名前から実際の名前へのファイルの名前変更を試すことができます。一部のファイルシステムや、特に FTP サーバーでは、このチェックの方が高速である場合があります。[Override]、[Append]、[Fail]、[Ignore]、[Move]、[TryRename] のいずれか。

"Override"

MEDIUM

camel.sink.endpoint.flatten

フラット化は、ファイル名パスをフラット化して先頭のパスを削除するために使用されるので、ファイル名だけになります。これにより、サブディレクトリーに再帰的に消費できますが、たとえば別のディレクトリーにファイルを書き込むと、それらのファイルは単一のディレクトリーに書き込まれます。これをプロデューサーで true に設定すると、CamelFileName ヘッダーのファイル名が任意の先頭パスに対して削除されます。

false

MEDIUM

camel.sink.endpoint.jailStartingDirectory

開始ディレクトリー(およびサブ)にのみファイルの書き込み(制限)に使用されます。これは、Camel がファイルを外部ディレクトリーに書き込みできないようにするためにデフォルトで有効になっています(追加設定なしでは保護されています)。これを無効にして、親フォルダーやルートフォルダーなど、開始ディレクトリー外のディレクトリーにファイルを書き込みできます。

true

MEDIUM

camel.sink.endpoint.lazyStartProducer

最初のメッセージでプロデューサーをレイジーに起動すべきかどうか。レイジーに起動することで、起動時にプロデューサーが失敗し、それによりルートが失敗する可能性がある状況で、CamelContext およびルートの起動を許可します。レイジーな起動を延期すると、Camel のルーティングエラーハンドラー経由でメッセージのルーティング中に起動の失敗を処理できます。最初のメッセージが処理されるときに、プロデューサーの作成および起動に若干時間がかかり、合計処理時間が長くなる可能性があることに注意してください。

false

MEDIUM

camel.sink.endpoint.moveExisting

fileExist=Move が設定されている場合に使用するファイル名の計算に使用される式(ファイル言語など)。ファイルをバックアップサブディレクトリーに移動するには、バックアップを入力します。このオプションは、file:name、file:name.ext、file:name.noext、file:onlyname、file:onlyname.noext、file:ext、および file:parent の File Language トークンのみをサポートします。FTP コンポーネントは既存のファイルをベースとして、相対ディレクトリーにのみ移動できるため、file:parent は FTP コンポーネントではサポートされないことに注意してください。

null

MEDIUM

camel.sink.endpoint.tempFileName

tempPrefix オプションと同じですが、File 言語を使用する一時的なファイル名の命名をより細かく制御できます。tempFilename の場所は、ベース URI のターゲットディレクトリーではなく、オプション 'fileName' の最終ファイルの場所に相対します。たとえば、オプションの fileName にディレクトリープレフィックス dir: dir/finalFilename が含まれる場合は、tempFileName はそのサブディレクトリー dir との相対値になります。

null

MEDIUM

camel.sink.endpoint.tempPrefix

このオプションは、一時的な名前を使用してファイルを書き込むために使用されます。次に、書き込みが完了したら、その名前を変更します。書き込まれているファイルを特定し、進行中のファイルで読み取るコンシューマー(排他的読み取りロックを使用しない)も回避できます。大容量のファイルをアップロードする場合に FTP が使用することがよくあります。

null

MEDIUM

camel.sink.endpoint.allowNullBody

ファイルの書き込み中に null ボディーを許可するかどうかを指定するのに使用します。true に設定すると、空のファイルが作成され、false に設定され、null ボディーを file コンポーネントに送信しようとすると、'Cannot write null body to file.' の GenericFileWriteException がスローされます。fileExist オプションを 'Override' に設定すると、ファイルが切り捨てられます。追加する場合は、ファイルは変更されません。

false

MEDIUM

camel.sink.endpoint.chmod

プロデューサーによって送信されるファイルパーミッションを指定します。chmod の値は 000 から 777 の間の値である必要があります。0755 のように先頭の数字がある場合は無視します。

null

MEDIUM

camel.sink.endpoint.chmodDirectory

プロデューサーが不足しているディレクトリーを作成する際に使用するディレクトリーパーミッションを指定します。chmod の値は 000 から 777 の間でなければなりません。0755 のように先頭の数字がある場合は無視されます。

null

MEDIUM

camel.sink.endpoint.eagerDeleteTargetFile

既存のターゲットファイルを活発に削除するかどうか。このオプションは、fileExists=Override オプションおよび tempFileName オプションを使用している場合にのみ適用されます。このパラメーターを使用して、一時ファイルが書き込まれる前にターゲットファイルを削除する(false に設定します)ことができます。たとえば、大きなファイルを作成し、一時ファイルが書き込まれている間にターゲットファイルを存在させたいとします。これにより、一時ファイルの名前がターゲットファイル名に変更される直前に、ターゲットファイルが最後の時点までのみ削除されます。また、このオプションは、fileExist=Move が有効で、既存のファイルが存在すると、既存のファイルを削除するかどうかを制御することもできます。このオプションの copyAndDeleteOnRenameFails false を指定した場合、既存のファイルが存在する場合は、移動操作の前に既存のファイルが削除されます。

true

MEDIUM

camel.sink.endpoint.forceWrites

ファイルシステムへの書き込みを強制的に同期するかどうか。ログ/監査ログへの書き込みなど、このレベルの保証が必要ない場合に、このレベルをオフにすることができます。これにより、パフォーマンスが向上します。

true

MEDIUM

camel.sink.endpoint.keepLastModified

ソースファイルから最後に変更したタイムスタンプを保持します(存在する場合)。Exchange.FILE_LAST_MODIFIED ヘッダーを使用してタイムスタンプを見つけます。このヘッダーには java.util.Date またはタイムスタンプの long を含めることができます。タイムスタンプが存在し、オプションが有効な場合は、書き込まれたファイルにこのタイムスタンプを設定します。注記: このオプションは、ファイルプロデューサーにのみ適用されます。このオプションは、\ftp プロデューサーには使用できません。

false

MEDIUM

camel.sink.endpoint.moveExistingFileStrategy

fileExist=Move が設定されている場合に使用する特別な命名トークンを持つファイルを移動するために使用されるストラテジー(カスタムストラテジー)。デフォルトでは、カスタムストラテジーが指定されていない場合に実装が使用されます。

null

MEDIUM

camel.sink.endpoint.autoCreate

ファイルのパス名に不足しているディレクトリーを自動的に作成します。ファイルコンシューマーの場合は、開始ディレクトリーを作成することを意味します。ファイルプロデューサーの場合、ファイルが書き込まれるディレクトリーを意味します。

true

MEDIUM

camel.sink.endpoint.basicPropertyBinding

エンドポイントが基本プロパティーバインディング(Camel 2.x)または新しいプロパティーバインディングを追加機能と共に使用するかどうか。

false

MEDIUM

camel.sink.endpoint.bufferSize

ファイルの書き込みに使用されるバッファーサイズ(または FTP でファイルのダウンロードおよびアップロードの場合)。

131072

MEDIUM

camel.sink.endpoint.copyAndDeleteOnRenameFail

ファイルの名前を直接変更できない場合など、フォールバックとコピーおよび削除を行うかどうか。このオプションは FTP コンポーネントでは使用できません。

true

MEDIUM

camel.sink.endpoint.renameUsingCopy

コピーおよび削除ストラテジーを使用して名前変更操作を実行します。これは主に、通常の名前変更操作が信頼できる環境で使用されます(例: 異なるファイルシステムまたはネットワーク全体で)。このオプションは、コピーおよび削除ストラテジーに自動的にフォールバックする copyAndDeleteOnRenameFail パラメーターよりも優先されますが、追加の遅延の後のみになります。

false

MEDIUM

camel.sink.endpoint.synchronous

同期処理を厳密に使用するか、Camel が非同期処理を使用できるようにするかを設定します(サポートされている場合)。

false

MEDIUM

camel.component.file.lazyStartProducer

最初のメッセージでプロデューサーをレイジーに起動すべきかどうか。レイジーに起動することで、起動時にプロデューサーが失敗し、それによりルートが失敗する可能性がある状況で、CamelContext およびルートの起動を許可します。レイジーな起動を延期すると、Camel のルーティングエラーハンドラー経由でメッセージのルーティング中に起動の失敗を処理できます。最初のメッセージが処理されるときに、プロデューサーの作成および起動に若干時間がかかり、合計処理時間が長くなる可能性があることに注意してください。

false

MEDIUM

camel.component.file.basicPropertyBinding

コンポーネントの基本的なプロパティーバインディング(Camel 2.x)または新しいプロパティーバインディングを追加機能と共に使用するかどうか。

false

MEDIUM

camel-file シンクコネクターには、そのまま使えるコンバーターがありません。

camel-file シンクコネクターには、そのまま使える変換はありません。

camel-file シンクコネクターにはそのまま使える集約ストラテジーがありません。

5.12. camel-hdfs-kafka-connector のシンク設定

camel-hdfs-kafka-connector をシンクとして使用する場合、以下の Maven 依存関係を使用してコネクターをサポートするようにしてください。

<dependency>
  <groupId>org.apache.camel.kafkaconnector</groupId>
  <artifactId>camel-hdfs-kafka-connector</artifactId>
  <version>x.x.x</version>
  <!-- use the same version as your Camel Kafka connector version -->
</dependency>

Kafka コネクションでこのシンクコネクターを使用するには、以下の connector.class を設定する必要があります。

connector.class=org.apache.camel.kafkaconnector.hdfs.CamelHdfsSinkConnector

camel-hdfs シンクコネクターは、以下に示す 32 個のオプションをサポートします。

名前説明デフォルトPriority

camel.sink.path.hostName

使用する HDFS ホスト。

null

HIGH

camel.sink.path.port

使用する HDFS ポート

8020

MEDIUM

camel.sink.path.path

使用するディレクトリーパス

null

HIGH

camel.sink.endpoint.connectOnStartup

プロデューサー/コンシューマーの開始時に HDFS ファイルシステムに接続するかどうか。false の場合、接続はオンデマンドで作成されます。45 x 20 秒の再配信がハードコーディングされているため、で接続を確立するのに最大 15 分かかることがあります。このオプションを false に設定すると、アプリケーションの起動が可能になり、最大 15 分間ブロックされません。

true

MEDIUM

camel.sink.endpoint.fileSystemType

代わりに HDFS を使用せず、ローカルの java.io.File を使用しない場合は、LOCAL に設定します。[LOCAL]、[HDFS] のいずれか。

"HDFS"

MEDIUM

camel.sink.endpoint.fileType

使用するファイルタイプ。詳細は、さまざまなファイルタイプについてのドキュメントを参照してください。[NORMAL_FILE]、[SEQUENCE_FILE]、[MAP_FILE]、[BLOOMMAP_FILE]、[ARRAY_FILE] のいずれか。

"NORMAL_FILE"

MEDIUM

camel.sink.endpoint.keyType

シーケンスファイルまたはマップファイルの場合のキーのタイプ。[NULL]、[BOOLEAN]、[BYTE]、[INT]、[FLOAT]、[LONG]、[DOUBLE]、[TEXT]、[BYTES] のいずれか。

"NULL"

MEDIUM

camel.sink.endpoint.namedNodes

名前付きノードのカンマ区切りの一覧(例: srv11.example.com:8020,srv12.example.com:8020)

null

MEDIUM

camel.sink.endpoint.owner

ファイルの所有者は、コンシューマーがファイルを取得するには、この所有者と一致する必要があります。そうでない場合は、ファイルはスキップされます。

null

MEDIUM

camel.sink.endpoint.valueType

シーケンスまたはマップファイルの場合のキーの型。[NULL]、[BOOLEAN]、[BYTE]、[INT]、[FLOAT]、[LONG]、[DOUBLE]、[TEXT]、[BYTES] のいずれか。

"BYTES"

MEDIUM

camel.sink.endpoint.append

既存ファイルに追加します。すべての HDFS ファイルシステムが append オプションをサポートしているわけではないことに注意してください。

false

MEDIUM

camel.sink.endpoint.lazyStartProducer

最初のメッセージでプロデューサーをレイジーに起動すべきかどうか。レイジーに起動することで、起動時にプロデューサーが失敗し、それによりルートが失敗する可能性がある状況で、CamelContext およびルートの起動を許可します。レイジーな起動を延期すると、Camel のルーティングエラーハンドラー経由でメッセージのルーティング中に起動の失敗を処理できます。最初のメッセージが処理されるときに、プロデューサーの作成および起動に若干時間がかかり、合計処理時間が長くなる可能性があることに注意してください。

false

MEDIUM

camel.sink.endpoint.overwrite

同じ名前の既存ファイルを上書きするかどうか。

true

MEDIUM

camel.sink.endpoint.basicPropertyBinding

エンドポイントが基本プロパティーバインディング(Camel 2.x)または新しいプロパティーバインディングを追加機能と共に使用するかどうか。

false

MEDIUM

camel.sink.endpoint.blockSize

HDFS ブロックのサイズ

67108864L

MEDIUM

camel.sink.endpoint.bufferSize

HDFS によって使用されるバッファーサイズ

4096

MEDIUM

camel.sink.endpoint.checkIdleInterval

アイドルチェッカーのバックグラウンドタスクを実行する頻度(ミリ秒単位)。このオプションは、Splitter ストラテジーが IDLE の場合にのみ使用されます。

500

MEDIUM

camel.sink.endpoint.chunkSize

通常ファイルを読み取ると、チャンクごとにメッセージを生成するチャンクに分割されます。

4096

MEDIUM

camel.sink.endpoint.compressionCodec

[DEFAULT]、[GZIP] のいずれかを使用する圧縮コーデック [BZIP2]

"DEFAULT"

MEDIUM

camel.sink.endpoint.compressionType

使用する圧縮タイプ(デフォルトは使用されていない)、[NONE]、[RECORD]、[BLOCK] のいずれか。

"NONE"

MEDIUM

camel.sink.endpoint.openedSuffix

ファイルを読み取り/書き込み用に開くと、書き込みフェーズでファイルを読み込まないように、この接尾辞が付いたファイルの名前が変更されます。

"opened"

MEDIUM

camel.sink.endpoint.readSuffix

ファイルが読み取られると、再度読み取られないように、この接尾辞が付いたファイルの名前が変更されます。

"read"

MEDIUM

camel.sink.endpoint.replication

HDFS レプリケーションファクター

3

MEDIUM

camel.sink.endpoint.splitStrategy

現在のバージョンでは、追加モードでファイルを開くことは、非常に信頼性がないために無効にされます。したがって、現時点では新しいファイルの作成のみが可能です。Camel HDFS エンドポイントは、この問題を解決しようとします。スプリットストラテジーオプションが定義されている場合、hdfs パスはディレクトリーとして使用され、設定済みの UuidGenerator を使用してファイルが作成されます。分割条件が満たされるたびに、新しいファイルが作成されます。splitStrategy オプションは、SplitStrategy=ST:value,ST:value…​ という構文で文字列として定義されます。ここで、splitStrategy=ST:value,ST:value,…​

null

MEDIUM

camel.sink.endpoint.synchronous

同期処理を厳密に使用するか、Camel が非同期処理を使用できるようにするかを設定します(サポートされている場合)。

false

MEDIUM

camel.sink.endpoint.kerberosConfigFileLocation

kerb5.conf ファイルの場所(https://web.mit.edu/kerberos/krb5-1.12/doc/admin/conf_files/krb5_conf.html)

null

MEDIUM

camel.sink.endpoint.kerberosKeytabLocation

kerberos ノードとの認証に使用するキータブファイルの場所(Kerberos パスワードから派生する kerberos プリンシパルと暗号化された鍵のペア)

null

MEDIUM

camel.sink.endpoint.kerberosUsername

Kerberos ノードでの認証に使用するユーザー名

null

MEDIUM

camel.component.hdfs.lazyStartProducer

最初のメッセージでプロデューサーをレイジーに起動すべきかどうか。レイジーに起動することで、起動時にプロデューサーが失敗し、それによりルートが失敗する可能性がある状況で、CamelContext およびルートの起動を許可します。レイジーな起動を延期すると、Camel のルーティングエラーハンドラー経由でメッセージのルーティング中に起動の失敗を処理できます。最初のメッセージが処理されるときに、プロデューサーの作成および起動に若干時間がかかり、合計処理時間が長くなる可能性があることに注意してください。

false

MEDIUM

camel.component.hdfs.basicPropertyBinding

コンポーネントの基本的なプロパティーバインディング(Camel 2.x)または新しいプロパティーバインディングを追加機能と共に使用するかどうか。

false

MEDIUM

camel.component.hdfs.jAASConfiguration

JAAS でセキュリティーに特定の設定を使用します。

null

MEDIUM

camel.component.hdfs.kerberosConfigFile

kerberos 認証を使用するには、'java.security.krb5.conf' 環境変数の値を既存のファイルに設定します。環境変数がすでに設定されている場合は、指定したパラメーターとは異なるかどうかを警告します。

null

MEDIUM

camel-hdfs シンクコネクターには、そのまま使えるコンバーターがありません。

camel-hdfs シンクコネクターには、そのまま使える変換はありません。

camel-hdfs シンクコネクターにはそのまま使える集約ストラテジーがありません。

5.13. camel-http-kafka-connector のシンク設定

camel-http-kafka-connector をシンクとして使用する場合、以下の Maven 依存関係を使用してコネクターをサポートするようにしてください。

<dependency>
  <groupId>org.apache.camel.kafkaconnector</groupId>
  <artifactId>camel-http-kafka-connector</artifactId>
  <version>x.x.x</version>
  <!-- use the same version as your Camel Kafka connector version -->
</dependency>

Kafka コネクションでこのシンクコネクターを使用するには、以下の connector.class を設定する必要があります。

connector.class=org.apache.camel.kafkaconnector.http.CamelHttpSinkConnector

camel-http シンクコネクターは、以下に示す 80 個のオプションをサポートします。

名前説明デフォルトPriority

camel.sink.path.httpUri

呼び出す HTTP エンドポイントの URL。

null

HIGH

camel.sink.endpoint.disableStreamCache

Servlet からの raw 入力ストリームがキャッシュされているかどうかを決定します(Camel はストリームをメモリー内/オーバーフローでファイル、ストリームキャッシング)キャッシュに読み取ります。デフォルトでは、Camel は Servlet 入力ストリームをキャッシュして、複数回ロードし、Camel がストリームからすべてのデータを取得できるようにします。ただし、raw ストリームにアクセスする必要がある場合などにこのオプションを true に設定します。たとえば、ファイルまたは他の永続ストアに直接ストリーミングする場合などに、raw ストリームにアクセスする必要がある場合などにこのオプションを true に設定します。DefaultHttpBinding は、ストリームの読み取りを複数回サポートするために、このオプションが false の場合は、リクエスト入力ストリームをストリームキャッシュにコピーし、メッセージボディーに配置します。Servlet を使用してエンドポイントをブリッジ/プロキシーする場合、このオプションを有効にしてパフォーマンスを向上することを検討してください。メッセージペイロードを複数回読み取る必要がない場合は、このオプションを有効にします。http プロデューサーはデフォルトで応答ボディーストリームをキャッシュします。このオプションを true に設定すると、プロデューサーは応答ボディーストリームをキャッシュしませんが、応答ストリームをメッセージボディーとして使用します。

false

MEDIUM

camel.sink.endpoint.headerFilterStrategy

カスタム HeaderFilterStrategy を使用して Camel メッセージに対してヘッダーをフィルターします。

null

MEDIUM

camel.sink.endpoint.httpBinding

カスタムの HttpBinding を使用して Camel メッセージと HttpClient 間のマッピングを制御する場合。

null

MEDIUM

camel.sink.endpoint.bridgeEndpoint

オプションが true の場合、HttpProducer は Exchange.HTTP_URI ヘッダーを無視し、リクエストにエンドポイントの URI を使用します。また、ththExceptionOnFailure オプションを false に設定して、HttpProducer がすべての障害応答を返せるようにすることもできます。

false

MEDIUM

camel.sink.endpoint.chunked

このオプションが false の場合、サーブレットは HTTP ストリーミングを無効にし、応答に content-length ヘッダーを設定します。

true

MEDIUM

camel.sink.endpoint.clearExpiredCookies

HTTP 要求を送信する前に期限切れの cookie を消去するかどうか。これにより、Cookie ストアは、有効期限が切れると新しい Cookie を追加することで、増大し続けます。

true

MEDIUM

camel.sink.endpoint.connectionClose

Connection Close ヘッダーを HTTP 要求に追加する必要があるかどうかを指定します。デフォルトでは connectionClose は false です。

false

MEDIUM

camel.sink.endpoint.copyHeaders

このオプションが true の場合、コピーストラテジーに従って IN エクスチェンジヘッダーが OUT エクスチェンジヘッダーにコピーされます。これを false に設定し、HTTP 応答からのヘッダーのみを含めることができます(IN ヘッダーは伝播しません)。

true

MEDIUM

camel.sink.endpoint.customHostHeader

プロデューサーにカスタムホストヘッダーを使用します。クエリーに設定されていない場合は無視されます。設定される場合、URL から派生するホストヘッダーが上書きされます。

null

MEDIUM

camel.sink.endpoint.httpMethod

使用する HTTP メソッドを設定します。HttpMethod ヘッダーが設定されている場合は、このオプションをオーバーライドできません。[GET]、[POST]、[PUT]、[DELETE]、[HEAD]、[OPTIONS]、[TRACE]、[PATCH] のいずれか。

null

MEDIUM

camel.sink.endpoint.ignoreResponseBody

このオプションが true の場合、http プロデューサーは応答本体を読み取りせず、入力ストリームをキャッシュします。

false

MEDIUM

camel.sink.endpoint.lazyStartProducer

最初のメッセージでプロデューサーをレイジーに起動すべきかどうか。レイジーに起動することで、起動時にプロデューサーが失敗し、それによりルートが失敗する可能性がある状況で、CamelContext およびルートの起動を許可します。レイジーな起動を延期すると、Camel のルーティングエラーハンドラー経由でメッセージのルーティング中に起動の失敗を処理できます。最初のメッセージが処理されるときに、プロデューサーの作成および起動に若干時間がかかり、合計処理時間が長くなる可能性があることに注意してください。

false

MEDIUM

camel.sink.endpoint.preserveHostHeader

オプションが true の場合、HttpProducer は Host ヘッダーを現在のエクスチェンジ Host ヘッダーに含まれる値に設定します。これは、ダウンストリームサーバーが受け取る Host ヘッダーを使用してアップストリームクライアントが呼び出した URL を反映させたいリバースプロキシーアプリケーションで有用です。これにより、Host ヘッダーを使用するアプリケーションがプロキシーされるサービスの正確な URL を生成することができます。

false

MEDIUM

camel.sink.endpoint.throwExceptionOnFailure

リモートサーバーからの応答に失敗した場合に HttpOperationFailedException のスローを無効にするオプション。これにより、HTTP ステータスコードに関係なくすべての応答を取得できます。

true

MEDIUM

camel.sink.endpoint.transferException

有効で Exchange がコンシューマー側で処理に失敗し、発生した例外が application/x-java-serialized-object のコンテンツタイプとして応答でシリアライズされたかどうか。プロデューサー側では、例外は HttpOperationFailedException ではなくデシリアライズされ、そのままスローされます。原因となる例外はシリアライズされている必要があります。これは、デフォルトではオフになっています。これを有効にすると、Java は受信データをリクエストから Java へデシリアライズし、潜在的なセキュリティーリスクとなる可能性があることに注意してください。

false

MEDIUM

camel.sink.endpoint.cookieHandler

HTTP セッションを維持するためのクッキーハンドラーの設定

null

MEDIUM

camel.sink.endpoint.cookieStore

カスタムの CookieStore を使用します。デフォルトでは、インメモリーのみのクッキーストアである BasicCookieStore が使用されます。bridgeEndpoint=true の場合、Cookie ストアは noop cookie ストアに強制されます。これは Cookie がブリッジのみであるため(プロキシーとして機能するなど)、これを保存しません。cookieHandler が設定される場合、Cookie ストアは cookie 処理として noop cookie ストアに強制されます。CookieHandler によって実行されます。

null

MEDIUM

camel.sink.endpoint.deleteWithBody

HTTP DELETE にメッセージボディーを含めるかどうか。デフォルトでは、HTTP DELETE には HTTP ボディーが含まれません。ただし、まれに、ユーザーにメッセージボディーを含める必要があることがあります。

false

MEDIUM

camel.sink.endpoint.getWithBody

HTTP GET にメッセージボディーを含めるかどうか。デフォルトでは、HTTP GET には HTTP ボディーが含まれません。ただし、まれに、ユーザーにメッセージボディーを含める必要があることがあります。

false

MEDIUM

camel.sink.endpoint.okStatusCodeRange

正常な応答とみなされるステータスコード。値は含まれます。コンマで区切られた複数の範囲を定義できます(例: 200-204,209,301-304)。各範囲は、1 つの数字またはダッシュを含む from から でなければなりません。

"200-299"

MEDIUM

camel.sink.endpoint.basicPropertyBinding

エンドポイントが基本プロパティーバインディング(Camel 2.x)または新しいプロパティーバインディングを追加機能と共に使用するかどうか。

false

MEDIUM

camel.sink.endpoint.clientBuilder

このエンドポイントのプロデューサーまたはコンシューマーによって使用される新しい RequestConfig インスタンスで使用される http クライアント要求パラメーターへのアクセスを提供します。

null

MEDIUM

camel.sink.endpoint.clientConnectionManager

カスタムの HttpClientConnectionManager を使用して接続を管理するには

null

MEDIUM

camel.sink.endpoint.connectionsPerRoute

ルートごとの最大接続数。

20

MEDIUM

camel.sink.endpoint.httpClient

プロデューサーによって使用されるカスタム HttpClient を設定します。

null

MEDIUM

camel.sink.endpoint.httpClientConfigurer

認証メカニズムの設定など、プロデューサーやコンシューマーによって作成された新しい HttpClient インスタンスのカスタム設定ストラテジーを登録します。

null

MEDIUM

camel.sink.endpoint.httpClientOptions

Map のキー/値を使用して HttpClient を設定します。

null

MEDIUM

camel.sink.endpoint.httpContext

カスタム HttpContext インスタンスの使用

null

MEDIUM

camel.sink.endpoint.mapHttpMessageBody

このオプションが true の場合、エクスチェンジの IN エクスチェンジボディーは HTTP ボディーにマッピングされます。false に設定すると HTTP マッピングが回避されます。

true

MEDIUM

camel.sink.endpoint.mapHttpMessageFormUrlEncoded Body

このオプションが true の場合、エクスチェンジの IN Exchange Form Encoded body が HTTP にマッピングされます。これを false に設定すると、HTTP Form Encoded body マッピングを回避します。

true

MEDIUM

camel.sink.endpoint.mapHttpMessageHeaders

このオプションが true の場合、エクスチェンジの IN エクスチェンジヘッダーは HTTP ヘッダーにマッピングされます。false に設定すると、HTTP ヘッダーのマッピングが回避されます。

true

MEDIUM

camel.sink.endpoint.maxTotalConnections

最大接続数。

200

MEDIUM

camel.sink.endpoint.synchronous

同期処理を厳密に使用するか、Camel が非同期処理を使用できるようにするかを設定します(サポートされている場合)。

false

MEDIUM

camel.sink.endpoint.useSystemProperties

設定のフォールバックとしてシステムプロパティーを使用する

false

MEDIUM

camel.sink.endpoint.proxyAuthDomain

NTML で使用するプロキシー認証ドメイン

null

MEDIUM

camel.sink.endpoint.proxyAuthHost

プロキシー認証ホスト

null

MEDIUM

camel.sink.endpoint.proxyAuthMethod

[Basic]、[Digest]、[NTLM] のいずれかを使用するプロキシー認証方法。

null

MEDIUM

camel.sink.endpoint.proxyAuthNtHost

NTML で使用するプロキシー認証ドメイン(ワークステーション名)

null

MEDIUM

camel.sink.endpoint.proxyAuthPassword

プロキシー認証パスワード

null

MEDIUM

camel.sink.endpoint.proxyAuthPort

プロキシー認証ポート

null

MEDIUM

camel.sink.endpoint.proxyAuthScheme

[http] [https] のいずれかを使用するプロキシー認証スキーム。

null

MEDIUM

camel.sink.endpoint.proxyAuthUsername

プロキシー認証ユーザー名

null

MEDIUM

camel.sink.endpoint.proxyHost

使用するプロキシーホスト名

null

MEDIUM

camel.sink.endpoint.proxyPort

使用するプロキシーポート

null

MEDIUM

camel.sink.endpoint.authDomain

NTML で使用する認証ドメイン

null

MEDIUM

camel.sink.endpoint.authenticationPreemptive

このオプションが true の場合、camel-http はプリエンプションの Basic 認証をサーバーに送信します。

false

MEDIUM

camel.sink.endpoint.authHost

NTML で使用する認証ホスト

null

MEDIUM

camel.sink.endpoint.authMethod

Basic、Digest、または NTLM の値のコンマ区切りリストとして使用できる認証方法。

null

MEDIUM

camel.sink.endpoint.authMethodPriority

Basic、Digest、または NTLM のいずれかの使用を優先する認証方法。[Basic]、[Digest]、[NTLM] のいずれか。

null

MEDIUM

camel.sink.endpoint.authPassword

認証パスワード

null

MEDIUM

camel.sink.endpoint.authUsername

認証ユーザー名

null

MEDIUM

camel.sink.endpoint.sslContextParameters

SSLContextParameters を使用してセキュリティーを設定します。重要: HttpComponent ごとにサポートされるのは org.apache.camel.util.jsse.SSLContextParameters の 1 つのインスタンスのみです。2 つ以上のインスタンスを使用する必要がある場合は、必要なインスタンスごとに新しい HttpComponent を定義する必要があります。

null

MEDIUM

camel.sink.endpoint.x509HostnameVerifier

DefaultHostnameVerifier または NoopHostnameVerifier などのカスタム X509HostnameVerifier を使用するには、以下を実行します。

null

MEDIUM

camel.component.http.cookieStore

カスタムの org.apache.http.client.CookieStore を使用します。デフォルトでは、インメモリーのみのクッキーストアである org.apache.http.impl.client.BasicCookieStore が使用されます。bridgeEndpoint=true の場合、Cookie ストアは noop cookie ストアに強制されます。これは Cookie がブリッジのみであるため(プロキシーとして機能するなど)、これを保存しません。

null

MEDIUM

camel.component.http.lazyStartProducer

最初のメッセージでプロデューサーをレイジーに起動すべきかどうか。レイジーに起動することで、起動時にプロデューサーが失敗し、それによりルートが失敗する可能性がある状況で、CamelContext およびルートの起動を許可します。レイジーな起動を延期すると、Camel のルーティングエラーハンドラー経由でメッセージのルーティング中に起動の失敗を処理できます。最初のメッセージが処理されるときに、プロデューサーの作成および起動に若干時間がかかり、合計処理時間が長くなる可能性があることに注意してください。

false

MEDIUM

camel.component.http.allowJavaSerializedObject

リクエストが context-type=application/x-java-serialized-object を使用する場合に java のシリアライズを許可するかどうか。これは、デフォルトではオフになっています。これを有効にすると、Java は受信データをリクエストから Java へデシリアライズし、潜在的なセキュリティーリスクとなる可能性があることに注意してください。

false

MEDIUM

camel.component.http.basicPropertyBinding

コンポーネントの基本的なプロパティーバインディング(Camel 2.x)または新しいプロパティーバインディングを追加機能と共に使用するかどうか。

false

MEDIUM

camel.component.http.clientConnectionManager

カスタムおよび共有 HttpClientConnectionManager を使用して接続を管理します。これが設定されている場合、これは常にこのコンポーネントによって作成されるすべてのエンドポイントに使用されます。

null

MEDIUM

camel.component.http.connectionsPerRoute

ルートごとの最大接続数。

20

MEDIUM

camel.component.http.connectionTimeToLive

接続の有効期間中、時間単位はミリ秒で、常にデフォルト値を維持します。

null

MEDIUM

camel.component.http.httpBinding

カスタムの HttpBinding を使用して Camel メッセージと HttpClient 間のマッピングを制御する場合。

null

MEDIUM

camel.component.http.httpClientConfigurer

カスタム HttpClientConfigurer を使用して使用される HttpClient の設定を行うには、以下を行います。

null

MEDIUM

camel.component.http.httpConfiguration

共有 HttpConfiguration をベース設定として使用します。

null

MEDIUM

camel.component.http.httpContext

リクエストの実行時にカスタムの org.apache.http.protocol.HttpContext を使用します。

null

MEDIUM

camel.component.http.maxTotalConnections

最大接続数。

200

MEDIUM

camel.component.http.headerFilterStrategy

カスタムの org.apache.camel.spi.HeaderFilterStrategy を使用して、Camel メッセージとの間でヘッダーをフィルターします。

null

MEDIUM

camel.component.http.proxyAuthDomain

使用するプロキシー認証ドメイン

null

MEDIUM

camel.component.http.proxyAuthHost

プロキシー認証ホスト

null

MEDIUM

camel.component.http.proxyAuthMethod

[Basic]、[Digest]、[NTLM] のいずれかを使用するプロキシー認証方法。

null

MEDIUM

camel.component.http.proxyAuthNtHost

NTML で使用するプロキシー認証ドメイン(ワークステーション名)

null

MEDIUM

camel.component.http.proxyAuthPassword

プロキシー認証パスワード

null

MEDIUM

camel.component.http.proxyAuthPort

プロキシー認証ポート

null

MEDIUM

camel.component.http.proxyAuthUsername

プロキシー認証ユーザー名

null

MEDIUM

camel.component.http.sslContextParameters

SSLContextParameters を使用してセキュリティーを設定します。重要: HttpComponent ごとにサポートされるのは、org.apache.camel.support.jsse.SSLContextParameters の 1 つのインスタンスのみです。2 つ以上のインスタンスを使用する必要がある場合は、必要なインスタンスごとに新しい HttpComponent を定義する必要があります。

null

MEDIUM

camel.component.http.useGlobalSslContextParameters

グローバル SSL コンテキストパラメーターの使用を有効にします。

false

MEDIUM

camel.component.http.x509HostnameVerifier

DefaultHostnameVerifier または NoopHostnameVerifier などのカスタム X509HostnameVerifier を使用するには、以下を実行します。

null

MEDIUM

camel.component.http.connectionRequestTimeout

接続マネージャーから接続を要求する際に使用されるタイムアウト(ミリ秒単位)。タイムアウト値 0 は無限のタイムアウトとして解釈されます。タイムアウト値 0 は無限のタイムアウトとして解釈されます。負の値は undefined(システムのデフォルト)として解釈されます。

-1

MEDIUM

camel.component.http.connectTimeout

接続が確立されるまでのタイムアウトをミリ秒単位で指定します。タイムアウト値 0 は無限のタイムアウトとして解釈されます。タイムアウト値 0 は無限のタイムアウトとして解釈されます。負の値は undefined(システムのデフォルト)として解釈されます。

-1

MEDIUM

camel.component.http.socketTimeout

ソケットタイムアウトをミリ秒単位で定義します。これは、2 つの連続したデータパケット間の最大待機時間(異なる場合)です。タイムアウト値 0 は無限のタイムアウトとして解釈されます。負の値は undefined(システムのデフォルト)として解釈されます。

-1

MEDIUM

camel-http シンクコネクターには、そのまま使えるコンバーターがありません。

camel-http シンクコネクターには、そのまま使える変換はありません。

camel-http シンクコネクターにはそのまま使える集約ストラテジーがありません。

5.14. camel-jdbc-kafka-connector のシンク設定

camel-jdbc-kafka-connector をシンクとして使用する場合、以下の Maven 依存関係を使用してコネクターをサポートするようにしてください。

<dependency>
  <groupId>org.apache.camel.kafkaconnector</groupId>
  <artifactId>camel-jdbc-kafka-connector</artifactId>
  <version>x.x.x</version>
  <!-- use the same version as your Camel Kafka connector version -->
</dependency>

Kafka コネクションでこのシンクコネクターを使用するには、以下の connector.class を設定する必要があります。

connector.class=org.apache.camel.kafkaconnector.jdbc.CamelJdbcSinkConnector

camel-jdbc シンクコネクターは、以下に示す 19 個のオプションをサポートします。

名前説明デフォルトPriority

camel.sink.path.dataSourceName

レジストリーで検索する DataSource の名前。名前が dataSource または default の場合、Camel はレジストリーからデフォルトの DataSource の検索を試みます。つまり、見つかったインスタンスが 1 つしかない場合は、この DataSource が使用されます。

null

HIGH

camel.sink.endpoint.allowNamedParameters

クエリーで名前付きパラメーターを使用できるかどうか。

true

MEDIUM

camel.sink.endpoint.lazyStartProducer

最初のメッセージでプロデューサーをレイジーに起動すべきかどうか。レイジーに起動することで、起動時にプロデューサーが失敗し、それによりルートが失敗する可能性がある状況で、CamelContext およびルートの起動を許可します。レイジーな起動を延期すると、Camel のルーティングエラーハンドラー経由でメッセージのルーティング中に起動の失敗を処理できます。最初のメッセージが処理されるときに、プロデューサーの作成および起動に若干時間がかかり、合計処理時間が長くなる可能性があることに注意してください。

false

MEDIUM

camel.sink.endpoint.outputClass

outputType=SelectOne または SelectList 時に変換として使用する完全なパッケージおよびクラス名を指定します。

null

MEDIUM

camel.sink.endpoint.outputType

プロデューサーが使用する出力を決定します。[SelectOne]、[SelectList]、[StreamList] のいずれか。

"SelectList"

MEDIUM

camel.sink.endpoint.parameters

java.sql.Statement へのオプションのパラメーターです。たとえば、maxRows や fetchSize などを設定します。

null

MEDIUM

camel.sink.endpoint.readSize

ポーリングクエリーで読み取りできる行のデフォルトの最大数。デフォルト値は 0 です。

null

MEDIUM

camel.sink.endpoint.resetAutoCommit

Camel は JDBC コネクションの autoCommit を false に設定し、ステートメントを実行した後に変更をコミットし、resetAutoCommit が true の場合、接続の autoCommit フラグをリセットします。JDBC コネクションが autoCommit フラグのリセットをサポートしていない場合は、resetAutoCommit フラグを false に設定することで、Camel は autoCommit フラグをリセットしません。XA トランザクションと併用する場合は、トランザクションマネージャーがこの tx のコミットを担当するよう false に設定する必要があります。

true

MEDIUM

camel.sink.endpoint.transacted

トランザクションが使用中のかどうか。

false

MEDIUM

camel.sink.endpoint.useGetBytesForBlob

BLOB 列を文字列データではなくバイトとして読み取る。これは、BLOB 列をバイトとして読み取る必要がある Oracle などの特定のデータベースで必要になることがあります。

false

MEDIUM

camel.sink.endpoint.useHeadersAsParameters

名前付きパラメーターを指定した prepareStatementStrategy を使用するには、このオプションを true に設定します。これにより、名前付きプレースホルダーでクエリーを定義でき、クエリープレースホルダーの動的な値でヘッダーを使用できます。

false

MEDIUM

camel.sink.endpoint.useJDBC4ColumnNameAndLabel Semantics

列名を取得するときに JDBC 4 または JDBC 3.0 以前のセマンティックを使用するかどうかを設定します。JDBC 4.0 は columnLabel を使用して列名を取得し、JDBC 3.0 は両方の columnName または columnLabel を使用します。しかし、JDBC ドライバーの動作が異なるため、このコンポーネントの使用に問題がある場合は、このオプションを使用して JDBC ドライバーの問題を回避できます。

true

MEDIUM

camel.sink.endpoint.basicPropertyBinding

エンドポイントが基本プロパティーバインディング(Camel 2.x)または新しいプロパティーバインディングを追加機能と共に使用するかどうか。

false

MEDIUM

camel.sink.endpoint.beanRowMapper

outputClass の使用時にカスタムの org.apache.camel.component.jdbc.BeanRowMapper を使用するには、以下を行います。デフォルトの実装では、行名を小文字を下げ、アンダースコアとダッシュをスキップします。たとえば、CUST_ID は custId としてマッピングされます。

null

MEDIUM

camel.sink.endpoint.prepareStatementStrategy

プラグインがカスタムの org.apache.camel.component.jdbc.JdbcPrepareStatementStrategy を使用して、クエリーおよび準備済みステートメントの準備を制御できます。

null

MEDIUM

camel.sink.endpoint.synchronous

同期処理を厳密に使用するか、Camel が非同期処理を使用できるようにするかを設定します(サポートされている場合)。

false

MEDIUM

camel.component.jdbc.dataSource

レジストリーからデータソースを検索する代わりに DataSource インスタンスを使用します。

null

MEDIUM

camel.component.jdbc.lazyStartProducer

最初のメッセージでプロデューサーをレイジーに起動すべきかどうか。レイジーに起動することで、起動時にプロデューサーが失敗し、それによりルートが失敗する可能性がある状況で、CamelContext およびルートの起動を許可します。レイジーな起動を延期すると、Camel のルーティングエラーハンドラー経由でメッセージのルーティング中に起動の失敗を処理できます。最初のメッセージが処理されるときに、プロデューサーの作成および起動に若干時間がかかり、合計処理時間が長くなる可能性があることに注意してください。

false

MEDIUM

camel.component.jdbc.basicPropertyBinding

コンポーネントの基本的なプロパティーバインディング(Camel 2.x)または新しいプロパティーバインディングを追加機能と共に使用するかどうか。

false

MEDIUM

camel-jdbc シンクコネクターには、そのまま使えるコンバーターがありません。

camel-jdbc シンクコネクターには、そのまま使える変換はありません。

camel-jdbc シンクコネクターにはそのまま使える集約ストラテジーがありません。

5.15. camel-jms-kafka-connector のシンク設定

camel-jms-kafka-connector をシンクとして使用する場合、以下の Maven 依存関係を使用してコネクターをサポートするようにしてください。

<dependency>
  <groupId>org.apache.camel.kafkaconnector</groupId>
  <artifactId>camel-jms-kafka-connector</artifactId>
  <version>x.x.x</version>
  <!-- use the same version as your Camel Kafka connector version -->
</dependency>

Kafka コネクションでこのシンクコネクターを使用するには、以下の connector.class を設定する必要があります。

connector.class=org.apache.camel.kafkaconnector.jms.CamelJmsSinkConnector

camel-jms シンクコネクターは、以下に示す 143 オプションをサポートします。

名前説明デフォルトPriority

camel.sink.path.destinationType

[queue]、[topic]、[temp-queue]、[temp-topic] のいずれかを使用する宛先の種類。

"queue"

MEDIUM

camel.sink.path.destinationName

宛先として使用するキューまたはトピックの名前

null

HIGH

camel.sink.endpoint.clientId

使用する JMS クライアント ID を設定します。この値は一意でなければならず、単一の JMS 接続インスタンスでのみ使用できることに注意してください。通常、永続トピックサブスクリプションにのみ必要です。Apache ActiveMQ を使用する場合は、代わりに Virtual Topics を使用することが推奨されます。

null

MEDIUM

camel.sink.endpoint.connectionFactory

使用する接続ファクトリー。接続ファクトリーはコンポーネントまたはエンドポイントのいずれかで設定する必要があります。

null

MEDIUM

camel.sink.endpoint.disableReplyTo

Camel がメッセージの JMSReplyTo ヘッダーを無視するかどうかを指定します。true の場合、Camel は JMSReplyTo ヘッダーで指定された宛先に返信を返しません。Camel がルートから消費し、コードの別のコンポーネントがリプライメッセージを処理するため、Camel が自動的に応答メッセージを送りないようにするには、このオプションを使用できます。Camel を異なるメッセージブローカー間でプロキシーとして使用し、あるシステムから別のシステムへメッセージをルーティングする場合は、このオプションを使用することもできます。

false

MEDIUM

camel.sink.endpoint.durableSubscriptionName

永続トピックサブスクリプションを指定するための永続サブスクライバー名。clientId オプションも設定する必要があります。

null

MEDIUM

camel.sink.endpoint.jmsMessageType

JMS メッセージの送信に、特定の javax.jms.Message 実装を強制的に使用できるようにします。使用できる値は、Bytes、Map、Object、Stream、Text です。デフォルトでは、Camel は In body タイプから使用する JMS メッセージタイプを決定します。このオプションを指定すると、指定できます。[Bytes]、[Map]、[Object]、[Stream]、[Text] のいずれか。

null

MEDIUM

camel.sink.endpoint.testConnectionOnStartup

起動時に接続をテストするかどうかを指定します。これにより、Camel が起動すると、すべての JMS コンシューマーが JMS ブローカーへの有効な接続になります。コネクションを許可できない場合、Camel は起動時に例外をスローします。これにより、Camel が接続の失敗で開始しないようになります。JMS プロデューサーもテストされています。

false

MEDIUM

camel.sink.endpoint.deliveryDelay

JMS の送信呼び出しに使用する配信遅延を設定します。このオプションには JMS 2.0 準拠のブローカーが必要です。

-1L

MEDIUM

camel.sink.endpoint.deliveryMode

使用する配信モードを指定します。使用できる値は、javax.jms.DeliveryMode で定義される値です。NON_PERSISTENT = 1 and PERSISTENT = 2.次のいずれか: [1] [2]

null

MEDIUM

camel.sink.endpoint.deliveryPersistent

永続配信がデフォルトで使用されるかどうかを指定します。

true

MEDIUM

camel.sink.endpoint.explicitQosEnabled

メッセージの送信時に、サービスの deliveryMode、priority、または timeToLive qualities が使用される場合を設定します。このオプションは Spring の JmsTemplate に基づいています。deliveryMode、priority、および timeToLive オプションは、現在のエンドポイントに適用されます。これは、メッセージの粒度で操作する preserveMessageQos オプションとは対照的で、Camel In メッセージヘッダーからのみ QoS プロパティーを読み取ります。

"false"

MEDIUM

camel.sink.endpoint.formatDateHeadersToIso8601

ISO 8601 標準に従って JMS 日付プロパティーをフォーマットするかどうかを設定します。

false

MEDIUM

camel.sink.endpoint.lazyStartProducer

最初のメッセージでプロデューサーをレイジーに起動すべきかどうか。レイジーに起動することで、起動時にプロデューサーが失敗し、それによりルートが失敗する可能性がある状況で、CamelContext およびルートの起動を許可します。レイジーな起動を延期すると、Camel のルーティングエラーハンドラー経由でメッセージのルーティング中に起動の失敗を処理できます。最初のメッセージが処理されるときに、プロデューサーの作成および起動に若干時間がかかり、合計処理時間が長くなる可能性があることに注意してください。

false

MEDIUM

camel.sink.endpoint.preserveMessageQos

JMS エンドポイントの QoS 設定の代わりに、メッセージに指定された QoS 設定を使用してメッセージを送信する場合は、true に設定します。以下の 3 つのヘッダーは JMSPriority、JMSDeliveryMode、および JMSExpiration とみなされます。提供できるのは、すべてまたは一部のみです。指定しないと、Camel は代わりにエンドポイントから値を使用するようにフォールバックします。そのため、このオプションを使用すると、ヘッダーはエンドポイントの値を上書きします。一方、explicitQosEnabled オプションはエンドポイントに設定されたオプションのみを使用し、メッセージヘッダーの値を使用しません。

false

MEDIUM

camel.sink.endpoint.priority

1 より大きい値は送信時にメッセージの優先度を指定します(0 は優先度が最も低く、9 が最も高い値になります)。このオプションを有効にするには、explicitQosEnabled オプションも有効にする必要があります。以下のいずれか: [1] [2] [3] [4] [5] [6] [7] [8] [9]

4

MEDIUM

camel.sink.endpoint.replyToConcurrentConsumers

JMS で要求/応答を実行する際の同時コンシューマーのデフォルト数を指定します。スレッドの動的スケールアップ/ダウンを制御する maxMessagesPerTask オプションも参照してください。

1

MEDIUM

camel.sink.endpoint.replyToMaxConcurrentConsumers

JMS 上でリクエスト/応答を使用する場合の同時コンシューマーの最大数を指定します。スレッドの動的スケールアップ/ダウンを制御する maxMessagesPerTask オプションも参照してください。

null

MEDIUM

camel.sink.endpoint.replyToOnTimeoutMaxConcurrent Consumers

JMS でリクエスト/リプライタイムアウトを使用する場合に、継続中のルーティングの同時コンシューマーの最大数を指定します。

1

MEDIUM

camel.sink.endpoint.replyToOverride

JMS メッセージで明示的な ReplyTo 宛先を提供します。これにより、ReplyTo の設定が上書きされます。メッセージをリモートキューへ転送し、ReplyTo 宛先からリプライメッセージを受信する場合に便利です。

null

MEDIUM

camel.sink.endpoint.replyToType

JMS で要求/応答を実行するときに replyTo キューに使用するストラテジーを明示的に指定できます。使用できる値は、Temporary、Shared、または Exclusive です。デフォルトでは、Camel は一時キューを使用します。ただし、responseTo が設定されている場合は、デフォルトで Shared が使用されます。このオプションを使用すると、共有キューの代わりに排他キューを使用できます。詳細は、Camel JMS ドキュメント を参照してください。特に、クラスター環境で実行している場合の影響に関する注意事項と、Shared 応答キューのパフォーマンスは、その代替時間または排他的なものよりも低下します。[Temporary]、[Shared]、[Exclusive] のいずれか。

null

MEDIUM

camel.sink.endpoint.requestTimeout

InOut エクスチェンジパターン(ミリ秒単位)を使用する場合の応答を待機するタイムアウト。デフォルトは 20 秒です。ヘッダー CamelJmsRequestTimeout を含めると、このエンドポイントに設定されたタイムアウト値を上書きすることができます。そのため、メッセージごとに個別のタイムアウト値を設定できます。requestTimeoutCheckerInterval オプションも参照してください。

20000L

MEDIUM

camel.sink.endpoint.timeToLive

メッセージを送信する場合、メッセージの存続時間(ミリ秒単位)を指定します。

-1L

MEDIUM

camel.sink.endpoint.allowAdditionalHeaders

このオプションは、JMS 仕様に従って無効な値がある可能性のある追加のヘッダーを許可するために使用されます。たとえば、WMQ などの一部のメッセージシステムは、バイト配列またはその他の無効な型を持つ値が含まれる接頭辞 JMS_IBM_MQMD_ を使用するヘッダー名を持つものです。複数のヘッダー名をコンマで区切って指定し、ワイルドカードのマッチングに使用する接尾辞として使用できます。

null

MEDIUM

camel.sink.endpoint.allowNullBody

ボディーのないメッセージの送信を許可するかどうか。このオプションが false で、メッセージボディーが null の場合、JMSException が発生します。

true

MEDIUM

camel.sink.endpoint.alwaysCopyMessage

true の場合、送信のためにプロデューサーに渡されるときに Camel は常にメッセージの JMS メッセージコピーを作成します。replyToDestinationSelectorName が設定されている場合など、メッセージのコピーは一部の状況で必要になります(replyToDestinationSelectorName が設定されている場合、Camel は alwaysCopyMessage オプションを true に設定します)。

false

MEDIUM

camel.sink.endpoint.correlationProperty

InOut 交換パターンを使用する場合は、JMSCorrelationID JMS プロパティーの代わりにこの JMS プロパティーを使用してメッセージを関連付けます。設定されたメッセージは、このプロパティー JMSCorrelationID プロパティーの値でのみ相関し、Camel によって設定されません。

null

MEDIUM

camel.sink.endpoint.disableTimeToLive

このオプションを使用して、ライブ時間を強制的に無効にします。たとえば、JMS でリクエスト/応答を行う場合、Camel はデフォルトで送信されるメッセージの有効期間として requestTimeout の値を使用します。この問題は、送信側および受信側システムにクロックを同期して同期する必要があることです。これは常に簡単にアーカイブできる訳ではありません。したがって、disableTimeToLive=true を使用して、送信されたメッセージで時間がライブ値を設定しないようにすることができます。その後、メッセージは受信側システムで期限切れになりません。詳細は、以下のセクションの「ライブ時間について」を参照してください。

false

MEDIUM

camel.sink.endpoint.forceSendOriginalMessage

mapJmsMessage=false を使用する場合、ルート中にヘッダー(get または set)を操作すると、Camel は新しい JMS 宛先に送信する新しい JMS メッセージを送信します。このオプションを true に設定して、Camel が受信した元の JMS メッセージを送信するように強制します。

false

MEDIUM

camel.sink.endpoint.includeSentJMSMessageID

InOnly を使用して JMS 宛先に送信する場合にのみ適用されます(例: fire and forget)。このオプションを有効にすると、Camel Exchange は、メッセージが JMS 宛先に送信されたときに JMS クライアントによって使用される実際の JMSMessageID でエンリッチされます。

false

MEDIUM

camel.sink.endpoint.replyToCacheLevelName

JMS で要求/応答を実行するときに、リプライコンシューマーの名前でキャッシュレベルを設定します。このオプションは、(一時的ではなく)固定応答キューを使用している場合に限り該当します。Camel はデフォルトで CACHE_CONSUMER(排他的の場合)または shared w/ replyToSelectorName を使用します。replyToSelectorName なしで共有される CACHE_SESSION。IBM WebSphere などの JMS ブローカーによっては、reToCacheLevelName=CACHE_NONE が機能するように設定する必要がある場合があります。注記: 一時キューを使用する場合は CACHE_NONE は許可されず、CACHE_CONSUMER や CACHE_SESSION などの高い値を使用する必要があります。[CACHE_AUTO]、[CACHE_CONNECTION]、[CACHE_CONSUMER]、[CACHE_NONE]、[CACHE_SESSION] のいずれか。

null

MEDIUM

camel.sink.endpoint.replyToDestinationSelectorName

共有キューの使用時に(一時的な応答キューを使用していない場合は)他のユーザーからの独自のリプライをフィルタリングできるように、固定名を使用して JMS セレクターを設定します。

null

MEDIUM

camel.sink.endpoint.streamMessageTypeEnabled

StreamMessage タイプが有効かどうかを指定します。ファイル、InputStream などのストリーミングタイプのメッセージペイロードは、BytesMessage または StreamMessage として送信されます。このオプションは、使用される種類を制御します。デフォルトでは、BytesMessage を使用して、メッセージペイロード全体をメモリーに読み込みます。このオプションを有効にすると、メッセージペイロードはチャンクのメモリーに読み取られ、各チャンクはデータがなくなるまで StreamMessage に書き込まれます。

false

MEDIUM

camel.sink.endpoint.allowSerializedHeaders

シリアライズされたヘッダーを含めるかどうかを制御します。transferExchange が true の場合にのみ適用されます。これには、オブジェクトがシリアライズ可能である必要があります。Camel はシリアル化不可能なオブジェクトをすべて除外し、WARN レベルでログに記録されます。

false

MEDIUM

camel.sink.endpoint.artemisStreamingEnabled

Apache Artemis ストリーミングモードを最適化するかどうか。

true

MEDIUM

camel.sink.endpoint.asyncStartListener

ルートの開始時に JmsConsumer メッセージリスナーを非同期に起動するかどうか。たとえば、JmsConsumer がリモート JMS ブローカーへの接続を取得できない場合は、再試行中やフェイルオーバー中にブロックされる可能性があります。これにより、ルートの起動中に Camel がブロックされます。このオプションを true に設定すると、ルートの起動が可能になりますが、JmsConsumer は非同期モードで専用のスレッドを使用して JMS ブローカーに接続します。このオプションを使用すると、接続が確立されないと、WARN レベルで例外がログに記録され、コンシューマーはメッセージを受信できなくなります。次にルートを再起動して再試行できます。

false

MEDIUM

camel.sink.endpoint.asyncStopListener

ルートを停止するときに JmsConsumer メッセージリスナーを非同期的に停止するかどうか。

false

MEDIUM

camel.sink.endpoint.basicPropertyBinding

エンドポイントが基本プロパティーバインディング(Camel 2.x)または新しいプロパティーバインディングを追加機能と共に使用するかどうか。

false

MEDIUM

camel.sink.endpoint.destinationResolver

独自のリゾルバーを使用できるプラグ可能な org.springframework.jms.support.destination.DestinationResolver(たとえば、JNDI レジストリーから実際の宛先を検索するためなど)。

null

MEDIUM

camel.sink.endpoint.errorHandler

メッセージの処理中にキャッチされない例外が発生した場合に呼び出される org.springframework.util.ErrorHandler を指定します。デフォルトでは、errorHandler が設定されていない場合、これらの例外は WARN レベルでログに記録されます。errorHandlerLoggingLevel および errorHandlerLogStackTrace オプションを使用して、ロギングレベルおよびスタックトレースをログに記録するかどうかを設定できます。これにより、カスタム errorHandler をコーディングする必要よりも、設定が非常に簡単になります。

null

MEDIUM

camel.sink.endpoint.exceptionListener

基礎となる JMS 例外が通知される JMS 例外リスナーを指定します。

null

MEDIUM

camel.sink.endpoint.headerFilterStrategy

カスタム HeaderFilterStrategy を使用して Camel メッセージに対してヘッダーをフィルターします。

null

MEDIUM

camel.sink.endpoint.idleConsumerLimit

いつでもアイドル状態にできるコンシューマーの数の制限を指定します。

1

MEDIUM

camel.sink.endpoint.idleTaskExecutionLimit

実行内でメッセージを受信せずに、受信タスクのアイドル実行の制限を指定します。この制限に達すると、タスクはシャットダウンし、他の実行中のタスク(動的なスケジューリングの場合は maxConcurrentConsumers の設定)を受信し続けます。Spring には追加のドキュメントがあります。

1

MEDIUM

camel.sink.endpoint.includeAllJMSXProperties

JMS から Camel メッセージへのマッピング時に、すべての JMSXxxx プロパティーを含めるかどうか。これを true に設定すると、JMSXAppID や JMSXUserID などのプロパティーが含まれます。注記: カスタムの headerFilterStrategy を使用している場合は、このオプションは適用されません。

false

MEDIUM

camel.sink.endpoint.jmsKeyFormatStrategy

JMS 鍵をエンコードおよびデコードするためのプラグ可能なストラテジー。これにより、JMS 仕様に準拠します。Camel は、追加設定なしで、default と passthrough の 2 つの実装を提供します。デフォルトのストラテジーは、ドットとハイフン(. および -)を安全にマーシャリングします。passthrough ストラテジーは、鍵をそのまま残します。JMS ヘッダーキーに不正な文字が含まれるかどうかは気にしない JMS ブローカーに使用できます。org.apache.camel.component.jms.JmsKeyFormatStrategy の独自の実装を提供し、# 表記を使用して参照できます。[default]、[passthrough] のいずれか。

null

MEDIUM

camel.sink.endpoint.mapJmsMessage

Camel が受信した JMS メッセージを適切なペイロードタイプ(javax.jms.TextMessage など)に自動マッピングするかどうかを指定します。

true

MEDIUM

camel.sink.endpoint.maxMessagesPerTask

タスクごとのメッセージ数。-1 は無制限です。同時コンシューマー(min max など)に範囲を使用する場合、このオプションを使用して値を eg 100 に設定して、作業が少なくなる場合にコンシューマーのスピードを制御することができます。

-1

MEDIUM

camel.sink.endpoint.messageConverter

javax.jms.Message への/からのマップ方法を制御するため、カスタムの Spring org.springframework.jms.support.converter.MessageConverter を使用します。

null

MEDIUM

camel.sink.endpoint.messageCreatedStrategy

Camel が JMS メッセージを送信するときに Camel が javax.jms.Message オブジェクトの新規インスタンスを作成する際に呼び出される指定の MessageCreatedStrategy を使用します。

null

MEDIUM

camel.sink.endpoint.messageIdEnabled

送信時に、メッセージ ID を追加するかどうかを指定します。これは JMS ブローカーへのヒントに過ぎません。JMS プロバイダーがこのヒントを受け入れる場合、これらのメッセージにはメッセージ ID が null に設定されている必要があります。プロバイダーがヒントを無視する場合は、メッセージ ID を通常の一意の値に設定する必要があります。

true

MEDIUM

camel.sink.endpoint.messageListenerContainer Factory

メッセージを消費するために使用する org.springframework.jms.listener.AbstractMessageListenerContainer を決定するために使用される MessageListenerContainerFactory のレジストリー ID。これを設定すると、consumerType が自動的に Custom に設定されます。

null

MEDIUM

camel.sink.endpoint.messageTimestampEnabled

メッセージの送信時にタイムスタンプをデフォルトで有効にするかどうかを指定します。これは JMS ブローカーへのヒントに過ぎません。JMS プロバイダーがこのヒントを受け入れる場合、これらのメッセージではタイムスタンプがゼロに設定される必要があります。プロバイダーがヒントを無視する場合は、タイムスタンプを通常の値に設定する必要があります。

true

MEDIUM

camel.sink.endpoint.pubSubNoLocal

独自の接続によって公開されるメッセージの配信を抑制するかどうかを指定します。

false

MEDIUM

camel.sink.endpoint.receiveTimeout

メッセージの受信のタイムアウト(ミリ秒単位)。

1000L

MEDIUM

camel.sink.endpoint.recoveryInterval

リカバリーを試行する間隔を指定します(例: 接続の更新時(ミリ秒単位)。デフォルトは 5000 ミリ秒で、5 秒です。

5000L

MEDIUM

camel.sink.endpoint.requestTimeoutCheckerInterval

JMS でリクエスト/リプライを行うときに Camel がタイムアウトしたエクスチェンジをチェックする頻度を設定します。デフォルトでは、Camel は 1 秒ごとに 1 回チェックします。ただし、タイムアウトの発生時により迅速に対応する必要がある場合は、この間隔を減らしてより頻繁に確認できます。タイムアウトは、requestTimeout オプションで決定されます。

1000L

MEDIUM

camel.sink.endpoint.synchronous

同期処理を厳密に使用するか、Camel が非同期処理を使用できるようにするかを設定します(サポートされている場合)。

false

MEDIUM

camel.sink.endpoint.transferException

有効にすると、リクエスト応答メッセージング(InOut)を使用し、エクスチェンジがコンシューマー側で失敗した場合、発生した例外は javax.jms.ObjectMessage として応答として返信されます。クライアントが Camel の場合、返された Exception が再スローされます。これにより、Camel JMS をルーティングのブリッジとして使用できます。たとえば、永続キューを使用して堅牢なルーティングを有効にすることができます。transferExchange も有効化されている場合には、このオプションが優先されます。例外がシリアライズ可能である必要があります。コンシューマー側の元の例外は、プロデューサーに戻されたときに org.apache.camel.RuntimeCamelException などの外部例外でラップできます。データは Java オブジェクトのシリアライゼーションを使用し、受信がクラスレベルでデータをデシリアライズできるようにする必要があります。これにより、プロデューサーとコンシューマー間で強力な結合が強制されます。

false

MEDIUM

camel.sink.endpoint.transferExchange

ボディーとヘッダーだけでなく、ネットワーク上でエクスチェンジを転送できます。次のフィールドが転送されます。本文、Out ボディー、フォールト本文、In ヘッダー、Out ヘッダー、フォールトヘッダー、エクスチェンジプロパティー、エクスチェンジ例外。これには、オブジェクトがシリアライズ可能である必要があります。Camel はシリアル化不可能なオブジェクトをすべて除外し、WARN レベルでログに記録されます。プロデューサーとコンシューマー側の両方でこのオプションを有効にする必要があります。そのため、Camel はペイロードが通常のペイロードではなく Exchange を認識します。データは Java オブジェクトのシリアライゼーションを使用し、受信がクラスレベルでデータをデシリアライズできるようにする必要があります。これにより、互換性のある Camel バージョンを使用するプロデューサーとコンシューマー間で強力な結合が強制されます。

false

MEDIUM

camel.sink.endpoint.useMessageIDAsCorrelationID

InOut メッセージに対して JMSCorrelationID として常に JMSMessageID を使用するかどうかを指定します。

false

MEDIUM

camel.sink.endpoint.waitForProvisionCorrelationTo BeUpdatedCounter

request/reply over JMS を実行し、オプション useMessageIDAsCorrelationID が有効になっている場合に、プロビジョニング ID が実際の相関 ID に更新されるまで待機する回数。

50

MEDIUM

camel.sink.endpoint.waitForProvisionCorrelationTo BeUpdatedThreadSleepingTime

プロビジョニングの相関 ID の更新を待機する間に毎回スリープ状態になる間隔(ミリ秒単位)。

100L

MEDIUM

camel.sink.endpoint.password

ConnectionFactory で使用するパスワード。また、ユーザー名/パスワードを ConnectionFactory に直接設定することもできます。

null

MEDIUM

camel.sink.endpoint.username

ConnectionFactory で使用するユーザー名。また、ユーザー名/パスワードを ConnectionFactory に直接設定することもできます。

null

MEDIUM

camel.sink.endpoint.transacted

トランザクションモードを使用するかどうかを指定します。

false

MEDIUM

camel.sink.endpoint.transactedInOut

このフラグが true に設定されている場合、InOut 操作(要求応答)のデフォルトが transacted モードを使用するように指定され、Spring JmsTemplate には sessionTransacted が true に設定され、InOut 操作に使用される JmsTemplate で acknowledgeMode がトランザクションとして処理されるかどうかを指定します。Spring JMS から: JTA トランザクション内で createQueue に渡されるパラメーター createTopic メソッドは考慮されません。Java EE トランザクションコンテキストに応じて、コンテナーはこれらの値に対して独自の決定を行います。この場合、Spring JMS は既存の JMS セッションで動作するため、これらのパラメーターはローカルで管理されるトランザクション内で考慮されません。このフラグを true に設定すると、管理トランザクション外で実行される場合は短いローカル JMS トランザクションが使用され、管理トランザクション(XA トランザクション以外)が存在する場合に同期されたローカル JMS トランザクションが使用されます。これは、メインのトランザクションとともに管理されるローカル JMS トランザクション(ネイティブ JDBC トランザクションである可能性がある)の影響を受け、JMS トランザクションはメイントランザクションの直後にコミットされます。

false

MEDIUM

camel.sink.endpoint.lazyCreateTransactionManager

true の場合、transacted=true オプション時に transactionManager が挿入されていない場合、Camel は JmsTransactionManager を作成します。

true

MEDIUM

camel.sink.endpoint.transactionManager

使用する Spring トランザクションマネージャー。

null

MEDIUM

camel.sink.endpoint.transactionName

使用するトランザクションの名前。

null

MEDIUM

camel.sink.endpoint.transactionTimeout

トランザクションモードを使用している場合は、トランザクションのタイムアウト値(秒単位)。

-1

MEDIUM

camel.component.jms.clientId

使用する JMS クライアント ID を設定します。この値は一意でなければならず、単一の JMS 接続インスタンスでのみ使用できることに注意してください。通常、永続トピックサブスクリプションにのみ必要です。Apache ActiveMQ を使用する場合は、代わりに Virtual Topics を使用することが推奨されます。

null

MEDIUM

camel.component.jms.connectionFactory

使用する接続ファクトリー。接続ファクトリーはコンポーネントまたはエンドポイントのいずれかで設定する必要があります。

null

MEDIUM

camel.component.jms.disableReplyTo

Camel がメッセージの JMSReplyTo ヘッダーを無視するかどうかを指定します。true の場合、Camel は JMSReplyTo ヘッダーで指定された宛先に返信を返しません。Camel がルートから消費し、コードの別のコンポーネントがリプライメッセージを処理するため、Camel が自動的に応答メッセージを送りないようにするには、このオプションを使用できます。Camel を異なるメッセージブローカー間でプロキシーとして使用し、あるシステムから別のシステムへメッセージをルーティングする場合は、このオプションを使用することもできます。

false

MEDIUM

camel.component.jms.durableSubscriptionName

永続トピックサブスクリプションを指定するための永続サブスクライバー名。clientId オプションも設定する必要があります。

null

MEDIUM

camel.component.jms.jmsMessageType

JMS メッセージの送信に、特定の javax.jms.Message 実装を強制的に使用できるようにします。使用できる値は、Bytes、Map、Object、Stream、Text です。デフォルトでは、Camel は In body タイプから使用する JMS メッセージタイプを決定します。このオプションを指定すると、指定できます。[Bytes]、[Map]、[Object]、[Stream]、[Text] のいずれか。

null

MEDIUM

camel.component.jms.testConnectionOnStartup

起動時に接続をテストするかどうかを指定します。これにより、Camel が起動すると、すべての JMS コンシューマーが JMS ブローカーへの有効な接続になります。コネクションを許可できない場合、Camel は起動時に例外をスローします。これにより、Camel が接続の失敗で開始しないようになります。JMS プロデューサーもテストされています。

false

MEDIUM

camel.component.jms.deliveryDelay

JMS の送信呼び出しに使用する配信遅延を設定します。このオプションには JMS 2.0 準拠のブローカーが必要です。

-1L

MEDIUM

camel.component.jms.deliveryMode

使用する配信モードを指定します。使用できる値は、javax.jms.DeliveryMode で定義される値です。NON_PERSISTENT = 1 and PERSISTENT = 2.次のいずれか: [1] [2]

null

MEDIUM

camel.component.jms.deliveryPersistent

永続配信がデフォルトで使用されるかどうかを指定します。

true

MEDIUM

camel.component.jms.explicitQosEnabled

メッセージの送信時に、サービスの deliveryMode、priority、または timeToLive qualities が使用される場合を設定します。このオプションは Spring の JmsTemplate に基づいています。deliveryMode、priority、および timeToLive オプションは、現在のエンドポイントに適用されます。これは、メッセージの粒度で操作する preserveMessageQos オプションとは対照的で、Camel In メッセージヘッダーからのみ QoS プロパティーを読み取ります。

"false"

MEDIUM

camel.component.jms.formatDateHeadersToIso8601

ISO 8601 標準に従って JMS 日付プロパティーをフォーマットするかどうかを設定します。

false

MEDIUM

camel.component.jms.lazyStartProducer

最初のメッセージでプロデューサーをレイジーに起動すべきかどうか。レイジーに起動することで、起動時にプロデューサーが失敗し、それによりルートが失敗する可能性がある状況で、CamelContext およびルートの起動を許可します。レイジーな起動を延期すると、Camel のルーティングエラーハンドラー経由でメッセージのルーティング中に起動の失敗を処理できます。最初のメッセージが処理されるときに、プロデューサーの作成および起動に若干時間がかかり、合計処理時間が長くなる可能性があることに注意してください。

false

MEDIUM

camel.component.jms.preserveMessageQos

JMS エンドポイントの QoS 設定の代わりに、メッセージに指定された QoS 設定を使用してメッセージを送信する場合は、true に設定します。以下の 3 つのヘッダーは JMSPriority、JMSDeliveryMode、および JMSExpiration とみなされます。提供できるのは、すべてまたは一部のみです。指定しないと、Camel は代わりにエンドポイントから値を使用するようにフォールバックします。そのため、このオプションを使用すると、ヘッダーはエンドポイントの値を上書きします。一方、explicitQosEnabled オプションはエンドポイントに設定されたオプションのみを使用し、メッセージヘッダーの値を使用しません。

false

MEDIUM

camel.component.jms.priority

1 より大きい値は送信時にメッセージの優先度を指定します(0 は優先度が最も低く、9 が最も高い値になります)。このオプションを有効にするには、explicitQosEnabled オプションも有効にする必要があります。以下のいずれか: [1] [2] [3] [4] [5] [6] [7] [8] [9]

4

MEDIUM

camel.component.jms.replyToConcurrentConsumers

JMS で要求/応答を実行する際の同時コンシューマーのデフォルト数を指定します。スレッドの動的スケールアップ/ダウンを制御する maxMessagesPerTask オプションも参照してください。

1

MEDIUM

camel.component.jms.replyToMaxConcurrentConsumers

JMS 上でリクエスト/応答を使用する場合の同時コンシューマーの最大数を指定します。スレッドの動的スケールアップ/ダウンを制御する maxMessagesPerTask オプションも参照してください。

null

MEDIUM

camel.component.jms.replyToOnTimeoutMaxConcurrent Consumers

JMS でリクエスト/リプライタイムアウトを使用する場合に、継続中のルーティングの同時コンシューマーの最大数を指定します。

1

MEDIUM

camel.component.jms.replyToOverride

JMS メッセージで明示的な ReplyTo 宛先を提供します。これにより、ReplyTo の設定が上書きされます。メッセージをリモートキューへ転送し、ReplyTo 宛先からリプライメッセージを受信する場合に便利です。

null

MEDIUM

camel.component.jms.replyToType

JMS で要求/応答を実行するときに replyTo キューに使用するストラテジーを明示的に指定できます。使用できる値は、Temporary、Shared、または Exclusive です。デフォルトでは、Camel は一時キューを使用します。ただし、responseTo が設定されている場合は、デフォルトで Shared が使用されます。このオプションを使用すると、共有キューの代わりに排他キューを使用できます。詳細は、Camel JMS ドキュメント を参照してください。特に、クラスター環境で実行している場合の影響に関する注意事項と、Shared 応答キューのパフォーマンスは、その代替時間または排他的なものよりも低下します。[Temporary]、[Shared]、[Exclusive] のいずれか。

null

MEDIUM

camel.component.jms.requestTimeout

InOut エクスチェンジパターン(ミリ秒単位)を使用する場合の応答を待機するタイムアウト。デフォルトは 20 秒です。ヘッダー CamelJmsRequestTimeout を含めると、このエンドポイントに設定されたタイムアウト値を上書きすることができます。そのため、メッセージごとに個別のタイムアウト値を設定できます。requestTimeoutCheckerInterval オプションも参照してください。

20000L

MEDIUM

camel.component.jms.timeToLive

メッセージを送信する場合、メッセージの存続時間(ミリ秒単位)を指定します。

-1L

MEDIUM

camel.component.jms.allowAdditionalHeaders

このオプションは、JMS 仕様に従って無効な値がある可能性のある追加のヘッダーを許可するために使用されます。たとえば、WMQ などの一部のメッセージシステムは、バイト配列またはその他の無効な型を持つ値が含まれる接頭辞 JMS_IBM_MQMD_ を使用するヘッダー名を持つものです。複数のヘッダー名をコンマで区切って指定し、ワイルドカードのマッチングに使用する接尾辞として使用できます。

null

MEDIUM

camel.component.jms.allowNullBody

ボディーのないメッセージの送信を許可するかどうか。このオプションが false で、メッセージボディーが null の場合、JMSException が発生します。

true

MEDIUM

camel.component.jms.alwaysCopyMessage

true の場合、送信のためにプロデューサーに渡されるときに Camel は常にメッセージの JMS メッセージコピーを作成します。replyToDestinationSelectorName が設定されている場合など、メッセージのコピーは一部の状況で必要になります(replyToDestinationSelectorName が設定されている場合、Camel は alwaysCopyMessage オプションを true に設定します)。

false

MEDIUM

camel.component.jms.correlationProperty

InOut 交換パターンを使用する場合は、JMSCorrelationID JMS プロパティーの代わりにこの JMS プロパティーを使用してメッセージを関連付けます。設定されたメッセージは、このプロパティー JMSCorrelationID プロパティーの値でのみ相関し、Camel によって設定されません。

null

MEDIUM

camel.component.jms.disableTimeToLive

このオプションを使用して、ライブ時間を強制的に無効にします。たとえば、JMS でリクエスト/応答を行う場合、Camel はデフォルトで送信されるメッセージの有効期間として requestTimeout の値を使用します。この問題は、送信側および受信側システムにクロックを同期して同期する必要があることです。これは常に簡単にアーカイブできる訳ではありません。したがって、disableTimeToLive=true を使用して、送信されたメッセージで時間がライブ値を設定しないようにすることができます。その後、メッセージは受信側システムで期限切れになりません。詳細は、以下のセクションの「ライブ時間について」を参照してください。

false

MEDIUM

camel.component.jms.forceSendOriginalMessage

mapJmsMessage=false を使用する場合、ルート中にヘッダー(get または set)を操作すると、Camel は新しい JMS 宛先に送信する新しい JMS メッセージを送信します。このオプションを true に設定して、Camel が受信した元の JMS メッセージを送信するように強制します。

false

MEDIUM

camel.component.jms.includeSentJMSMessageID

InOnly を使用して JMS 宛先に送信する場合にのみ適用されます(例: fire and forget)。このオプションを有効にすると、Camel Exchange は、メッセージが JMS 宛先に送信されたときに JMS クライアントによって使用される実際の JMSMessageID でエンリッチされます。

false

MEDIUM

camel.component.jms.replyToCacheLevelName

JMS で要求/応答を実行するときに、リプライコンシューマーの名前でキャッシュレベルを設定します。このオプションは、(一時的ではなく)固定応答キューを使用している場合に限り該当します。Camel はデフォルトで CACHE_CONSUMER(排他的の場合)または shared w/ replyToSelectorName を使用します。replyToSelectorName なしで共有される CACHE_SESSION。IBM WebSphere などの JMS ブローカーによっては、reToCacheLevelName=CACHE_NONE が機能するように設定する必要がある場合があります。注記: 一時キューを使用する場合は CACHE_NONE は許可されず、CACHE_CONSUMER や CACHE_SESSION などの高い値を使用する必要があります。[CACHE_AUTO]、[CACHE_CONNECTION]、[CACHE_CONSUMER]、[CACHE_NONE]、[CACHE_SESSION] のいずれか。

null

MEDIUM

camel.component.jms.replyToDestinationSelectorName

共有キューの使用時に(一時的な応答キューを使用していない場合は)他のユーザーからの独自のリプライをフィルタリングできるように、固定名を使用して JMS セレクターを設定します。

null

MEDIUM

camel.component.jms.streamMessageTypeEnabled

StreamMessage タイプが有効かどうかを指定します。ファイル、InputStream などのストリーミングタイプのメッセージペイロードは、BytesMessage または StreamMessage として送信されます。このオプションは、使用される種類を制御します。デフォルトでは、BytesMessage を使用して、メッセージペイロード全体をメモリーに読み込みます。このオプションを有効にすると、メッセージペイロードはチャンクのメモリーに読み取られ、各チャンクはデータがなくなるまで StreamMessage に書き込まれます。

false

MEDIUM

camel.component.jms.allowAutoWiredConnection Factory

接続ファクトリーが設定されていない場合に、レジストリーから ConnectionFactory を自動検出するかどうか。ConnectionFactory の 1 つのインスタンスのみが見つかると、そのインスタンスが使用されます。これはデフォルトで有効になっています。

true

MEDIUM

camel.component.jms.allowAutoWiredDestination Resolver

宛先リゾルバーが設定されていない場合には、レジストリーから DestinationResolver を自動検出するかどうか。DestinationResolver のインスタンスが 1 つだけ見つかった場合は、それが使用されます。これはデフォルトで有効になっています。

true

MEDIUM

camel.component.jms.allowSerializedHeaders

シリアライズされたヘッダーを含めるかどうかを制御します。transferExchange が true の場合にのみ適用されます。これには、オブジェクトがシリアライズ可能である必要があります。Camel はシリアル化不可能なオブジェクトをすべて除外し、WARN レベルでログに記録されます。

false

MEDIUM

camel.component.jms.artemisStreamingEnabled

Apache Artemis ストリーミングモードを最適化するかどうか。

true

MEDIUM

camel.component.jms.asyncStartListener

ルートの開始時に JmsConsumer メッセージリスナーを非同期に起動するかどうか。たとえば、JmsConsumer がリモート JMS ブローカーへの接続を取得できない場合は、再試行中やフェイルオーバー中にブロックされる可能性があります。これにより、ルートの起動中に Camel がブロックされます。このオプションを true に設定すると、ルートの起動が可能になりますが、JmsConsumer は非同期モードで専用のスレッドを使用して JMS ブローカーに接続します。このオプションを使用すると、接続が確立されないと、WARN レベルで例外がログに記録され、コンシューマーはメッセージを受信できなくなります。次にルートを再起動して再試行できます。

false

MEDIUM

camel.component.jms.asyncStopListener

ルートを停止するときに JmsConsumer メッセージリスナーを非同期的に停止するかどうか。

false

MEDIUM

camel.component.jms.basicPropertyBinding

コンポーネントの基本的なプロパティーバインディング(Camel 2.x)または新しいプロパティーバインディングを追加機能と共に使用するかどうか。

false

MEDIUM

camel.component.jms.configuration

共有 JMS 設定を使用するには、以下を実行します。

null

MEDIUM

camel.component.jms.destinationResolver

独自のリゾルバーを使用できるプラグ可能な org.springframework.jms.support.destination.DestinationResolver(たとえば、JNDI レジストリーから実際の宛先を検索するためなど)。

null

MEDIUM

camel.component.jms.errorHandler

メッセージの処理中にキャッチされない例外が発生した場合に呼び出される org.springframework.util.ErrorHandler を指定します。デフォルトでは、errorHandler が設定されていない場合、これらの例外は WARN レベルでログに記録されます。errorHandlerLoggingLevel および errorHandlerLogStackTrace オプションを使用して、ロギングレベルおよびスタックトレースをログに記録するかどうかを設定できます。これにより、カスタム errorHandler をコーディングする必要よりも、設定が非常に簡単になります。

null

MEDIUM

camel.component.jms.exceptionListener

基礎となる JMS 例外が通知される JMS 例外リスナーを指定します。

null

MEDIUM

camel.component.jms.idleConsumerLimit

いつでもアイドル状態にできるコンシューマーの数の制限を指定します。

1

MEDIUM

camel.component.jms.idleTaskExecutionLimit

実行内でメッセージを受信せずに、受信タスクのアイドル実行の制限を指定します。この制限に達すると、タスクはシャットダウンし、他の実行中のタスク(動的なスケジューリングの場合は maxConcurrentConsumers の設定)を受信し続けます。Spring には追加のドキュメントがあります。

1

MEDIUM

camel.component.jms.includeAllJMSXProperties

JMS から Camel メッセージへのマッピング時に、すべての JMSXxxx プロパティーを含めるかどうか。これを true に設定すると、JMSXAppID や JMSXUserID などのプロパティーが含まれます。注記: カスタムの headerFilterStrategy を使用している場合は、このオプションは適用されません。

false

MEDIUM

camel.component.jms.jmsKeyFormatStrategy

JMS 鍵をエンコードおよびデコードするためのプラグ可能なストラテジー。これにより、JMS 仕様に準拠します。Camel は、追加設定なしで、default と passthrough の 2 つの実装を提供します。デフォルトのストラテジーは、ドットとハイフン(. および -)を安全にマーシャリングします。passthrough ストラテジーは、鍵をそのまま残します。JMS ヘッダーキーに不正な文字が含まれるかどうかは気にしない JMS ブローカーに使用できます。org.apache.camel.component.jms.JmsKeyFormatStrategy の独自の実装を提供し、# 表記を使用して参照できます。[default]、[passthrough] のいずれか。

null

MEDIUM

camel.component.jms.mapJmsMessage

Camel が受信した JMS メッセージを適切なペイロードタイプ(javax.jms.TextMessage など)に自動マッピングするかどうかを指定します。

true

MEDIUM

camel.component.jms.maxMessagesPerTask

タスクごとのメッセージ数。-1 は無制限です。同時コンシューマー(min max など)に範囲を使用する場合、このオプションを使用して値を eg 100 に設定して、作業が少なくなる場合にコンシューマーのスピードを制御することができます。

-1

MEDIUM

camel.component.jms.messageConverter

javax.jms.Message への/からのマップ方法を制御するため、カスタムの Spring org.springframework.jms.support.converter.MessageConverter を使用します。

null

MEDIUM

camel.component.jms.messageCreatedStrategy

Camel が JMS メッセージを送信するときに Camel が javax.jms.Message オブジェクトの新規インスタンスを作成する際に呼び出される指定の MessageCreatedStrategy を使用します。

null

MEDIUM

camel.component.jms.messageIdEnabled

送信時に、メッセージ ID を追加するかどうかを指定します。これは JMS ブローカーへのヒントに過ぎません。JMS プロバイダーがこのヒントを受け入れる場合、これらのメッセージにはメッセージ ID が null に設定されている必要があります。プロバイダーがヒントを無視する場合は、メッセージ ID を通常の一意の値に設定する必要があります。

true

MEDIUM

camel.component.jms.messageListenerContainer Factory

メッセージを消費するために使用する org.springframework.jms.listener.AbstractMessageListenerContainer を決定するために使用される MessageListenerContainerFactory のレジストリー ID。これを設定すると、consumerType が自動的に Custom に設定されます。

null

MEDIUM

camel.component.jms.messageTimestampEnabled

メッセージの送信時にタイムスタンプをデフォルトで有効にするかどうかを指定します。これは JMS ブローカーへのヒントに過ぎません。JMS プロバイダーがこのヒントを受け入れる場合、これらのメッセージではタイムスタンプがゼロに設定される必要があります。プロバイダーがヒントを無視する場合は、タイムスタンプを通常の値に設定する必要があります。

true

MEDIUM

camel.component.jms.pubSubNoLocal

独自の接続によって公開されるメッセージの配信を抑制するかどうかを指定します。

false

MEDIUM

camel.component.jms.queueBrowseStrategy

キューの参照時にカスタム QueueBrowseStrategy を使用する

null

MEDIUM

camel.component.jms.receiveTimeout

メッセージの受信のタイムアウト(ミリ秒単位)。

1000L

MEDIUM

camel.component.jms.recoveryInterval

リカバリーを試行する間隔を指定します(例: 接続の更新時(ミリ秒単位)。デフォルトは 5000 ミリ秒で、5 秒です。

5000L

MEDIUM

camel.component.jms.requestTimeoutCheckerInterval

JMS でリクエスト/リプライを行うときに Camel がタイムアウトしたエクスチェンジをチェックする頻度を設定します。デフォルトでは、Camel は 1 秒ごとに 1 回チェックします。ただし、タイムアウトの発生時により迅速に対応する必要がある場合は、この間隔を減らしてより頻繁に確認できます。タイムアウトは、requestTimeout オプションで決定されます。

1000L

MEDIUM

camel.component.jms.transferException

有効にすると、リクエスト応答メッセージング(InOut)を使用し、エクスチェンジがコンシューマー側で失敗した場合、発生した例外は javax.jms.ObjectMessage として応答として返信されます。クライアントが Camel の場合、返された Exception が再スローされます。これにより、Camel JMS をルーティングのブリッジとして使用できます。たとえば、永続キューを使用して堅牢なルーティングを有効にすることができます。transferExchange も有効化されている場合には、このオプションが優先されます。例外がシリアライズ可能である必要があります。コンシューマー側の元の例外は、プロデューサーに戻されたときに org.apache.camel.RuntimeCamelException などの外部例外でラップできます。データは Java オブジェクトのシリアライゼーションを使用し、受信がクラスレベルでデータをデシリアライズできるようにする必要があります。これにより、プロデューサーとコンシューマー間で強力な結合が強制されます。

false

MEDIUM

camel.component.jms.transferExchange

ボディーとヘッダーだけでなく、ネットワーク上でエクスチェンジを転送できます。次のフィールドが転送されます。本文、Out ボディー、フォールト本文、In ヘッダー、Out ヘッダー、フォールトヘッダー、エクスチェンジプロパティー、エクスチェンジ例外。これには、オブジェクトがシリアライズ可能である必要があります。Camel はシリアル化不可能なオブジェクトをすべて除外し、WARN レベルでログに記録されます。プロデューサーとコンシューマー側の両方でこのオプションを有効にする必要があります。そのため、Camel はペイロードが通常のペイロードではなく Exchange を認識します。データは Java オブジェクトのシリアライゼーションを使用し、受信がクラスレベルでデータをデシリアライズできるようにする必要があります。これにより、互換性のある Camel バージョンを使用するプロデューサーとコンシューマー間で強力な結合が強制されます。

false

MEDIUM

camel.component.jms.useMessageIDAsCorrelationID

InOut メッセージに対して JMSCorrelationID として常に JMSMessageID を使用するかどうかを指定します。

false

MEDIUM

camel.component.jms.waitForProvisionCorrelationTo BeUpdatedCounter

request/reply over JMS を実行し、オプション useMessageIDAsCorrelationID が有効になっている場合に、プロビジョニング ID が実際の相関 ID に更新されるまで待機する回数。

50

MEDIUM

camel.component.jms.waitForProvisionCorrelationTo BeUpdatedThreadSleepingTime

プロビジョニングの相関 ID の更新を待機する間に毎回スリープ状態になる間隔(ミリ秒単位)。

100L

MEDIUM

camel.component.jms.headerFilterStrategy

カスタムの org.apache.camel.spi.HeaderFilterStrategy を使用して、Camel メッセージとの間でヘッダーをフィルターします。

null

MEDIUM

camel.component.jms.password

ConnectionFactory で使用するパスワード。また、ユーザー名/パスワードを ConnectionFactory に直接設定することもできます。

null

MEDIUM

camel.component.jms.username

ConnectionFactory で使用するユーザー名。また、ユーザー名/パスワードを ConnectionFactory に直接設定することもできます。

null

MEDIUM

camel.component.jms.transacted

トランザクションモードを使用するかどうかを指定します。

false

MEDIUM

camel.component.jms.transactedInOut

このフラグが true に設定されている場合、InOut 操作(要求応答)のデフォルトが transacted モードを使用するように指定され、Spring JmsTemplate には sessionTransacted が true に設定され、InOut 操作に使用される JmsTemplate で acknowledgeMode がトランザクションとして処理されるかどうかを指定します。Spring JMS から: JTA トランザクション内で createQueue に渡されるパラメーター createTopic メソッドは考慮されません。Java EE トランザクションコンテキストに応じて、コンテナーはこれらの値に対して独自の決定を行います。この場合、Spring JMS は既存の JMS セッションで動作するため、これらのパラメーターはローカルで管理されるトランザクション内で考慮されません。このフラグを true に設定すると、管理トランザクション外で実行される場合は短いローカル JMS トランザクションが使用され、管理トランザクション(XA トランザクション以外)が存在する場合に同期されたローカル JMS トランザクションが使用されます。これは、メインのトランザクションとともに管理されるローカル JMS トランザクション(ネイティブ JDBC トランザクションである可能性がある)の影響を受け、JMS トランザクションはメイントランザクションの直後にコミットされます。

false

MEDIUM

camel.component.jms.lazyCreateTransactionManager

true の場合、transacted=true オプション時に transactionManager が挿入されていない場合、Camel は JmsTransactionManager を作成します。

true

MEDIUM

camel.component.jms.transactionManager

使用する Spring トランザクションマネージャー。

null

MEDIUM

camel.component.jms.transactionName

使用するトランザクションの名前。

null

MEDIUM

camel.component.jms.transactionTimeout

トランザクションモードを使用している場合は、トランザクションのタイムアウト値(秒単位)。

-1

MEDIUM

camel-jms シンクコネクターには、そのまま使えるコンバーターがありません。

camel-jms シンクコネクターには、そのまま使える変換はありません。

camel-jms シンクコネクターにはそのまま使える集約ストラテジーがありません。

5.16. camel-jms-kafka-connector ソース設定

camel-jms-kafka-connector をソースとして使用する場合、以下の Maven 依存関係を使用してコネクターをサポートするようにしてください。

<dependency>
  <groupId>org.apache.camel.kafkaconnector</groupId>
  <artifactId>camel-jms-kafka-connector</artifactId>
  <version>x.x.x</version>
  <!-- use the same version as your Camel Kafka connector version -->
</dependency>

Kafka コネクションでこのソースコネクターを使用するには、以下の connector.class を設定する必要があります。

connector.class=org.apache.camel.kafkaconnector.jms.CamelJmsSourceConnector

camel-jms ソースコネクターは、以下に示す 143 オプションをサポートします。

名前説明デフォルトPriority

camel.source.path.destinationType

[queue]、[topic]、[temp-queue]、[temp-topic] のいずれかを使用する宛先の種類。

"queue"

MEDIUM

camel.source.path.destinationName

宛先として使用するキューまたはトピックの名前

null

HIGH

camel.source.endpoint.clientId

使用する JMS クライアント ID を設定します。この値は一意でなければならず、単一の JMS 接続インスタンスでのみ使用できることに注意してください。通常、永続トピックサブスクリプションにのみ必要です。Apache ActiveMQ を使用する場合は、代わりに Virtual Topics を使用することが推奨されます。

null

MEDIUM

camel.source.endpoint.connectionFactory

使用する接続ファクトリー。接続ファクトリーはコンポーネントまたはエンドポイントのいずれかで設定する必要があります。

null

MEDIUM

camel.source.endpoint.disableReplyTo

Camel がメッセージの JMSReplyTo ヘッダーを無視するかどうかを指定します。true の場合、Camel は JMSReplyTo ヘッダーで指定された宛先に返信を返しません。Camel がルートから消費し、コードの別のコンポーネントがリプライメッセージを処理するため、Camel が自動的に応答メッセージを送りないようにするには、このオプションを使用できます。Camel を異なるメッセージブローカー間でプロキシーとして使用し、あるシステムから別のシステムへメッセージをルーティングする場合は、このオプションを使用することもできます。

false

MEDIUM

camel.source.endpoint.durableSubscriptionName

永続トピックサブスクリプションを指定するための永続サブスクライバー名。clientId オプションも設定する必要があります。

null

MEDIUM

camel.source.endpoint.jmsMessageType

JMS メッセージの送信に、特定の javax.jms.Message 実装を強制的に使用できるようにします。使用できる値は、Bytes、Map、Object、Stream、Text です。デフォルトでは、Camel は In body タイプから使用する JMS メッセージタイプを決定します。このオプションを指定すると、指定できます。[Bytes]、[Map]、[Object]、[Stream]、[Text] のいずれか。

null

MEDIUM

camel.source.endpoint.testConnectionOnStartup

起動時に接続をテストするかどうかを指定します。これにより、Camel が起動すると、すべての JMS コンシューマーが JMS ブローカーへの有効な接続になります。コネクションを許可できない場合、Camel は起動時に例外をスローします。これにより、Camel が接続の失敗で開始しないようになります。JMS プロデューサーもテストされています。

false

MEDIUM

camel.source.endpoint.acknowledgementModeName

JMS 確認名。SESSION_TRANSACTED、CLIENT_ACKNOWLEDGE、AUTO_ACKNOWLEDGE、DUPS_OK_ACKNOWLEDGE One of: [SESSION_TRANSACTED] [CLIENT_ACKNOWLEDGE] [AUTO_ACKNOWLEDGE] [AUTO_ACKNOWLEDGE] [DUPS_OK_ACKNOWLEDGE] のいずれか。

"AUTO_ACKNOWLEDGE"

MEDIUM

camel.source.endpoint.asyncConsumer

JmsConsumer が Exchange を非同期的に処理するかどうか。有効にすると、JmsConsumer は JMS キューから次のメッセージを取得し、以前のメッセージは非同期で処理されます(非同期ルーティングエンジンにより)。つまり、メッセージは 100% を厳密に順番に処理できます。無効にすると(デフォルト)、JmsConsumer が JMS キューから次のメッセージを取得する前に Exchange が完全に処理されます。トランザクション処理が有効になっている場合、非同期Consumer=true は非同期的に実行されません。トランザクションは同期的に実行される必要があるため(Camel 3.0 は非同期トランザクションをサポートする可能性があります)。

false

MEDIUM

camel.source.endpoint.autoStartup

コンシューマーコンテナーが自動起動すべきかどうかを指定します。

true

MEDIUM

camel.source.endpoint.cacheLevel

ベースにある JMS リソースの ID でキャッシュレベルを設定します。詳細は、cacheLevelName オプションを参照してください。

null

MEDIUM

camel.source.endpoint.cacheLevelName

ベースにある JMS リソースの名前でキャッシュレベルを設定します。使用できる値は、CACHE_AUTO、CACHE_CONNECTION、CACHE_CONSUMER、CACHE_NONE、CACHE_SESSION です。デフォルト設定は CACHE_AUTO です。詳細は、Spring ドキュメント および Transactions Cache Levels を参照してください。[CACHE_AUTO]、[CACHE_CONNECTION]、[CACHE_CONSUMER]、[CACHE_NONE]、[CACHE_SESSION] のいずれか。

"CACHE_AUTO"

MEDIUM

camel.source.endpoint.concurrentConsumers

(JMS 上でリクエストや応答ではなく)JMS から消費する場合の同時コンシューマーのデフォルト数を指定します。スレッドの動的スケールアップ/ダウンを制御する maxMessagesPerTask オプションも参照してください。JMS で要求/応答を行う場合、オプション replyToConcurrentConsumers を使用して、リプライメッセージリスナーで同時コンシューマーの数を制御します。

1

MEDIUM

camel.source.endpoint.maxConcurrentConsumers

(JMS 上でリクエストや応答ではなく)JMS から消費する場合の同時コンシューマーの最大数を指定します。スレッドの動的スケールアップ/ダウンを制御する maxMessagesPerTask オプションも参照してください。JMS で要求/応答を行う場合、オプション replyToMaxConcurrentConsumers を使用して、リプライメッセージリスナーで同時コンシューマーの数を制御します。

null

MEDIUM

camel.source.endpoint.replyTo

Message.getJMSReplyTo()の着信値を上書きする明示的な ReplyTo 宛先を提供します。

null

MEDIUM

camel.source.endpoint.replyToDeliveryPersistent

返信に永続配信を使用するかどうかを指定します。

true

MEDIUM

camel.source.endpoint.selector

使用する JMS セレクターを設定します。

null

MEDIUM

camel.source.endpoint.subscriptionDurable

サブスクリプションを永続化するかどうかを設定します。使用する永続サブスクリプション名は、subscriptionName プロパティーから指定できます。デフォルトは false です。通常、永続サブスクリプションを登録するには、これを true に設定します(メッセージリスナークラス名がサブスクリプション名として適切である場合)。トピックをリッスンする場合にのみ(pub-sub ドメイン)、このメソッドは pubSubDomain フラグも切り替えます。

false

MEDIUM

camel.source.endpoint.subscriptionName

作成するサブスクリプションの名前を設定します。共有サブスクリプションまたは永続サブスクリプションがあるトピック(pub-sub ドメイン)の場合に適用できます。サブスクリプション名は、クライアントの JMS クライアント ID 内で一意である必要があります。default は、指定されたメッセージリスナーのクラス名です。注記: 共有サブスクリプション(JMS 2.0 が必要)を除き、サブスクリプションごとに 1 つの同時コンシューマー(このメッセージリスナーコンテナーのデフォルト)のみが許可されます。

null

MEDIUM

camel.source.endpoint.subscriptionShared

サブスクリプションを共有するかどうかを設定します。使用する共有サブスクリプション名は、subscriptionName プロパティーから指定できます。デフォルトは false です。共有サブスクリプションを登録するには、true に設定します。通常、subscriptionName の値と併用します(メッセージリスナークラス名がサブスクリプション名として適切である場合)。共有サブスクリプションも永続的である可能性があるため、このフラグは subscriptionDurable と組み合わせることもできます。トピックをリッスンする場合にのみ(pub-sub ドメイン)、このメソッドは pubSubDomain フラグも切り替えます。JMS 2.0 と互換性のあるメッセージブローカーが必要です。

false

MEDIUM

camel.source.endpoint.acceptMessagesWhileStopping

停止中にコンシューマーがメッセージを受け入れるかどうかを指定します。実行時に JMS ルートを開始および停止する場合に、キューでキューにまだキューに追加されたメッセージがある場合も、このオプションの有効化を検討してください。このオプションが false で、JMS ルートを停止すると、メッセージを拒否し、JMS ブローカーは再配信を試みる必要があります。これは再度拒否される可能性があり、最終的に JMS ブローカーのデッドレターキューに移動される可能性があります。これを回避するには、このオプションを有効にすることが推奨されます。

false

MEDIUM

camel.source.endpoint.allowReplyManagerQuickStop

Request-reply メッセージングの応答マネージャーで使用される DefaultMessageListenerContainer により、JmsConfiguration#isAcceptMessages whileStopping が有効になっている場合に DefaultMessageListenerContainer.runningAllowed フラグがすぐに停止でき、org.apache.camel.CamelContext が現在停止中です。この迅速な停止機能は、通常の JMS コンシューマーでデフォルトで有効になっていますが、応答マネージャーを有効にするには、このフラグを有効にする必要があります。

false

MEDIUM

camel.source.endpoint.consumerType

使用するコンシューマータイプ。Simple、Default、または Custom のいずれかです。コンシューマータイプは、使用する Spring JMS リスナーを決定します。デフォルトは org.springframework.jms.listener.DefaultMessageListenerContainer を使用します。Simple は org.springframework.jms.listener.SimpleMessageListenerContainer を使用します。Custom を指定すると、messageListenerContainerFactory オプションによって定義された MessageListenerContainerFactory は、使用する org.springframework.jms.listener.AbstractMessageListenerContainer を決定します。[Simple]、[Default]、[Custom] のいずれか。

"Default"

MEDIUM

camel.source.endpoint.defaultTaskExecutorType

コンシューマーエンドポイントとプロデューサーエンドポイントの ReplyTo コンシューマーの両方に使用するデフォルトの TaskExecutor タイプを DefaultMessageListenerContainer に指定します。使用できる値 - SimpleAsync(Spring の SimpleAsyncTaskExecutor を使用)または ThreadPool(最適な値で Spring の ThreadPoolTaskExecutor を使用)、キャッシュされたスレッドプールのような値。設定しないと、コンシューマーエンドポイントにキャッシュされたスレッドプールを使用し、応答コンシューマーに SimpleAsync を使用する以前の動作がデフォルトになります。ThreadPool を使用すると、同時コンシューマーを動的に増減するエラスティック設定でスレッドごみ箱を減らすことが推奨されます。[ThreadPool]、[SimpleAsync] のいずれか。

null

MEDIUM

camel.source.endpoint.eagerLoadingOfProperties

JMS プロパティーは必須ではありませんが、ベースとなる JMS プロバイダーと JMS プロパティーの使用の初期段階で、メッセージが読み込まれるとすぐに JMS プロパティーとペイロードの Eager 読み込みを有効にします。eagerPoisonBody オプションも参照してください。

false

MEDIUM

camel.source.endpoint.eagerPoisonBody

EagerLoadingOfProperties が有効になり、JMS メッセージペイロード(JMS ボディーまたは JMS プロパティー)がポジションである場合(読み取り/マッピングはできません)、このテキストをメッセージボディーとして設定します(poison の原因は Exchange で例外としてすでに保存されています)。EagerPoisonBody=false を設定することでオフにすることができます。EagerLoadingOfProperties オプションも参照してください。

${exception.message}" による JMS メッセージ

MEDIUM

camel.source.endpoint.exceptionHandler

コンシューマーによるカスタム ExceptionHandler の使用を許可します。bridgeErrorHandler オプションが有効な場合は、このオプションは使用されないことに注意してください。デフォルトでは、コンシューマーは例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。

null

MEDIUM

camel.source.endpoint.exchangePattern

コンシューマーがエクスチェンジを作成する際に交換パターンを設定します。[InOnly]、[InOut]、[InOptionalOut] のいずれか。

null

MEDIUM

camel.source.endpoint.exposeListenerSession

メッセージの消費時にリスナーセッションを公開するかどうかを指定します。

false

MEDIUM

camel.source.endpoint.replyToSameDestination Allowed

JMS コンシューマーがコンシューマーが消費に使用する同じ宛先にリプライメッセージを送信することができるかどうか。これにより、同じメッセージを独自に消費してバックエンドレスループを防ぐことができます。

false

MEDIUM

camel.source.endpoint.taskExecutor

メッセージ消費にカスタムタスクエグゼキューターを指定できます。

null

MEDIUM

camel.source.endpoint.allowSerializedHeaders

シリアライズされたヘッダーを含めるかどうかを制御します。transferExchange が true の場合にのみ適用されます。これには、オブジェクトがシリアライズ可能である必要があります。Camel はシリアル化不可能なオブジェクトをすべて除外し、WARN レベルでログに記録されます。

false

MEDIUM

camel.source.endpoint.artemisStreamingEnabled

Apache Artemis ストリーミングモードを最適化するかどうか。

true

MEDIUM

camel.source.endpoint.asyncStartListener

ルートの開始時に JmsConsumer メッセージリスナーを非同期に起動するかどうか。たとえば、JmsConsumer がリモート JMS ブローカーへの接続を取得できない場合は、再試行中やフェイルオーバー中にブロックされる可能性があります。これにより、ルートの起動中に Camel がブロックされます。このオプションを true に設定すると、ルートの起動が可能になりますが、JmsConsumer は非同期モードで専用のスレッドを使用して JMS ブローカーに接続します。このオプションを使用すると、接続が確立されないと、WARN レベルで例外がログに記録され、コンシューマーはメッセージを受信できなくなります。次にルートを再起動して再試行できます。

false

MEDIUM

camel.source.endpoint.asyncStopListener

ルートを停止するときに JmsConsumer メッセージリスナーを非同期的に停止するかどうか。

false

MEDIUM

camel.source.endpoint.basicPropertyBinding

エンドポイントが基本プロパティーバインディング(Camel 2.x)または新しいプロパティーバインディングを追加機能と共に使用するかどうか。

false

MEDIUM

camel.source.endpoint.destinationResolver

独自のリゾルバーを使用できるプラグ可能な org.springframework.jms.support.destination.DestinationResolver(たとえば、JNDI レジストリーから実際の宛先を検索するためなど)。

null

MEDIUM

camel.source.endpoint.errorHandler

メッセージの処理中にキャッチされない例外が発生した場合に呼び出される org.springframework.util.ErrorHandler を指定します。デフォルトでは、errorHandler が設定されていない場合、これらの例外は WARN レベルでログに記録されます。errorHandlerLoggingLevel および errorHandlerLogStackTrace オプションを使用して、ロギングレベルおよびスタックトレースをログに記録するかどうかを設定できます。これにより、カスタム errorHandler をコーディングする必要よりも、設定が非常に簡単になります。

null

MEDIUM

camel.source.endpoint.exceptionListener

基礎となる JMS 例外が通知される JMS 例外リスナーを指定します。

null

MEDIUM

camel.source.endpoint.headerFilterStrategy

カスタム HeaderFilterStrategy を使用して Camel メッセージに対してヘッダーをフィルターします。

null

MEDIUM

camel.source.endpoint.idleConsumerLimit

いつでもアイドル状態にできるコンシューマーの数の制限を指定します。

1

MEDIUM

camel.source.endpoint.idleTaskExecutionLimit

実行内でメッセージを受信せずに、受信タスクのアイドル実行の制限を指定します。この制限に達すると、タスクはシャットダウンし、他の実行中のタスク(動的なスケジューリングの場合は maxConcurrentConsumers の設定)を受信し続けます。Spring には追加のドキュメントがあります。

1

MEDIUM

camel.source.endpoint.includeAllJMSXProperties

JMS から Camel メッセージへのマッピング時に、すべての JMSXxxx プロパティーを含めるかどうか。これを true に設定すると、JMSXAppID や JMSXUserID などのプロパティーが含まれます。注記: カスタムの headerFilterStrategy を使用している場合は、このオプションは適用されません。

false

MEDIUM

camel.source.endpoint.jmsKeyFormatStrategy

JMS 鍵をエンコードおよびデコードするためのプラグ可能なストラテジー。これにより、JMS 仕様に準拠します。Camel は、追加設定なしで、default と passthrough の 2 つの実装を提供します。デフォルトのストラテジーは、ドットとハイフン(. および -)を安全にマーシャリングします。passthrough ストラテジーは、鍵をそのまま残します。JMS ヘッダーキーに不正な文字が含まれるかどうかは気にしない JMS ブローカーに使用できます。org.apache.camel.component.jms.JmsKeyFormatStrategy の独自の実装を提供し、# 表記を使用して参照できます。[default]、[passthrough] のいずれか。

null

MEDIUM

camel.source.endpoint.mapJmsMessage

Camel が受信した JMS メッセージを適切なペイロードタイプ(javax.jms.TextMessage など)に自動マッピングするかどうかを指定します。

true

MEDIUM

camel.source.endpoint.maxMessagesPerTask

タスクごとのメッセージ数。-1 は無制限です。同時コンシューマー(min max など)に範囲を使用する場合、このオプションを使用して値を eg 100 に設定して、作業が少なくなる場合にコンシューマーのスピードを制御することができます。

-1

MEDIUM

camel.source.endpoint.messageConverter

javax.jms.Message への/からのマップ方法を制御するため、カスタムの Spring org.springframework.jms.support.converter.MessageConverter を使用します。

null

MEDIUM

camel.source.endpoint.messageCreatedStrategy

Camel が JMS メッセージを送信するときに Camel が javax.jms.Message オブジェクトの新規インスタンスを作成する際に呼び出される指定の MessageCreatedStrategy を使用します。

null

MEDIUM

camel.source.endpoint.messageIdEnabled

送信時に、メッセージ ID を追加するかどうかを指定します。これは JMS ブローカーへのヒントに過ぎません。JMS プロバイダーがこのヒントを受け入れる場合、これらのメッセージにはメッセージ ID が null に設定されている必要があります。プロバイダーがヒントを無視する場合は、メッセージ ID を通常の一意の値に設定する必要があります。

true

MEDIUM

camel.source.endpoint.messageListenerContainer Factory

メッセージを消費するために使用する org.springframework.jms.listener.AbstractMessageListenerContainer を決定するために使用される MessageListenerContainerFactory のレジストリー ID。これを設定すると、consumerType が自動的に Custom に設定されます。

null

MEDIUM

camel.source.endpoint.messageTimestampEnabled

メッセージの送信時にタイムスタンプをデフォルトで有効にするかどうかを指定します。これは JMS ブローカーへのヒントに過ぎません。JMS プロバイダーがこのヒントを受け入れる場合、これらのメッセージではタイムスタンプがゼロに設定される必要があります。プロバイダーがヒントを無視する場合は、タイムスタンプを通常の値に設定する必要があります。

true

MEDIUM

camel.source.endpoint.pubSubNoLocal

独自の接続によって公開されるメッセージの配信を抑制するかどうかを指定します。

false

MEDIUM

camel.source.endpoint.receiveTimeout

メッセージの受信のタイムアウト(ミリ秒単位)。

1000L

MEDIUM

camel.source.endpoint.recoveryInterval

リカバリーを試行する間隔を指定します(例: 接続の更新時(ミリ秒単位)。デフォルトは 5000 ミリ秒で、5 秒です。

5000L

MEDIUM

camel.source.endpoint.requestTimeoutChecker Interval

JMS でリクエスト/リプライを行うときに Camel がタイムアウトしたエクスチェンジをチェックする頻度を設定します。デフォルトでは、Camel は 1 秒ごとに 1 回チェックします。ただし、タイムアウトの発生時により迅速に対応する必要がある場合は、この間隔を減らしてより頻繁に確認できます。タイムアウトは、requestTimeout オプションで決定されます。

1000L

MEDIUM

camel.source.endpoint.synchronous

同期処理を厳密に使用するか、Camel が非同期処理を使用できるようにするかを設定します(サポートされている場合)。

false

MEDIUM

camel.source.endpoint.transferException

有効にすると、リクエスト応答メッセージング(InOut)を使用し、エクスチェンジがコンシューマー側で失敗した場合、発生した例外は javax.jms.ObjectMessage として応答として返信されます。クライアントが Camel の場合、返された Exception が再スローされます。これにより、Camel JMS をルーティングのブリッジとして使用できます。たとえば、永続キューを使用して堅牢なルーティングを有効にすることができます。transferExchange も有効化されている場合には、このオプションが優先されます。例外がシリアライズ可能である必要があります。コンシューマー側の元の例外は、プロデューサーに戻されたときに org.apache.camel.RuntimeCamelException などの外部例外でラップできます。データは Java オブジェクトのシリアライゼーションを使用し、受信がクラスレベルでデータをデシリアライズできるようにする必要があります。これにより、プロデューサーとコンシューマー間で強力な結合が強制されます。

false

MEDIUM

camel.source.endpoint.transferExchange

ボディーとヘッダーだけでなく、ネットワーク上でエクスチェンジを転送できます。次のフィールドが転送されます。本文、Out ボディー、フォールト本文、In ヘッダー、Out ヘッダー、フォールトヘッダー、エクスチェンジプロパティー、エクスチェンジ例外。これには、オブジェクトがシリアライズ可能である必要があります。Camel はシリアル化不可能なオブジェクトをすべて除外し、WARN レベルでログに記録されます。プロデューサーとコンシューマー側の両方でこのオプションを有効にする必要があります。そのため、Camel はペイロードが通常のペイロードではなく Exchange を認識します。データは Java オブジェクトのシリアライゼーションを使用し、受信がクラスレベルでデータをデシリアライズできるようにする必要があります。これにより、互換性のある Camel バージョンを使用するプロデューサーとコンシューマー間で強力な結合が強制されます。

false

MEDIUM

camel.source.endpoint.useMessageIDAsCorrelationID

InOut メッセージに対して JMSCorrelationID として常に JMSMessageID を使用するかどうかを指定します。

false

MEDIUM

camel.source.endpoint.waitForProvisionCorrelation ToBeUpdatedCounter

request/reply over JMS を実行し、オプション useMessageIDAsCorrelationID が有効になっている場合に、プロビジョニング ID が実際の相関 ID に更新されるまで待機する回数。

50

MEDIUM

camel.source.endpoint.waitForProvisionCorrelation ToBeUpdatedThreadSleepingTime

プロビジョニングの相関 ID の更新を待機する間に毎回スリープ状態になる間隔(ミリ秒単位)。

100L

MEDIUM

camel.source.endpoint.errorHandlerLoggingLevel

キャッチされない例外についてのデフォルトの errorHandler ロギングレベルの設定を可能にします。[TRACE]、[DEBUG]、[INFO]、[WARN]、[ERROR]、[OFF] のいずれか。

"WARN"

MEDIUM

camel.source.endpoint.errorHandlerLogStackTrace

デフォルトの errorHandler によってスタックトレースをログに記録するかどうかを制御できます。

true

MEDIUM

camel.source.endpoint.password

ConnectionFactory で使用するパスワード。また、ユーザー名/パスワードを ConnectionFactory に直接設定することもできます。

null

MEDIUM

camel.source.endpoint.username

ConnectionFactory で使用するユーザー名。また、ユーザー名/パスワードを ConnectionFactory に直接設定することもできます。

null

MEDIUM

camel.source.endpoint.transacted

トランザクションモードを使用するかどうかを指定します。

false

MEDIUM

camel.source.endpoint.transactedInOut

このフラグが true に設定されている場合、InOut 操作(要求応答)のデフォルトが transacted モードを使用するように指定され、Spring JmsTemplate には sessionTransacted が true に設定され、InOut 操作に使用される JmsTemplate で acknowledgeMode がトランザクションとして処理されるかどうかを指定します。Spring JMS から: JTA トランザクション内で createQueue に渡されるパラメーター createTopic メソッドは考慮されません。Java EE トランザクションコンテキストに応じて、コンテナーはこれらの値に対して独自の決定を行います。この場合、Spring JMS は既存の JMS セッションで動作するため、これらのパラメーターはローカルで管理されるトランザクション内で考慮されません。このフラグを true に設定すると、管理トランザクション外で実行される場合は短いローカル JMS トランザクションが使用され、管理トランザクション(XA トランザクション以外)が存在する場合に同期されたローカル JMS トランザクションが使用されます。これは、メインのトランザクションとともに管理されるローカル JMS トランザクション(ネイティブ JDBC トランザクションである可能性がある)の影響を受け、JMS トランザクションはメイントランザクションの直後にコミットされます。

false

MEDIUM

camel.source.endpoint.lazyCreateTransactionManager

true の場合、transacted=true オプション時に transactionManager が挿入されていない場合、Camel は JmsTransactionManager を作成します。

true

MEDIUM

camel.source.endpoint.transactionManager

使用する Spring トランザクションマネージャー。

null

MEDIUM

camel.source.endpoint.transactionName

使用するトランザクションの名前。

null

MEDIUM

camel.source.endpoint.transactionTimeout

トランザクションモードを使用している場合は、トランザクションのタイムアウト値(秒単位)。

-1

MEDIUM

camel.component.jms.clientId

使用する JMS クライアント ID を設定します。この値は一意でなければならず、単一の JMS 接続インスタンスでのみ使用できることに注意してください。通常、永続トピックサブスクリプションにのみ必要です。Apache ActiveMQ を使用する場合は、代わりに Virtual Topics を使用することが推奨されます。

null

MEDIUM

camel.component.jms.connectionFactory

使用する接続ファクトリー。接続ファクトリーはコンポーネントまたはエンドポイントのいずれかで設定する必要があります。

null

MEDIUM

camel.component.jms.disableReplyTo

Camel がメッセージの JMSReplyTo ヘッダーを無視するかどうかを指定します。true の場合、Camel は JMSReplyTo ヘッダーで指定された宛先に返信を返しません。Camel がルートから消費し、コードの別のコンポーネントがリプライメッセージを処理するため、Camel が自動的に応答メッセージを送りないようにするには、このオプションを使用できます。Camel を異なるメッセージブローカー間でプロキシーとして使用し、あるシステムから別のシステムへメッセージをルーティングする場合は、このオプションを使用することもできます。

false

MEDIUM

camel.component.jms.durableSubscriptionName

永続トピックサブスクリプションを指定するための永続サブスクライバー名。clientId オプションも設定する必要があります。

null

MEDIUM

camel.component.jms.jmsMessageType

JMS メッセージの送信に、特定の javax.jms.Message 実装を強制的に使用できるようにします。使用できる値は、Bytes、Map、Object、Stream、Text です。デフォルトでは、Camel は In body タイプから使用する JMS メッセージタイプを決定します。このオプションを指定すると、指定できます。[Bytes]、[Map]、[Object]、[Stream]、[Text] のいずれか。

null

MEDIUM

camel.component.jms.testConnectionOnStartup

起動時に接続をテストするかどうかを指定します。これにより、Camel が起動すると、すべての JMS コンシューマーが JMS ブローカーへの有効な接続になります。コネクションを許可できない場合、Camel は起動時に例外をスローします。これにより、Camel が接続の失敗で開始しないようになります。JMS プロデューサーもテストされています。

false

MEDIUM

camel.component.jms.acknowledgementModeName

JMS 確認名。SESSION_TRANSACTED、CLIENT_ACKNOWLEDGE、AUTO_ACKNOWLEDGE、DUPS_OK_ACKNOWLEDGE One of: [SESSION_TRANSACTED] [CLIENT_ACKNOWLEDGE] [AUTO_ACKNOWLEDGE] [AUTO_ACKNOWLEDGE] [DUPS_OK_ACKNOWLEDGE] のいずれか。

"AUTO_ACKNOWLEDGE"

MEDIUM

camel.component.jms.asyncConsumer

JmsConsumer が Exchange を非同期的に処理するかどうか。有効にすると、JmsConsumer は JMS キューから次のメッセージを取得し、以前のメッセージは非同期で処理されます(非同期ルーティングエンジンにより)。つまり、メッセージは 100% を厳密に順番に処理できます。無効にすると(デフォルト)、JmsConsumer が JMS キューから次のメッセージを取得する前に Exchange が完全に処理されます。トランザクション処理が有効になっている場合、非同期Consumer=true は非同期的に実行されません。トランザクションは同期的に実行される必要があるため(Camel 3.0 は非同期トランザクションをサポートする可能性があります)。

false

MEDIUM

camel.component.jms.autoStartup

コンシューマーコンテナーが自動起動すべきかどうかを指定します。

true

MEDIUM

camel.component.jms.cacheLevel

ベースにある JMS リソースの ID でキャッシュレベルを設定します。詳細は、cacheLevelName オプションを参照してください。

null

MEDIUM

camel.component.jms.cacheLevelName

ベースにある JMS リソースの名前でキャッシュレベルを設定します。使用できる値は、CACHE_AUTO、CACHE_CONNECTION、CACHE_CONSUMER、CACHE_NONE、CACHE_SESSION です。デフォルト設定は CACHE_AUTO です。詳細は、Spring ドキュメント および Transactions Cache Levels を参照してください。[CACHE_AUTO]、[CACHE_CONNECTION]、[CACHE_CONSUMER]、[CACHE_NONE]、[CACHE_SESSION] のいずれか。

"CACHE_AUTO"

MEDIUM

camel.component.jms.concurrentConsumers

(JMS 上でリクエストや応答ではなく)JMS から消費する場合の同時コンシューマーのデフォルト数を指定します。スレッドの動的スケールアップ/ダウンを制御する maxMessagesPerTask オプションも参照してください。JMS で要求/応答を行う場合、オプション replyToConcurrentConsumers を使用して、リプライメッセージリスナーで同時コンシューマーの数を制御します。

1

MEDIUM

camel.component.jms.maxConcurrentConsumers

(JMS 上でリクエストや応答ではなく)JMS から消費する場合の同時コンシューマーの最大数を指定します。スレッドの動的スケールアップ/ダウンを制御する maxMessagesPerTask オプションも参照してください。JMS で要求/応答を行う場合、オプション replyToMaxConcurrentConsumers を使用して、リプライメッセージリスナーで同時コンシューマーの数を制御します。

null

MEDIUM

camel.component.jms.replyTo

Message.getJMSReplyTo()の着信値を上書きする明示的な ReplyTo 宛先を提供します。

null

MEDIUM

camel.component.jms.replyToDeliveryPersistent

返信に永続配信を使用するかどうかを指定します。

true

MEDIUM

camel.component.jms.selector

使用する JMS セレクターを設定します。

null

MEDIUM

camel.component.jms.subscriptionDurable

サブスクリプションを永続化するかどうかを設定します。使用する永続サブスクリプション名は、subscriptionName プロパティーから指定できます。デフォルトは false です。通常、永続サブスクリプションを登録するには、これを true に設定します(メッセージリスナークラス名がサブスクリプション名として適切である場合)。トピックをリッスンする場合にのみ(pub-sub ドメイン)、このメソッドは pubSubDomain フラグも切り替えます。

false

MEDIUM

camel.component.jms.subscriptionName

作成するサブスクリプションの名前を設定します。共有サブスクリプションまたは永続サブスクリプションがあるトピック(pub-sub ドメイン)の場合に適用できます。サブスクリプション名は、クライアントの JMS クライアント ID 内で一意である必要があります。default は、指定されたメッセージリスナーのクラス名です。注記: 共有サブスクリプション(JMS 2.0 が必要)を除き、サブスクリプションごとに 1 つの同時コンシューマー(このメッセージリスナーコンテナーのデフォルト)のみが許可されます。

null

MEDIUM

camel.component.jms.subscriptionShared

サブスクリプションを共有するかどうかを設定します。使用する共有サブスクリプション名は、subscriptionName プロパティーから指定できます。デフォルトは false です。共有サブスクリプションを登録するには、true に設定します。通常、subscriptionName の値と併用します(メッセージリスナークラス名がサブスクリプション名として適切である場合)。共有サブスクリプションも永続的である可能性があるため、このフラグは subscriptionDurable と組み合わせることもできます。トピックをリッスンする場合にのみ(pub-sub ドメイン)、このメソッドは pubSubDomain フラグも切り替えます。JMS 2.0 と互換性のあるメッセージブローカーが必要です。

false

MEDIUM

camel.component.jms.acceptMessagesWhileStopping

停止中にコンシューマーがメッセージを受け入れるかどうかを指定します。実行時に JMS ルートを開始および停止する場合に、キューでキューにまだキューに追加されたメッセージがある場合も、このオプションの有効化を検討してください。このオプションが false で、JMS ルートを停止すると、メッセージを拒否し、JMS ブローカーは再配信を試みる必要があります。これは再度拒否される可能性があり、最終的に JMS ブローカーのデッドレターキューに移動される可能性があります。これを回避するには、このオプションを有効にすることが推奨されます。

false

MEDIUM

camel.component.jms.allowReplyManagerQuickStop

Request-reply メッセージングの応答マネージャーで使用される DefaultMessageListenerContainer により、JmsConfiguration#isAcceptMessages whileStopping が有効になっている場合に DefaultMessageListenerContainer.runningAllowed フラグがすぐに停止でき、org.apache.camel.CamelContext が現在停止中です。この迅速な停止機能は、通常の JMS コンシューマーでデフォルトで有効になっていますが、応答マネージャーを有効にするには、このフラグを有効にする必要があります。

false

MEDIUM

camel.component.jms.consumerType

使用するコンシューマータイプ。Simple、Default、または Custom のいずれかです。コンシューマータイプは、使用する Spring JMS リスナーを決定します。デフォルトは org.springframework.jms.listener.DefaultMessageListenerContainer を使用します。Simple は org.springframework.jms.listener.SimpleMessageListenerContainer を使用します。Custom を指定すると、messageListenerContainerFactory オプションによって定義された MessageListenerContainerFactory は、使用する org.springframework.jms.listener.AbstractMessageListenerContainer を決定します。[Simple]、[Default]、[Custom] のいずれか。

"Default"

MEDIUM

camel.component.jms.defaultTaskExecutorType

コンシューマーエンドポイントとプロデューサーエンドポイントの ReplyTo コンシューマーの両方に使用するデフォルトの TaskExecutor タイプを DefaultMessageListenerContainer に指定します。使用できる値 - SimpleAsync(Spring の SimpleAsyncTaskExecutor を使用)または ThreadPool(最適な値で Spring の ThreadPoolTaskExecutor を使用)、キャッシュされたスレッドプールのような値。設定しないと、コンシューマーエンドポイントにキャッシュされたスレッドプールを使用し、応答コンシューマーに SimpleAsync を使用する以前の動作がデフォルトになります。ThreadPool を使用すると、同時コンシューマーを動的に増減するエラスティック設定でスレッドごみ箱を減らすことが推奨されます。[ThreadPool]、[SimpleAsync] のいずれか。

null

MEDIUM

camel.component.jms.eagerLoadingOfProperties

JMS プロパティーは必須ではありませんが、ベースとなる JMS プロバイダーと JMS プロパティーの使用の初期段階で、メッセージが読み込まれるとすぐに JMS プロパティーとペイロードの Eager 読み込みを有効にします。eagerPoisonBody オプションも参照してください。

false

MEDIUM

camel.component.jms.eagerPoisonBody

EagerLoadingOfProperties が有効になり、JMS メッセージペイロード(JMS ボディーまたは JMS プロパティー)がポジションである場合(読み取り/マッピングはできません)、このテキストをメッセージボディーとして設定します(poison の原因は Exchange で例外としてすでに保存されています)。EagerPoisonBody=false を設定することでオフにすることができます。EagerLoadingOfProperties オプションも参照してください。

${exception.message}" による JMS メッセージ

MEDIUM

camel.component.jms.exposeListenerSession

メッセージの消費時にリスナーセッションを公開するかどうかを指定します。

false

MEDIUM

camel.component.jms.replyToSameDestinationAllowed

JMS コンシューマーがコンシューマーが消費に使用する同じ宛先にリプライメッセージを送信することができるかどうか。これにより、同じメッセージを独自に消費してバックエンドレスループを防ぐことができます。

false

MEDIUM

camel.component.jms.taskExecutor

メッセージ消費にカスタムタスクエグゼキューターを指定できます。

null

MEDIUM

camel.component.jms.allowAutoWiredConnection Factory

接続ファクトリーが設定されていない場合に、レジストリーから ConnectionFactory を自動検出するかどうか。ConnectionFactory の 1 つのインスタンスのみが見つかると、そのインスタンスが使用されます。これはデフォルトで有効になっています。

true

MEDIUM

camel.component.jms.allowAutoWiredDestination Resolver

宛先リゾルバーが設定されていない場合には、レジストリーから DestinationResolver を自動検出するかどうか。DestinationResolver のインスタンスが 1 つだけ見つかった場合は、それが使用されます。これはデフォルトで有効になっています。

true

MEDIUM

camel.component.jms.allowSerializedHeaders

シリアライズされたヘッダーを含めるかどうかを制御します。transferExchange が true の場合にのみ適用されます。これには、オブジェクトがシリアライズ可能である必要があります。Camel はシリアル化不可能なオブジェクトをすべて除外し、WARN レベルでログに記録されます。

false

MEDIUM

camel.component.jms.artemisStreamingEnabled

Apache Artemis ストリーミングモードを最適化するかどうか。

true

MEDIUM

camel.component.jms.asyncStartListener

ルートの開始時に JmsConsumer メッセージリスナーを非同期に起動するかどうか。たとえば、JmsConsumer がリモート JMS ブローカーへの接続を取得できない場合は、再試行中やフェイルオーバー中にブロックされる可能性があります。これにより、ルートの起動中に Camel がブロックされます。このオプションを true に設定すると、ルートの起動が可能になりますが、JmsConsumer は非同期モードで専用のスレッドを使用して JMS ブローカーに接続します。このオプションを使用すると、接続が確立されないと、WARN レベルで例外がログに記録され、コンシューマーはメッセージを受信できなくなります。次にルートを再起動して再試行できます。

false

MEDIUM

camel.component.jms.asyncStopListener

ルートを停止するときに JmsConsumer メッセージリスナーを非同期的に停止するかどうか。

false

MEDIUM

camel.component.jms.basicPropertyBinding

コンポーネントの基本的なプロパティーバインディング(Camel 2.x)または新しいプロパティーバインディングを追加機能と共に使用するかどうか。

false

MEDIUM

camel.component.jms.configuration

共有 JMS 設定を使用するには、以下を実行します。

null

MEDIUM

camel.component.jms.destinationResolver

独自のリゾルバーを使用できるプラグ可能な org.springframework.jms.support.destination.DestinationResolver(たとえば、JNDI レジストリーから実際の宛先を検索するためなど)。

null

MEDIUM

camel.component.jms.errorHandler

メッセージの処理中にキャッチされない例外が発生した場合に呼び出される org.springframework.util.ErrorHandler を指定します。デフォルトでは、errorHandler が設定されていない場合、これらの例外は WARN レベルでログに記録されます。errorHandlerLoggingLevel および errorHandlerLogStackTrace オプションを使用して、ロギングレベルおよびスタックトレースをログに記録するかどうかを設定できます。これにより、カスタム errorHandler をコーディングする必要よりも、設定が非常に簡単になります。

null

MEDIUM

camel.component.jms.exceptionListener

基礎となる JMS 例外が通知される JMS 例外リスナーを指定します。

null

MEDIUM

camel.component.jms.idleConsumerLimit

いつでもアイドル状態にできるコンシューマーの数の制限を指定します。

1

MEDIUM

camel.component.jms.idleTaskExecutionLimit

実行内でメッセージを受信せずに、受信タスクのアイドル実行の制限を指定します。この制限に達すると、タスクはシャットダウンし、他の実行中のタスク(動的なスケジューリングの場合は maxConcurrentConsumers の設定)を受信し続けます。Spring には追加のドキュメントがあります。

1

MEDIUM

camel.component.jms.includeAllJMSXProperties

JMS から Camel メッセージへのマッピング時に、すべての JMSXxxx プロパティーを含めるかどうか。これを true に設定すると、JMSXAppID や JMSXUserID などのプロパティーが含まれます。注記: カスタムの headerFilterStrategy を使用している場合は、このオプションは適用されません。

false

MEDIUM

camel.component.jms.jmsKeyFormatStrategy

JMS 鍵をエンコードおよびデコードするためのプラグ可能なストラテジー。これにより、JMS 仕様に準拠します。Camel は、追加設定なしで、default と passthrough の 2 つの実装を提供します。デフォルトのストラテジーは、ドットとハイフン(. および -)を安全にマーシャリングします。passthrough ストラテジーは、鍵をそのまま残します。JMS ヘッダーキーに不正な文字が含まれるかどうかは気にしない JMS ブローカーに使用できます。org.apache.camel.component.jms.JmsKeyFormatStrategy の独自の実装を提供し、# 表記を使用して参照できます。[default]、[passthrough] のいずれか。

null

MEDIUM

camel.component.jms.mapJmsMessage

Camel が受信した JMS メッセージを適切なペイロードタイプ(javax.jms.TextMessage など)に自動マッピングするかどうかを指定します。

true

MEDIUM

camel.component.jms.maxMessagesPerTask

タスクごとのメッセージ数。-1 は無制限です。同時コンシューマー(min max など)に範囲を使用する場合、このオプションを使用して値を eg 100 に設定して、作業が少なくなる場合にコンシューマーのスピードを制御することができます。

-1

MEDIUM

camel.component.jms.messageConverter

javax.jms.Message への/からのマップ方法を制御するため、カスタムの Spring org.springframework.jms.support.converter.MessageConverter を使用します。

null

MEDIUM

camel.component.jms.messageCreatedStrategy

Camel が JMS メッセージを送信するときに Camel が javax.jms.Message オブジェクトの新規インスタンスを作成する際に呼び出される指定の MessageCreatedStrategy を使用します。

null

MEDIUM

camel.component.jms.messageIdEnabled

送信時に、メッセージ ID を追加するかどうかを指定します。これは JMS ブローカーへのヒントに過ぎません。JMS プロバイダーがこのヒントを受け入れる場合、これらのメッセージにはメッセージ ID が null に設定されている必要があります。プロバイダーがヒントを無視する場合は、メッセージ ID を通常の一意の値に設定する必要があります。

true

MEDIUM

camel.component.jms.messageListenerContainer Factory

メッセージを消費するために使用する org.springframework.jms.listener.AbstractMessageListenerContainer を決定するために使用される MessageListenerContainerFactory のレジストリー ID。これを設定すると、consumerType が自動的に Custom に設定されます。

null

MEDIUM

camel.component.jms.messageTimestampEnabled

メッセージの送信時にタイムスタンプをデフォルトで有効にするかどうかを指定します。これは JMS ブローカーへのヒントに過ぎません。JMS プロバイダーがこのヒントを受け入れる場合、これらのメッセージではタイムスタンプがゼロに設定される必要があります。プロバイダーがヒントを無視する場合は、タイムスタンプを通常の値に設定する必要があります。

true

MEDIUM

camel.component.jms.pubSubNoLocal

独自の接続によって公開されるメッセージの配信を抑制するかどうかを指定します。

false

MEDIUM

camel.component.jms.queueBrowseStrategy

キューの参照時にカスタム QueueBrowseStrategy を使用する

null

MEDIUM

camel.component.jms.receiveTimeout

メッセージの受信のタイムアウト(ミリ秒単位)。

1000L

MEDIUM

camel.component.jms.recoveryInterval

リカバリーを試行する間隔を指定します(例: 接続の更新時(ミリ秒単位)。デフォルトは 5000 ミリ秒で、5 秒です。

5000L

MEDIUM

camel.component.jms.requestTimeoutCheckerInterval

JMS でリクエスト/リプライを行うときに Camel がタイムアウトしたエクスチェンジをチェックする頻度を設定します。デフォルトでは、Camel は 1 秒ごとに 1 回チェックします。ただし、タイムアウトの発生時により迅速に対応する必要がある場合は、この間隔を減らしてより頻繁に確認できます。タイムアウトは、requestTimeout オプションで決定されます。

1000L

MEDIUM

camel.component.jms.transferException

有効にすると、リクエスト応答メッセージング(InOut)を使用し、エクスチェンジがコンシューマー側で失敗した場合、発生した例外は javax.jms.ObjectMessage として応答として返信されます。クライアントが Camel の場合、返された Exception が再スローされます。これにより、Camel JMS をルーティングのブリッジとして使用できます。たとえば、永続キューを使用して堅牢なルーティングを有効にすることができます。transferExchange も有効化されている場合には、このオプションが優先されます。例外がシリアライズ可能である必要があります。コンシューマー側の元の例外は、プロデューサーに戻されたときに org.apache.camel.RuntimeCamelException などの外部例外でラップできます。データは Java オブジェクトのシリアライゼーションを使用し、受信がクラスレベルでデータをデシリアライズできるようにする必要があります。これにより、プロデューサーとコンシューマー間で強力な結合が強制されます。

false

MEDIUM

camel.component.jms.transferExchange

ボディーとヘッダーだけでなく、ネットワーク上でエクスチェンジを転送できます。次のフィールドが転送されます。本文、Out ボディー、フォールト本文、In ヘッダー、Out ヘッダー、フォールトヘッダー、エクスチェンジプロパティー、エクスチェンジ例外。これには、オブジェクトがシリアライズ可能である必要があります。Camel はシリアル化不可能なオブジェクトをすべて除外し、WARN レベルでログに記録されます。プロデューサーとコンシューマー側の両方でこのオプションを有効にする必要があります。そのため、Camel はペイロードが通常のペイロードではなく Exchange を認識します。データは Java オブジェクトのシリアライゼーションを使用し、受信がクラスレベルでデータをデシリアライズできるようにする必要があります。これにより、互換性のある Camel バージョンを使用するプロデューサーとコンシューマー間で強力な結合が強制されます。

false

MEDIUM

camel.component.jms.useMessageIDAsCorrelationID

InOut メッセージに対して JMSCorrelationID として常に JMSMessageID を使用するかどうかを指定します。

false

MEDIUM

camel.component.jms.waitForProvisionCorrelationTo BeUpdatedCounter

request/reply over JMS を実行し、オプション useMessageIDAsCorrelationID が有効になっている場合に、プロビジョニング ID が実際の相関 ID に更新されるまで待機する回数。

50

MEDIUM

camel.component.jms.waitForProvisionCorrelationTo BeUpdatedThreadSleepingTime

プロビジョニングの相関 ID の更新を待機する間に毎回スリープ状態になる間隔(ミリ秒単位)。

100L

MEDIUM

camel.component.jms.headerFilterStrategy

カスタムの org.apache.camel.spi.HeaderFilterStrategy を使用して、Camel メッセージとの間でヘッダーをフィルターします。

null

MEDIUM

camel.component.jms.errorHandlerLoggingLevel

キャッチされない例外についてのデフォルトの errorHandler ロギングレベルの設定を可能にします。[TRACE]、[DEBUG]、[INFO]、[WARN]、[ERROR]、[OFF] のいずれか。

"WARN"

MEDIUM

camel.component.jms.errorHandlerLogStackTrace

デフォルトの errorHandler によってスタックトレースをログに記録するかどうかを制御できます。

true

MEDIUM

camel.component.jms.password

ConnectionFactory で使用するパスワード。また、ユーザー名/パスワードを ConnectionFactory に直接設定することもできます。

null

MEDIUM

camel.component.jms.username

ConnectionFactory で使用するユーザー名。また、ユーザー名/パスワードを ConnectionFactory に直接設定することもできます。

null

MEDIUM

camel.component.jms.transacted

トランザクションモードを使用するかどうかを指定します。

false

MEDIUM

camel.component.jms.transactedInOut

このフラグが true に設定されている場合、InOut 操作(要求応答)のデフォルトが transacted モードを使用するように指定され、Spring JmsTemplate には sessionTransacted が true に設定され、InOut 操作に使用される JmsTemplate で acknowledgeMode がトランザクションとして処理されるかどうかを指定します。Spring JMS から: JTA トランザクション内で createQueue に渡されるパラメーター createTopic メソッドは考慮されません。Java EE トランザクションコンテキストに応じて、コンテナーはこれらの値に対して独自の決定を行います。この場合、Spring JMS は既存の JMS セッションで動作するため、これらのパラメーターはロー