第4章 設定
Camel Quarkus は、デフォルトでは Quarkus アプリケーションライフサイクルに応じて起動/停止する Camel Context Bean を自動的に設定およびデプロイします。設定ステップは、Quarkus の拡張フェーズ中のビルド時に実行され、Camel Quarkus 固有の quarkus.camel.* プロパティーを使用して調整できる Camel Quarkus エクステンションによって実行されます。
quarkus.camel.* 設定プロパティーは、個々のエクステンションページに記載されています。たとえば、Camel Quarkus Core を参照してください。
設定が完了すると、最小の Camel Runtime がアセンブルされ、RUNTIME_INIT フェーズで起動します。
4.1. Camel コンポーネントの設定 リンクのコピーリンクがクリップボードにコピーされました!
4.1.1. application.properties リンクのコピーリンクがクリップボードにコピーされました!
プロパティーを使用して Apache Camel のコンポーネントおよびその他の要素を設定するには、アプリケーションが camel-quarkus-core に直接、または推移的に依存するようにしてください。ほとんどの Camel Quarkus エクステンションは camel-quarkus-core に依存するため、通常は明示的に追加する必要はありません。
camel-quarkus-core は、Camel Main から Camel Quarkus に機能を提供します。
以下の例では、application.properties 経由で LogComponent に特定の ExchangeFormatter を設定します。
camel.component.log.exchange-formatter = #class:org.apache.camel.support.processor.DefaultExchangeFormatter camel.component.log.exchange-formatter.show-exchange-pattern = false camel.component.log.exchange-formatter.show-body-type = false
camel.component.log.exchange-formatter = #class:org.apache.camel.support.processor.DefaultExchangeFormatter
camel.component.log.exchange-formatter.show-exchange-pattern = false
camel.component.log.exchange-formatter.show-body-type = false
4.1.2. CDI リンクのコピーリンクがクリップボードにコピーされました!
CDI を使用して、コンポーネントをプログラムで設定することもできます。
推奨される方法は、ComponentAddEvent を監視し、ルートおよび CamelContext を起動する前にコンポーネントを設定することです。
4.1.2.1. @Named コンポーネントインスタンスの生成 リンクのコピーリンクがクリップボードにコピーされました!
別の方法として、@Named プロデューサーメソッドでコンポーネントを作成および設定できます。これは、Camel がコンポーネント URI スキームを使用してレジストリーからコンポーネントを検索する際に機能します。たとえば、LogComponent Camel の場合は bean という名前の log を検索します。
@Named コンポーネント Bean の生成は通常は機能しますが、一部のコンポーネントで軽微な問題が発生する可能性があります。
Camel Quarkus エクステンションは、以下のいずれかを行う場合があります。
- デフォルトの Camel コンポーネントタイプのカスタムサブタイプを渡す。Vert.x WebSocket エクステンション の例を参照してください。
- コンポーネントの Quarkus 固有のカスタマイズを実行する。JPA エクステンション の例を参照してください。
これらのアクションは、独自のコンポーネントインスタンスを作成する場合には実行されないため、オブザーバーメソッドでコンポーネントを設定する方法を推奨します。
- 1
- メソッドの名前が同じであれば、
@Namedアノテーションの"log"引数は省略できます。