32.4. オプションの設定


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

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

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

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

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

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

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

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

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

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

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

32.4.3. コンポーネントオプション

JPA コンポーネントは、以下に示す 9 個のオプションをサポートしています。

Expand
名前説明デフォルトタイプ

aliases (共通)

エイリアスを JPA エンティティークラスにマップします。エイリアスは、(完全修飾クラス名の代わりに) エンドポイント URI で使用できます。

 

Map

entityManagerFactory (Common)

EntityManagerFactory を使用する場合。これを設定することを強くお勧めします。

 

EntityManagerFactory

joinTransaction (Common)

camel-jpa コンポーネントはデフォルトでトランザクションに参加します。このオプションを使用して、これをオフにすることができます。たとえば、LOCAL_RESOURCE を使用していて、参加トランザクションが JPA プロバイダーで機能しない場合などです。このオプションは、すべてのエンドポイントで設定する代わりに、JpaComponent でグローバルに設定することもできます。

true

boolean

sharedEntityManager (common)

consumer/producer に Spring の SharedEntityManager を使用するかどうか。これは EXTENDED EntityManager ではないため、ほとんどの場合、joinTransaction は false に設定する必要があります。

false

boolean

transactionManager (Common)

PlatformTransactionManager を使用してトランザクションを管理する場合。

 

PlatformTransactionManager

transactionStrategy (共通)

トランザクションで操作を実行するために TransactionStrategy を使用するには。

 

TransactionStrategy

bridgeErrorHandler (consumer)

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

false

boolean

lazyStartProducer (producer)

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

false

boolean

autowiredEnabled (上級)

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

true

boolean

32.4.4. エンドポイントオプション

JPA エンドポイントは、URI 構文を使用して設定されます。

jpa:entityType
Copy to Clipboard Toggle word wrap

パスおよびクエリーパラメーターを使用します。

32.4.4.1. パスパラメーター(1 パラメーター)

Expand
名前説明デフォルトタイプ

entityType (common)

必須 Entity クラス名。

 

クラス

32.4.4.2. クエリーパラメーター (44 パラメーター)

Expand
名前説明デフォルトタイプ

joinTransaction (Common)

camel-jpa コンポーネントはデフォルトでトランザクションに参加します。このオプションを使用して、これをオフにすることができます。たとえば、LOCAL_RESOURCE を使用していて、参加トランザクションが JPA プロバイダーで機能しない場合などです。このオプションは、すべてのエンドポイントで設定する代わりに、JpaComponent でグローバルに設定することもできます。

true

boolean

maximumResults (common)

クエリーで取得する結果の最大数を設定します。

-1

int

namedQuery (common)

名前付きクエリーを使用する場合。

 

String

nativeQuery (common)

カスタムネイティブクエリーを使用する場合。ネイティブクエリーを使用する場合にも、オプション resultClass を使用することができます。

 

文字列

persistenceUnit (common)

必須 デフォルトで使用される JPA 持続性ユニット。

camel

String

query (common)

カスタムクエリーを使用する場合。

 

String

resultClass (common)

返されるペイロードのタイプを定義します (entityManager.createNativeQuery (nativeQuery) の代わりに entityManager.createNativeQuery (nativeQuery、resultClass) を呼び出します)。このオプションを指定しないと、オブジェクト配列が返されます。データを消費するときにネイティブクエリーと組み合わせて使用する場合にのみ影響します。

 

クラス

consumeDelete (consumer)

true の場合、エンティティーは消費後に削除されます。false の場合、エンティティーは削除されません。

true

boolean

consumeLockEntity (consumer)

ポーリングの結果を処理する際に、各エンティティー Bean に排他ロックを設定するかどうかを指定します。

true

boolean

deleteHandler (consumer)

consumer がエクスチェンジの処理を完了した後に、カスタム DeleteHandler を使用して行を削除する場合。

 

DeleteHandler

lockModeType (consumer)

consumer でロックモードを設定する場合。

列挙値:

  • READ
  • WRITE
  • OPTIMISTIC
  • OPTIMISTIC_FORCE_INCREMENT
  • PESSIMISTIC_READ
  • PESSIMISTIC_WRITE
  • PESSIMISTIC_FORCE_INCREMENT
  • NONE

PESSIMISTIC_WRITE

LockModeType

maxMessagesPerPoll (consumer)

ポーリングごとに収集するメッセージの最大数を定義する整数値。デフォルトでは最大値は設定されていません。サーバーの起動時に何千ものメッセージをポーリングするのを避けるために使用できます。無効にするには、0 または負の値を設定します。

 

