5.15. SQL


5.15.1. camel-sql-kafka-connector シンク設定

コネクターの説明: Spring JDBC を使用して SQL クエリーを実行します。

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

<dependency>
  <groupId>org.apache.camel.kafkaconnector</groupId>
  <artifactId>camel-sql-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.sql.CamelSqlSinkConnector

camel-sql シンクコネクターは、以下に示す 22 のオプションをサポートしています。

Expand
名前説明デフォルト必要性優先順位

camel.sink.path.query

実行する SQL クエリーを設定します。file: または classpath: を接頭辞として使用してクエリーを外部化し、ファイルの場所を指定できます。

null

true

HIGH

camel.sink.endpoint.allowNamedParameters

クエリーで名前付きパラメーターの使用を許可するかどうか。

true

false

MEDIUM

camel.sink.endpoint.dataSource

エンドポイントレベルでデータベースと通信するために使用する DataSource を設定します。

null

false

MEDIUM

camel.sink.endpoint.dataSourceRef

データベースとの通信に使用するために、レジストリーから参照する DataSource への参照を設定します。

null

false

低度の影響

camel.sink.endpoint.outputClass

outputType=SelectOne の場合、変換として使用する完全なパッケージとクラス名を指定します。

null

false

MEDIUM

camel.sink.endpoint.outputHeader

メッセージ本文ではなく、ヘッダーにクエリー結果を格納します。デフォルトでは、outputHeader == null で、クエリー結果はメッセージ本文に格納され、メッセージ本文の既存のコンテンツは破棄されます。outputHeader が設定されている場合、値はクエリー結果を格納するヘッダーの名前として使用され、元のメッセージ本文は保持されます。

null

false

MEDIUM

camel.sink.endpoint.outputType

以下の方法で、コンシューマーまたはプロデューサの出力を Map のリストとして SelectList、または単一の Java オブジェクトとして SelectOne にします。a) クエリーが単一の列を持っている場合、その JDBC 列オブジェクトが返されます。(SELECT COUNT( ) FROM PROJECT のような場合、Long オブジェクトを返します。) b) クエリーが複数の列を持つ場合、その結果の Map を返します。c) 出力クラスが設定されている場合、列名に一致するすべてのセッターを呼び出して、クエリーの結果を Java Bean オブジェクトに変換します。クラスには、インスタンスを作成するためのデフォルトのコンストラクターがあると想定されます。d) クエリーの結果が複数の行になった場合、一意でない結果の例外が出力されます。StreamList は、Iterator を使用してクエリーの結果をストリーミングします。これは、ストリーミング方式で ResultSet を処理するために、ストリーミングモードでスプリッタ EIP とともに使用できます。One of: [SelectOne] [SelectList] [StreamList]

"SelectList"

false

MEDIUM

camel.sink.endpoint.separator

パラメーター値がメッセージ本文 (本文が文字列型の場合) から取得されるときに使用するセパレーターで、# プレースホルダーに挿入されます。名前付きパラメーターを使用する場合は、代わりに Map タイプが使用されることに注意してください。デフォルト値は、コンマです。

","

false

MEDIUM

camel.sink.endpoint.batch

バッチモードを有効または無効にします

false

false

MEDIUM

camel.sink.endpoint.lazyStartProducer

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

false

false

MEDIUM

camel.sink.endpoint.noop

設定されている場合、SQL クエリーの結果を無視し、既存の IN メッセージを OUT メッセージとして使用して処理を続行します。

false

false

MEDIUM

camel.sink.endpoint.useMessageBodyForSql

メッセージ本文を SQL として使用し、次にパラメーターのヘッダーを使用するかどうか。このオプションを有効にすると、URI の SQL は使用されません。メッセージ本文のクエリーパラメーターは、# 記号ではなく疑問符で表されることに注意してください。

false

false

MEDIUM

camel.sink.endpoint.alwaysPopulateStatement

有効にすると、org.apache.camel.component.sql.SqlPrepareStatementStrategy の populateStatement メソッドが常に呼び出されます。また、準備する必要のあるパラメーターがない場合も同様です。これが false の場合、populateStatement は、1 つ以上の予期されるパラメーターが設定される場合にのみ呼び出されます。たとえば、これにより、パラメーターのない SQL クエリーのメッセージ本文/ヘッダーの読み取りが回避されます。

false

false

MEDIUM

camel.sink.endpoint.parametersCount

0 より大きい値を設定すると、Camel は JDBC メタデータ API を介してクエリーを実行する代わりに、このパラメーターのカウント値を使用して置き換えます。これは、JDBC ベンダーが正しいパラメーター数を返すことができず、ユーザーが代わりにオーバーライドできる場合に役立ちます。

null

false

MEDIUM

camel.sink.endpoint.placeholder

SQL クエリーで置換される文字を指定します。これは単純な String.replaceAll() 操作であり、SQL 解析が含まれていないことに注意してください (引用符で囲まれた文字列も変更されます)。

"#"

false

MEDIUM

camel.sink.endpoint.prepareStatementStrategy

プラグインでカスタム org.apache.camel.component.sql.SqlPrepareStatementStrategy を使用して、クエリーと準備済みステートメントの準備を制御できるようにします。

null

false

MEDIUM

camel.sink.endpoint.templateOptions

マップからのキー/値を使用して Spring JdbcTemplate を設定します

null

false

MEDIUM

camel.sink.endpoint.usePlaceholder

SQL クエリーでプレースホルダーを使用し、すべてのプレースホルダー文字を符号に置き換えるかどうかを設定します。

true

false

MEDIUM

camel.component.sql.dataSource

データベースとの通信に使用する DataSource を設定します。

null

false

MEDIUM

camel.component.sql.lazyStartProducer

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

false

false

MEDIUM

camel.component.sql.autowiredEnabled

自動ワイヤリングが有効になっているかどうか。これは、コンポーネントで設定される一致するタイプのインスタンスが 1 つあるかどうかを検出するためにレジストリーを検索することで、自動ワイアリングオプションに使用されます (オプションは自動ワイアとマーク付けされる必要があります)。これは、JDBC データソース、JMS 接続ファクトリー、AWS クライアントなどの自動設定に使用できます。

true

false

MEDIUM

camel.component.sql.usePlaceholder

SQL クエリーでプレースホルダーを使用し、すべてのプレースホルダー文字を符号に置き換えるかどうかを設定します。このオプションのデフォルトは true です

true

false

MEDIUM

camel-sql シンクコネクターには、すぐに使えるコンバーターはありません。

camel-sql シンクコネクターには、すぐに使える変換はありません。

camel-sql シンクコネクターには、すぐに使用できる集計ストラテジーはありません。

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

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

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

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

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

Legal Notice

Theme

© 2026 Red Hat
トップに戻る