36.3. コンポーネントオプション
Netty コンポーネントは、以下に示す 73 オプションをサポートします。
| 名前 | 説明 | デフォルト | タイプ |
|---|---|---|---|
| configuration (共通) | エンドポイントの作成時に NettyConfiguration を設定として使用します。 | NettyConfiguration | |
| disconnect (共通) | 使用直後に Netty チャネルから切断(閉じる)するかどうか。コンシューマーとプロデューサーの両方に使用できます。 | false | boolean |
| keepAlive (共通) | 非アクティブのため、ソケットが閉じられないようにするための設定。 | true | boolean |
| reuseAddress (共通) | ソケットの多重化を容易にするための設定。 | true | boolean |
| reuseChannel (共通) | このオプションを使用すると、プロデューサーとコンシューマー(クライアントモード)は、エクスチェンジの処理ライフサイクルに同じ Netty チャネルを再利用できます。これは、Camel ルートでサーバーを複数回呼び出し、同じネットワーク接続を使用する場合に便利です。これを使用する場合、エクスチェンジが完了するまでチャンネルは接続プールに返されません。または、disconnect オプションが true に設定されている場合は切断されます。再利用された Channel は、ルーティング中にチャネルを取得し、これを使用できる NettyConstants#NETTY_CHANNEL キーでエクスチェンジプロパティーとしてエクスチェンジプロパティーとして保存されます。 | false | boolean |
| sync (共通) | エンドポイントを一方向または要求応答として設定する設定。 | true | boolean |
| tcpNoDelay (共通) | TCP プロトコルのパフォーマンスを改善するための 設定 | true | boolean |
| bridgeErrorHandler (コンシューマー) | コンシューマーの Camel ルーティングエラーハンドラーへのブリッジを許可します。よって、コンシューマーが受信メッセージなどの取得を試行している間に発生した例外は、メッセージとして処理され、ルーティングエラーハンドラーによって処理されます。デフォルトでは、コンシューマーは org.apache.camel.spi.ExceptionHandler を使用して例外に対応し、WARN または ERROR レベルでログに記録され、無視されます。 | false | boolean |
| broadcast (コンシューマー) | UDP 経由のマルチキャストを選択するための設定。 | false | boolean |
| clientMode (コンシューマー) | clientMode が true の場合、netty コンシューマーはアドレスを TCP クライアントとして接続します。 | false | boolean |
| reconnect (コンシューマー) | コンシューマーの clientMode でのみ使用されます。これが有効な場合に、コンシューマーは切断時に再接続を試みます。 | true | boolean |
| reconnectInterval (コンシューマー) | reconnect および clientMode が有効な場合に使用されます。再接続を試行する間隔(ミリ秒単位)。 | 10000 | int |
| backlog (コンシューマー (上級)) | netty コンシューマー(サーバー)にバックログを設定できます。バックログは、OS に応じてベストエフォートであることに注意してください。このオプションを 200、500、1000 などの値に設定すると、TCP スタックは accept キューが であるかどうかを TCP スタックに指示します。このオプションが設定されていない場合、バックログは OS の設定に依存します。 | int | |
| bossCount (コンシューマー (上級)) | netty が nio モードで機能する場合は、Netty のデフォルトの bossCount パラメーターを使用します。これは 1 です。ユーザーはこのオプションを使用して Netty からデフォルトの bossCount を上書きできます。 | 1 | int |
| bossGroup (コンシューマー (上級)) | NettyEndpoint 全体でサーバー側の新しい接続を処理するために使用できる BossGroup を設定します。 | EventLoopGroup | |
| disconnectOnNoReply (コンシューマー (上級)) | sync が有効になっている場合、このオプションは NettyConsumer を指示します。この場合、返信の応答がない場合、このオプションは NettyConsumer を切断します。 | true | boolean |
| executorService (コンシューマー (上級)) | 指定された EventExecutorGroup を使用します。 | EventExecutorGroup | |
| maximumPoolSize (コンシューマー (上級)) | netty コンシューマーの順序付けられたスレッドプールの最大サイズを設定します。デフォルトのサイズは 2 x cpu_core と 1 です。この値を 10 に設定すると、2 x cpu_core と 1 が値が大きい場合を除き、10 スレッドが使用されます。その後、は上書きされ、使用されます。たとえば、コアが 8 の場合、コンシューマースレッドプールは 17 になります。このスレッドプールは、Netty から受信したメッセージを Camel がルーティングするために使用されます。別のスレッドプールを使用してメッセージの順序付けを確保し、一部のメッセージがブロックされると、nettys ワーカースレッド(イベントループ)は影響を受けません。 | int | |
| nettyServerBootstrapFactory (コンシューマー (上級)) | カスタム NettyServerBootstrapFactory を使用します。 | NettyServerBootstrapFactory | |
| networkInterface (コンシューマー (上級)) | UDP を使用する場合、このオプションを使用して、マルチキャストグループに参加する eth0 などの名前でネットワークインターフェイスを指定できます。 | 文字列 | |
| noReplyLogLevel (consumer (advanced)) | sync が有効になっている場合、このオプションは NettyConsumer を決定し、送信応答がない場合に使用するロギングレベルを指定します。 列挙値:
| WARN | LoggingLevel |
| serverClosedChannelExceptionCaughtLogLevel (consumer (advanced)) | サーバー(NettyConsumer)が java.nio.channels.ClosedChannelException をキャッチすると、このログレベルを使用してログに記録されます。これは、クライアントが突然切断し、Netty サーバーで閉じられた例外が発生する可能性があるため、閉じられたチャンネル例外を記録しないようにするために使用されます。 列挙値:
| DEBUG | LoggingLevel |
| serverExceptionCaughtLogLevel (consumer (advanced)) | サーバー(NettyConsumer)が例外をキャッチする場合、このロギングレベルを使用してログに記録されます。 列挙値:
| WARN | LoggingLevel |
| serverInitializerFactory (コンシューマー (上級)) | カスタム ServerInitializerFactory を使用します。 | ServerInitializerFactory | |
| usingExecutorService (コンシューマー (上級)) | 順序付けられたスレッドプールを使用して、イベントが同じチャネルで順番に処理されるかどうか。 | true | boolean |
| connectTimeout (プロデューサー) | ソケット接続が利用可能になるまでの待機時間。値はミリ秒単位です。 | 10000 | int |
| lazyStartProducer (producer) | 最初のメッセージでプロデューサーをレイジーに起動すべきかどうか。レイジーに起動することで、起動時にプロデューサーが失敗し、それによりルートが失敗する可能性がある状況で、CamelContext およびルートの起動を許可します。レイジーな起動を延期すると、Camel のルーティングエラーハンドラー経由でメッセージのルーティング中に起動の失敗を処理できます。最初のメッセージが処理されるときに、プロデューサーの作成および起動に若干時間がかかり、合計処理時間が長くなる可能性があることに注意してください。 | false | boolean |
| requestTimeout (プロデューサー) | リモートサーバーを呼び出すときに Netty プロデューサーのタイムアウトを使用できます。デフォルトでは、タイムアウトは使用されません。値はミリ秒単位であるため、30000 は 30 秒です。requestTimeout は Netty の ReadTimeoutHandler を使用してタイムアウトをトリガーします。 | long | |
| clientInitializerFactory (プロデューサー (上級)) | カスタム ClientInitializerFactory を使用します。 | ClientInitializerFactory | |
| correlationManager (プロデューサー (上級)) | カスタムの相関マネージャーを使用して、リクエストおよびリプライメッセージを netty プロデューサーで使用時にどのようにマッピングされるかを管理します。リクエストメッセージとリプライメッセージの両方に相関 ID がある場合など、要求を応答とマッピングする方法がある場合にのみ使用してください。これは、同じチャネル(つまり 接続)で同時メッセージを多重化したい場合に使用できます。これを行う場合は、要求メッセージとリプライメッセージを相関させる方法が必要です。これにより、引き続きルーティングされる前に、インフライト Camel Exchange に正しい応答を保存できます。カスタム相関マネージャーを構築する場合は、TimeoutCorrelationManagerSupport を拡張することが推奨されます。これにより、タイムアウトや他の方法で実装する必要があるその他の複雑さもサポートされます。詳細は、producerPoolEnabled オプションも参照してください。 | NettyCamelStateCorrelationManager | |
| lazyChannelCreation (producer (advanced)) | チャネルは、Camel プロデューサーの開始時にリモートサーバーが稼働していない場合に例外を回避するために遅延して作成できます。 | true | boolean |
| producerPoolEnabled (プロデューサー (上級)) | プロデューサープールが有効かどうか。重要:これをオフにすると、リクエスト/リプライを行う場合でもプロデューサーに単一の共有接続が使用されます。つまり、応答が順不同で返されると、インターリーブな応答で問題が発生する可能性があります。したがって、Camel でメッセージの処理を継続するロールを持つ Camel コールバックに応答を適切に関連付けることができるように、要求メッセージと応答メッセージの両方に相関 ID が必要です。これには、NettyCamelStateCorrelationManager を相関マネージャーとして実装し、correlationManager オプションを使用して設定する必要があります。詳細は、correlationManager オプションも参照してください。 | true | boolean |
| producerPoolMaxIdle (プロデューサー (上級)) | プール内のアイドル状態のインスタンス数の上限を設定します。 | 100 | int |
| producerPoolMaxTotal (プロデューサー (上級)) | プールが割り当てることができるオブジェクト数の上限を設定します(クライアントに対してチェックするか、チェックアウトをアイドリングします)。制限なしには負の値を使用してください。 | -1 | int |
| producerPoolMinEvictableIdle (producer (advanced)) | アイドルオブジェクトのエビクターによるエビクションの対象となる前に、オブジェクトがプールでアイドル状態にある可能性のある最小時間(ミリ秒単位)を設定します。 | 300000 | long |
| producerPoolMinIdle (producer (advanced)) | エビクタースレッド(アクティブな場合)が新しいオブジェクトを生成する前に、プロデューサープールで許可されるインスタンスの最小数を設定します。 | int | |
| udpConnectionlessSending (プロデューサー (上級)) | このオプションは、実際の fire および forget である接続の低い udp 送信をサポートします。接続された udp 送信は、受信側ポートでリッスンしていない場合は PortUnreachableException を受け取ります。 | false | boolean |
| useByteBuf (プロデューサー (上級)) | useByteBuf が true の場合、Netty プロデューサーは送信前にメッセージボディーを ByteBuf に変換します。 | false | boolean |
| ホスト名の検証 (セキュリティー) | SSLEngine でホスト名の検証を有効/無効にします。 | false | boolean |
| allowSerializedHeaders (上級) | transferExchange が true の場合に TCP にのみ使用されます。true に設定すると、ヘッダーおよびプロパティーのシリアライズ可能なオブジェクトがエクスチェンジに追加されます。そうしないと、Camel はシリアライズできないオブジェクトを除外し、WARN レベルでログに記録します。 | false | boolean |
| autowiredEnabled (上級) | 自動ワイヤリングが有効になっているかどうか。これは、コンポーネントで設定される一致するタイプのインスタンスが 1 つあるかどうかを検出するためにレジストリーを検索することで、自動ワイアリングオプションに使用されます (オプションは自動ワイアとマーク付けされる必要があります)。これは、JDBC データソース、JMS 接続ファクトリー、AWS クライアントなどの自動設定に使用できます。 | true | boolean |
| channelGroup (上級) | 明示的な ChannelGroup を使用します。 | ChannelGroup | |
| nativeTransport (上級) | NIO の代わりにネイティブトランスポートを使用するかどうか。ネイティブトランスポートはホストオペレーティングシステムを活用し、一部のプラットフォームでのみサポートされています。使用しているホストオペレーティングシステムの netty JAR を追加する必要があります。詳細は、を参照してください。 | false | boolean |
| options (上級) | option. を接頭辞として使用して、追加の netty オプションを設定できます。たとえば、netty オプション child.keepAlive=false を設定するには、options.child.keepAlive=false を使用します。使用可能なオプションについては、Netty のドキュメントを参照してください。 | マップ | |
| receiveBufferSize (上級) | インバウンド通信中に使用される TCP/UDP バッファーサイズ。サイズはバイトです。 | 65536 | int |
| receiveBufferSizePredictor (上級) | バッファーサイズプレディクターを設定します。詳細は、Jetty のドキュメントとこのメールスレッドを参照してください。 | int | |
| sendBufferSize (上級) | アウトバウンド通信中に使用される TCP/UDP バッファーサイズ。サイズはバイトです。 | 65536 | int |
| transferExchange (上級) | TCP にのみ使用されます。ボディーだけでなく、ネットワーク経由でエクスチェンジを転送することができます。以下のフィールドは転送されます:ボディー、Out body、Fault ボディー、In headers、Out ヘッダー、Fault ヘッダー、エクスチェンジプロパティー、エクスチェンジ例外。これには、オブジェクトがシリアライズ可能である必要があります。Camel はシリアル化できないオブジェクトを除外し、WARN レベルでログに記録します。 | false | boolean |
| udpByteArrayCodec (advanced) | UDP のみ。有効にした場合、Java シリアライゼーションプロトコルの代わりにバイト配列コーデックの使用。 | false | boolean |
| workerCount (上級) | netty が nio モードで機能する場合は、Netty のデフォルトの workerCount パラメーターを使用します(cpu_core_threads x 2)。ユーザーはこのオプションを使用して Netty からデフォルトの workerCount を上書きできます。 | int | |
| workerGroup (上級) | 明示的な EventLoopGroup を boss スレッドプールとして使用するには、以下を実行します。たとえば、複数のコンシューマーまたはプロデューサーとスレッドプールを共有するには、以下を実行します。デフォルトでは、各コンシューマーまたはプロデューサーには、2 x cpu count コアスレッドを持つ独自のワーカープールがあります。 | EventLoopGroup | |
| allowDefaultCodec (codec) | netty コンポーネントは、エンコーダー/デコーダーの両方が null で、テキストラインが false の場合にデフォルトのコーデックをインストールします。allowDefaultCodec を false に設定すると、netty コンポーネントがフィルターチェーンの最初の要素としてデフォルトの codec をインストールできなくなります。 | true | boolean |
| autoAppendDelimiter (codec) | テキストラインコーデックを使用して送信する際に、不足している終了区切り文字を自動追加するかどうか。 | true | boolean |
| decoderMaxLineLength (codec) | テキストラインコーデックに使用する最大行の長さ。 | 1024 | int |
| decoders (codec) | 使用するデコーダーのリスト。コンマで区切られた値を持つ文字列を使用して、値をレジストリーで検索することができます。Camel がルックアップする必要があることを認識できるように、値の前に # を付けることを忘れないでください。 | リスト | |
| delimiter (codec) | テキストラインコーデックに使用する区切り文字。使用できる値は LINE および NULL です。 列挙値:
| LINE | TextLineDelimiter |
| encoders (codec) | 使用するエンコーダーのリスト。コンマで区切られた値を持つ文字列を使用して、値をレジストリーで検索することができます。Camel がルックアップする必要があることを認識できるように、値の前に # を付けることを忘れないでください。 | リスト | |
| encoding (codec) | テキストラインコーデックに使用するエンコーディング(文字セット名)。指定しない場合、Camel は JVM のデフォルトの文字セットを使用します。 | 文字列 | |
| textline (codec) | TCP にのみ使用されます。codec が指定されていない場合、このフラグを使用してテキスト行ベースの codec を示すことができます。指定されていない場合、または値が false の場合、Object Serialization は TCP 上で想定されますが、デフォルトで文字列のみがシリアライズされます。 | false | boolean |
| enabledProtocols (セキュリティー) | SSL を使用する際に有効にするプロトコル。 | TLSv1,TLSv1.1,TLSv1.2 | 文字列 |
| keyStoreFile (セキュリティー) | 暗号化に使用されるクライアント側の証明書キーストア。 | File | |
| keyStoreFormat (セキュリティー) | ペイロードの暗号化に使用されるキーストア形式。設定されていない場合は、デフォルトで JKS に設定されます。 | 文字列 | |
| keyStoreResource (セキュリティー) | 暗号化に使用されるクライアント側の証明書キーストア。デフォルトではクラスパスからロードされますが、classpath:、file:、または http: をプレフィックとして指定して、異なるシステムからリソースをロードすることもできます。 | 文字列 | |
| needClientAuth (セキュリティー) | SSL の使用時にサーバーがクライアント認証を必要とするかどうかを設定します。 | false | boolean |
| パスフレーズ (セキュリティー) | SSH を使用して送信されたペイロードの暗号化/復号化に使用するパスワード設定。 | 文字列 | |
| securityProvider (セキュリティー) | ペイロードの暗号化に使用するセキュリティープロバイダー。設定されていない場合は、デフォルトで SunX509 に設定されます。 | 文字列 | |
| ssl (セキュリティー) | SSL 暗号化がこのエンドポイントに適用されるかどうかを指定します。 | false | boolean |
| sslClientCertHeaders (security) | 有効および SSL モードの場合、Netty コンシューマーはサブジェクト名、発行者名、シリアル番号、有効な日付範囲などのクライアント証明書に関する情報で Camel Message を補完します。 | false | boolean |
| sslContextParameters (security) | SSLContextParameters を使用してセキュリティーを設定する場合。 | SSLContextParameters | |
| sslHandler (セキュリティー) | SSL ハンドラーを返すために使用できるクラスへの参照。 | SslHandler | |
| trustStoreFile (セキュリティー) | 暗号化に使用されるサーバー側の証明書キーストア。 | File | |
| trustStoreResource (セキュリティー) | 暗号化に使用されるサーバー側の証明書キーストア。デフォルトではクラスパスからロードされますが、classpath:、file:、または http: をプレフィックとして指定して、異なるシステムからリソースをロードすることもできます。 | 文字列 | |
| useGlobalSslContextParameters (security) | グローバル SSL コンテキストパラメーターの使用を有効にします。 | false | boolean |