int

preDeleteHandler (consumer)

カスタム Pre-DeleteHandler を使用して、consumer がエンティティーを読み取った後に行を削除する場合。

 

DeleteHandler

sendEmptyMessageWhenIdle (consumer)

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

false

boolean

skipLockedEntity (consumer)

ロック時に NOWAIT を使用し、サイレントにエンティティーをスキップするかどうかを設定する場合。

false

boolean

transacted (consumer)

バッチ全体が処理されたときに、すべてのメッセージがコミットまたはロールバックされるトランザクションモードで consumer を実行するかどうか。デフォルトの動作 (false) は、以前に正常に処理されたすべてのメッセージをコミットし、最後に失敗したメッセージのみをロールバックします。

false

boolean

bridgeErrorHandler (consumer (advanced))

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

false

boolean

exceptionHandler (consumer (上級))

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

 

ExceptionHandler

exchangePattern (consumer (上級))

consumer がエクスチェンジを作成する際に交換パターンを設定します。

列挙値:

  • InOnly
  • InOut
  • InOptionalOut
 

ExchangePattern

parameter (consumer (高度))

このキーと値のマッピングは、クエリーパラメーターの作成に使用されます。これは、キーが特定の JPA クエリーの名前付きパラメーターであり、値が選択する対応する有効な値であるジェネリック型 java.util.Map であることが期待されます。producer に使用する場合は、単純式をパラメーター値として使用できます。メッセージボディー、ヘッダーなどからパラメーター値を取得できます。

 

Map

pollStrategy (consumer (上級))

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

 

PollingConsumerPollStrategy

findEntity (producer)

有効にすると、producer はメッセージボディーをキーとして使用し、EntityType をクラスタイプとして使用して単一のエンティティーを見つけます。これは、クエリーの代わりに使用して、単一のエンティティーを検索できます。

false

boolean

flushOnSend (producer)

エンティティー Bean が永続化された後、EntityManager をフラッシュします。

true

boolean

remove (producer)

entityManager.remove (entity) を使用することを示します。

false

boolean

useExecuteUpdate (producer)

producer がクエリーを実行するときに executeUpdate() を使用するかどうかを設定します。INSERT、UPDATE、または DELETE ステートメントを名前付きクエリーとして使用する場合、このオプションを true に指定する必要があります。

 

Boolean

usePersist (producer)

entityManager.merge (entity) の代わりに entityManager.persist (entity) を使用することを示します。注記: entityManager.persist (entity) は、切り離されたエンティティー (EntityManager が INSERT クエリーの代わりに UPDATE を実行する必要がある場合) では機能しません!

false

boolean

lazyStartProducer (producer (上級))

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

false

boolean

usePassedInEntityManager (producer (advanced))

true に設定すると、Camel は、コンポーネント/エンドポイントで設定されたエンティティーマネージャーの代わりに、ヘッダー JpaConstants.ENTITY_MANAGER の EntityManager を使用します。これにより、エンドユーザーはどのエンティティーマネージャーを使用するかを制御できます。

false

boolean

entityManagerProperties (advanced)

エンティティーマネージャーが使用する追加のプロパティー。

 

Map

sharedEntityManager (advanced)

consumer/producer に Spring の SharedEntityManager を使用するかどうか。これは EXTENDED EntityManager ではないため、ほとんどの場合、joinTransaction は false に設定する必要があります。

false

boolean

backoffErrorThreshold (scheduler)

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

 

int

backoffIdleThreshold (scheduler)

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

 

int

backoffMultiplier (scheduler)

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

 

int

delay (scheduler)

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

500

long

greedy (scheduler)

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

false

boolean

initialDelay (scheduler)

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

1000

long

repeatCount (スケジューラー)

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

0

long

runLoggingLevel (scheduler)

consumer はポーリング時に開始/完了のログ行を記録します。このオプションを使用すると、ログレベルを設定できます。

列挙値:

  • TRACE
  • DEBUG
  • INFO
  • WARN
  • ERROR
  • OFF

TRACE

LoggingLevel

scheduledExecutorService (scheduler)

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

 

ScheduledExecutorService

scheduler (スケジューラー)

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

none

オブジェクト

schedulerProperties (スケジューラー)

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

 

マップ

startScheduler (scheduler)

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

true

boolean

timeUnit (scheduler)

initialDelay および delay オプションの時間単位。

列挙値:

  • ナノ秒
  • マイクロ秒
  • MILLISECONDS
  • SECONDS
  • 時間

MILLISECONDS

TimeUnit

useFixedDelay (scheduler)

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

true

boolean

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat