46.12. Spring Boot 自動設定
Spring Boot で Netty を使用する場合は、次の Maven 依存関係を使用して自動設定をサポートしてください。
<dependency> <groupId>org.apache.camel.springboot</groupId> <artifactId>camel-netty-starter</artifactId> </dependency>
<dependency>
  <groupId>org.apache.camel.springboot</groupId>
  <artifactId>camel-netty-starter</artifactId>
</dependency>
コンポーネントは、以下に記載される 74 のオプションをサポートします。
| 名前 | 説明 | デフォルト | タイプ | 
|---|---|---|---|
|   camel.component.netty.allow-default-codec  |   netty コンポーネントは、encoder/decoder が null で textline が false の場合、デフォルトのコーデックをインストールします。allowDefaultCodec を false に設定すると、netty コンポーネントがデフォルトコーデックをフィルターチェーンの最初の要素としてインストールするのを防ぎます。  |   true  |   Boolean  | 
|   camel.component.netty.allow-serialized-headers  |   transferExchange が true の場合にのみ TCP に使用されます。true に設定すると、ヘッダーとプロパティーのシリアル化可能なオブジェクトが交換に追加されます。そうしないと、Camel はシリアル化できないオブジェクトを除外し、WARN レベルでログに記録します。  |   false  |   Boolean  | 
|   camel.component.netty.auto-append-delimiter  |   テキストラインコーデックを使用して送信するときに、不足している終了区切り文字を自動追加するかどうか。  |   true  |   Boolean  | 
|   camel.component.netty.autowired-enabled  |   自動ワイヤリングが有効になっているかどうか。これは、コンポーネントで設定される一致するタイプのインスタンスが 1 つあるかどうかを検出するためにレジストリーを検索することで、自動ワイアリングオプションに使用されます (オプションは自動ワイアとマーク付けされる必要があります)。これは、JDBC データソース、JMS 接続ファクトリー、AWS クライアントなどの自動設定に使用できます。  |   true  |   Boolean  | 
|   camel.component.netty.backlog  |   netty consumer (server) のバックログを設定できます。バックログは、OS によってはベストエフォートであることに注意してください。このオプションを 200、500、1000 などの値に設定すると、TCP スタックに受け入れキューの長さが通知されます。このオプションが設定されていない場合、バックログは OS の設定に依存します。  |   Integer  | |
|   camel.component.netty.boss-count  |   netty が nio モードで動作する場合、Netty のデフォルトの bossCount パラメーターである 1 を使用します。ユーザーはこのオプションを使用して、Netty のデフォルトの bossCount をオーバーライドできます。  |   1  |   Integer  | 
|   camel.component.netty.boss-group  |   NettyEndpoint を介してサーバー側の新しい接続を処理するために使用できる BossGroup を設定します。オプションは io.netty.channel.EventLoopGroup タイプです。  |   EventLoopGroup  | |
|   camel.component.netty.bridge-error-handler  |   コンシューマーの Camel ルーティングエラーハンドラーへのブリッジを許可します。よって、コンシューマーが受信メッセージなどの取得を試行している間に発生した例外は、メッセージとして処理され、ルーティングエラーハンドラーによって処理されます。デフォルトでは、consumer は org.apache.camel.spi.ExceptionHandler を使用して例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。  |   false  |   Boolean  | 
|   camel.component.netty.broadcast  |   UDP 経由のマルチキャストを選択するための設定。  |   false  |   Boolean  | 
|   camel.component.netty.channel-group  |   明示的な ChannelGroup を使用するには。オプションは io.netty.channel.group.ChannelGroup タイプです。  |   ChannelGroup  | |
|   camel.component.netty.client-initializer-factory  |   カスタム ClientInitializerFactory を使用するには。オプションは org.apache.camel.component.netty.ClientInitializerFactory タイプです。  |   ClientInitializerFactory  | |
|   camel.component.netty.client-mode  |   clientMode が true の場合、netty コンシューマーはアドレスを TCP クライアントとして接続します。  |   false  |   Boolean  | 
|   camel.component.netty.configuration  |   エンドポイントの作成時に NettyConfiguration を設定として使用するには。オプションは org.apache.camel.component.netty.NettyConfiguration タイプです。  |   NettyConfiguration  | |
|   camel.component.netty.connect-timeout  |   ソケット接続が使用可能になるまで待機する時間。値はミリ秒単位です。  |   10000  |   Integer  | 
|   camel.component.netty.correlation-manager  |   カスタム相関マネージャーを使用して、netty producer で要求/応答を使用するときに、要求メッセージと応答メッセージがどのようにマップされるかを管理します。これは、要求メッセージと応答メッセージの両方に相関 ID がある場合など、要求を応答と一緒にマップする方法がある場合にのみ使用してください。これは、netty の同じチャネル (別名接続) で同時メッセージを多重化したい場合に使用できます。これを行う場合、リクエストメッセージと応答メッセージを相互に関連付ける方法が必要です。これにより、継続してルーティングされる前に、進行中の Camel エクスチェンジに正しい応答を格納できます。カスタム相関マネージャーを作成するときは、TimeoutCorrelationManagerSupport を拡張することを推奨します。これにより、タイムアウトや他の方法で実装する必要があるその他の複雑さもサポートされます。詳細は、producerPoolEnabled オプションも参照してください。オプションは org.apache.camel.component.netty.NettyCamelStateCorrelationManager タイプです。  |   NettyCamelStateCorrelationManager  | |
|   camel.component.netty.decoder-max-line-length  |   テキストラインコーデックに使用する行の最大長。  |   1024  |   Integer  | 
|   camel.component.netty.decoders  |   使用するデコーダーのリスト。コンマで区切られた値を持つ文字列を使用して、値をレジストリーで検索することができます。Camel がルックアップする必要があることを認識できるように、値の前に # を付けることを忘れないでください。  |   String  | |
|   camel.component.netty.delimiter  |   テキストラインコーデックに使用する区切り文字。可能な値は LINE と NULL です。  |   TextLineDelimiter  | |
|   camel.component.netty.disconnect  |   使用直後に Netty Channel を切断 (クローズ) するかどうか。コンシューマーとプロデューサーの両方に使用できます。  |   false  |   Boolean  | 
|   camel.component.netty.disconnect-on-no-reply  |   同期が有効になっている場合、このオプションは、返信がない場合に NettyConsumer を切断するかどうかを指定します。  |   true  |   Boolean  | 
|   camel.component.netty.enabled  |   netty コンポーネントの自動設定を有効にするかどうか。これはデフォルトで有効になっています。  |   Boolean  | |
|   camel.component.netty.enabled-protocols  |   SSL を使用するときに有効にするプロトコル。  |   TLSv1,TLSv1.1,TLSv1.2  |   String  | 
|   camel.component.netty.encoders  |   使用するエンコーダーのリスト。コンマで区切られた値を持つ文字列を使用して、値をレジストリーで検索することができます。Camel がルックアップする必要があることを認識できるように、値の前に # を付けることを忘れないでください。  |   String  | |
|   camel.component.netty.encoding  |   テキスト行コーデックに使用するエンコーディング (文字セット名)。指定しない場合、Camel は JVM のデフォルトの文字セットを使用します。  |   String  | |
|   camel.component.netty.executor-service  |   指定された EventExecutorGroup を使用します。オプションは io.netty.util.concurrent.EventExecutorGroup タイプです。  |   EventExecutorGroup  | |
|   camel.component.netty.hostname-verification  |   SSLEngine でのホスト名検証を有効または無効にします。  |   false  |   Boolean  | 
|   camel.component.netty.keep-alive  |   非アクティブのためにソケットが閉じられないようにするための設定。  |   true  |   Boolean  | 
|   camel.component.netty.key-store-file  |   暗号化に使用されるクライアント側の証明書キーストア。  |   File  | |
|   camel.component.netty.key-store-format  |   ペイロードの暗号化に使用されるキーストア形式。設定されていない場合、デフォルトで JKS になります。  |   String  | |
|   camel.component.netty.key-store-resource  |   暗号化に使用されるクライアント側の証明書キーストア。デフォルトではクラスパスからロードされますが、classpath:、file:、または http: をプレフィックとして指定して、異なるシステムからリソースをロードすることもできます。  |   String  | |
|   camel.component.netty.lazy-channel-creation  |   Camel producer の起動時にリモートサーバーが稼働していない場合は、例外を回避するためにチャネルを遅延作成できます。  |   true  |   Boolean  | 
|   camel.component.netty.lazy-start-producer  |   最初のメッセージでプロデューサーをレイジーに起動すべきかどうか。レイジーに起動することで、起動時に producer が失敗し、それによりルートが失敗する可能性がある状況で、CamelContext およびルートの起動を許可します。レイジーな起動を延期すると、Camel のルーティングエラーハンドラー経由でメッセージのルーティング中に起動の失敗を処理できます。最初のメッセージが処理されるときに、producer の作成および起動に若干時間がかかり、合計処理時間が長くなる可能性があることに注意してください。  |   false  |   Boolean  | 
|   camel.component.netty.maximum-pool-size  |   netty consumer が注文したスレッドプールの最大スレッドプールサイズを設定します。デフォルトのサイズは 2 x cpu_core プラス 1 です。この値をたとえば 10 に設定すると、2 x cpu_core に 1 を加えた値がより高い値でない限り、10 スレッドが使用され、オーバーライドされて使用されます。たとえば、8 つのコアがある場合、consumer スレッドプールは 17 になります。このスレッドプールは、Netty から受信したメッセージを Camel がルーティングするために使用されます。メッセージの順序を確認するために別のスレッドプールを使用します。また、一部のメッセージがブロックされた場合に備えて、nettys ワーカースレッド (イベントループ) は影響を受けません。  |   Integer  | |
|   camel.component.netty.native-transport  |   NIO の代わりにネイティブトランスポートを使用するかどうか。ネイティブトランスポートはホストオペレーティングシステムを利用し、一部のプラットフォームでのみサポートされます。使用しているホストオペレーティングシステムの netty JAR を追加する必要があります。詳細は、以下を参照してください。  |   false  |   Boolean  | 
|   camel.component.netty.need-client-auth  |   SSL の使用時にサーバーがクライアント認証を必要とするかどうかを設定します。  |   false  |   Boolean  | 
|   camel.component.netty.netty-server-bootstrap-factory  |   カスタム NettyServerBootstrapFactory を使用するには。オプションは org.apache.camel.component.netty.NettyServerBootstrapFactory タイプです。  |   NettyServerBootstrapFactory  | |
|   camel.component.netty.network-interface  |   UDP を使用する場合、このオプションを使用してネットワークインターフェイスをその名前で指定できます (マルチキャストグループに参加するための eth0 など)。  |   String  | |
|   camel.component.netty.no-reply-log-level  |   同期が有効になっている場合、このオプションは NettyConsumer がログに記録するときに使用するログレベルを決定し、返信する応答がありません。  |   LoggingLevel  | |
|   camel.component.netty.options  |   オプションを使用して、追加の netty オプションを設定できます。接頭辞として。たとえば、netty オプション child.keepAlive=false を設定するには、option.child.keepAlive=false とします。使用可能なオプションは、Netty のドキュメントを参照してください。  |   Map  | |
|   camel.component.netty.passphrase  |   SSH を使用して送信されたペイロードを暗号化/復号化するために使用するパスワード設定。  |   String  | |
|   camel.component.netty.producer-pool-enabled  |   producer プールが有効かどうか。重要: これをオフにすると、リクエスト/リプライを実行している場合にも、単一の共有接続が producer に使用されます。つまり、返信が順不同で戻ってきた場合、インタリーブされた応答に問題が生じる可能性があります。したがって、Camel でメッセージの処理を継続するロールを持つ Camel コールバックに応答を適切に関連付けることができるように、要求メッセージと応答メッセージの両方に相関 ID が必要です。これを行うには、NettyCamelStateCorrelationManager を相関マネージャーとして実装し、correlationManager オプションを介して設定する必要があります。詳細は、correlationManager オプションも参照してください。  |   true  |   Boolean  | 
|   camel.component.netty.producer-pool-max-idle  |   プール内のアイドルインスタンス数の上限を設定します。  |   100  |   Integer  | 
|   camel.component.netty.producer-pool-max-total  |   特定の時間にプールによって割り当てられる (クライアントにチェックアウトされるか、チェックアウトを待機するアイドル) オブジェクトの数に上限を設定します。無制限の場合は負の値を使用します。  |   -1  |   Integer  | 
|   camel.component.netty.producer-pool-min-evictable-idle  |   アイドル状態のオブジェクト Evictor によるエビクションの対象となる前に、オブジェクトがプール内でアイドル状態になる最小時間 (ミリ単位の値) を設定します。  |   300000  |   Long  | 
|   camel.component.netty.producer-pool-min-idle  |   evictor スレッド (アクティブな場合) が新しいオブジェクトを生成する前に、producer プールで許可されるインスタンスの最小数を設定します。  |   Integer  | |
|   camel.component.netty.receive-buffer-size  |   インバウンド通信中に使用される TCP/UDP バッファーサイズ。サイズはバイトです。  |   65536  |   Integer  | 
|   camel.component.netty.receive-buffer-size-predictor  |   バッファーサイズプレディクターを設定します。詳細は、Jetty のドキュメントとこのメールスレッドを参照してください。  |   Integer  | |
|   camel.component.netty.reconnect  |   consumer の clientMode でのみ使用されます。これが有効になっている場合、consumer は切断時に再接続を試みます。  |   true  |   Boolean  | 
|   camel.component.netty.reconnect-interval  |   再接続し、clientMode が有効になっている場合に使用されます。再接続を試みる間隔 (ミリ秒)。  |   10000  |   Integer  | 
|   camel.component.netty.request-timeout  |   リモートサーバーを呼び出すときに、Netty プロデューサーのタイムアウトを使用できるようにします。デフォルトでは、タイムアウトは使用されていません。値はミリ秒単位なので、たとえば 30000 は 30 秒です。requestTimeout は、Netty の ReadTimeoutHandler を使用してタイムアウトをトリガーしています。  |   Long  | |
|   camel.component.netty.reuse-address  |   ソケットの多重化を容易にするための設定。  |   true  |   Boolean  | 
|   camel.component.netty.reuse-channel  |   このオプションにより、プロデューサとコンシューマー (クライアントモード) は、エクスチェンジを処理するライフサイクルで同じ Netty チャネルを再利用できます。これは、Camel ルートでサーバーを複数回呼び出す必要があり、同じネットワーク接続を使用したい場合に便利です。これを使用すると、チャネルはエクスチェンジが完了するまで接続プールに返されません。または、切断オプションが true に設定されている場合は切断されます。再利用されたチャネルは、キー NettyConstants#NETTY_CHANNEL を持つエクスチェンジプロパティーとしてエクスチェンジに保存されます。これにより、ルーティング中にチャネルを取得して使用することもできます。  |   false  |   Boolean  | 
|   camel.component.netty.security-provider  |   ペイロードの暗号化に使用するセキュリティープロバイダー。設定されていない場合、デフォルトは SunX509 です。  |   String  | |
|   camel.component.netty.send-buffer-size  |   アウトバウンド通信中に使用される TCP/UDP バッファーサイズ。サイズはバイトです。  |   65536  |   Integer  | 
|   camel.component.netty.server-closed-channel-exception-caught-log-level  |   サーバー (NettyConsumer) が java.nio.channels.ClosedChannelException をキャッチすると、このログレベルを使用してログに記録されます。これは、クローズドチャネル例外のログ記録を回避するために使用されます。これは、クライアントが突然切断され、Netty サーバーでクローズド例外のフラッドが発生する可能性があるためです。  |   LoggingLevel  | |
|   camel.component.netty.server-exception-caught-log-level  |   サーバー (NettyConsumer) が例外をキャッチすると、このログレベルを使用してログに記録されます。  |   LoggingLevel  | |
|   camel.component.netty.server-initializer-factory  |   カスタム ServerInitializerFactory を使用するには。オプションは org.apache.camel.component.netty.ServerInitializerFactory タイプです。  |   ServerInitializerFactory  | |
|   camel.component.netty.ssl  |   このエンドポイントに SSL 暗号化を適用するかどうかを指定する設定。  |   false  |   Boolean  | 
|   camel.component.netty.ssl-client-cert-headers  |   有効で SSL モードの場合、Netty コンシューマーは、サブジェクト名、発行者名、シリアル番号、有効な日付範囲などのクライアント証明書に関する情報を含むヘッダーで Camel メッセージを強化します。  |   false  |   Boolean  | 
|   camel.component.netty.ssl-context-parameters  |   SSLContextParameters を使用してセキュリティーを設定する場合。オプションは org.apache.camel.support.jsse.SSLContextParameters タイプです。  |   SSLContextParameters  | |
|   camel.component.netty.ssl-handler  |   SSL ハンドラーを返すために使用できるクラスへの参照。オプションは io.netty.handler.ssl.SslHandler タイプです。  |   SslHandler  | |
|   camel.component.netty.sync  |   エンドポイントを一方向または要求応答として設定する設定。  |   true  |   Boolean  | 
|   camel.component.netty.tcp-no-delay  |   TCP プロトコルのパフォーマンスを向上させるための設定。  |   true  |   Boolean  | 
|   camel.component.netty.textline  |   TCP にのみ使用されます。コーデックが指定されていない場合、このフラグを使用して、テキスト行ベースのコーデックを示すことができます。指定されていない場合、または値が false の場合、オブジェクトのシリアル化は TCP 経由であると想定されますが、デフォルトでシリアル化できるのは文字列のみです。  |   false  |   Boolean  | 
|   camel.component.netty.transfer-exchange  |   TCP にのみ使用されます。ボディーだけでなく、ネットワーク経由でエクスチェンジを転送することができます。In body、Out body、fault body、In ヘッダー、Out ヘッダー、Fault ヘッダー、exchange プロパティー、exchange 例外フィールドが転送されます。これには、オブジェクトがシリアライズ可能である必要があります。Camel はシリアル化できないオブジェクトを除外し、WARN レベルでログに記録します。  |   false  |   Boolean  | 
|   camel.component.netty.trust-store-file  |   暗号化に使用されるサーバー側の証明書キーストア。  |   File  | |
|   camel.component.netty.trust-store-resource  |   暗号化に使用されるサーバー側の証明書キーストア。デフォルトではクラスパスからロードされますが、classpath:、file:、または http: をプレフィックとして指定して、異なるシステムからリソースをロードすることもできます。  |   String  | |
|   camel.component.netty.udp-byte-array-codec  |   UDP 専用です。Java シリアライゼーションプロトコルの代わりにバイト配列コーデックの使用を有効にした場合。  |   false  |   Boolean  | 
|   camel.component.netty.udp-connectionless-sending  |   このオプションは接続のない UDP 送信をサポートします。接続された udp send は、受信ポートでリッスンしている人がいない場合、PortUnreachableException を受け取ります。  |   false  |   Boolean  | 
|   camel.component.netty.use-byte-buf  |   useByteBuf が true の場合、netty producer はメッセージ本文を送信する前に ByteBuf に変換します。  |   false  |   Boolean  | 
|   camel.component.netty.use-global-ssl-context-parameters  |   グローバル SSL コンテキストパラメーターの使用を有効にします。  |   false  |   Boolean  | 
|   camel.component.netty.using-executor-service  |   順序付けられたスレッドプールを使用して、イベントが同じチャネルで順番に処理されるかどうか。  |   true  |   Boolean  | 
|   camel.component.netty.worker-count  |   netty が nio モードで動作する場合、Netty のデフォルトの workerCount パラメーター (cpu_core_threads x 2) を使用します。ユーザーはこのオプションを使用して、Netty のデフォルトの workerCount をオーバーライドできます。  |   Integer  | |
|   camel.component.netty.worker-group  |   ボススレッドプールとして明示的な EventLoopGroup を使用するには。たとえば、スレッドプールを複数の consumer または producer と共有する場合などです。デフォルトでは、各 consumer または producer には、2 x CPU カウントのコアスレッドを備えた独自のワーカープールがあります。オプションは io.netty.channel.EventLoopGroup タイプです。  |   EventLoopGroup  |