240.2. オプション

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

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

maximumPoolSize (advanced)

使用中の場合の EventExecutorGroup のスレッドプールサイズ。デフォルト値は 16 です。

16

int

configuration (advanced)

エンドポイントの作成時に NettyConfiguration を設定として使用するには。

 

NettyConfiguration

executorService (advanced)

指定された EventExecutorGroup を使用します。

 

EventExecutorGroup

useGlobalSslContext Parameters (security)

グローバル SSL コンテキストパラメーターの使用を有効にします。

false

boolean

resolveProperty Placeholders (advanced)

起動時にコンポーネントがプロパティープレースホルダーを解決するかどうか。String タイプのプロパティーのみがプロパティープレースホルダーを使用できます。

true

boolean

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

netty4:protocol:host:port

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

240.2.1. パスパラメーター (3 パラメーター):

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

protocol

必須 tcp または udp の使用するプロトコル。

 

String

host

必須 ホスト名。コンシューマーの場合、ホスト名は localhost または 0.0.0.0 ですプロデューサーの場合、ホスト名は接続先のリモートホストです

 

String

port

必須 ホストのポート番号

 

int

240.2.2. クエリーパラメーター(72 個のパラメーター):

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

disconnect (Common)

使用直後に Netty Channel を切断 (クローズ) するかどうか。コンシューマーとプロデューサーの両方に使用できます。

false

boolean

keepAlive (common)

非アクティブのためにソケットが閉じられないようにするための設定

true

boolean

reuseAddress (Common)

ソケットの多重化を容易にするための設定

true

boolean

reuseChannel (common)

このオプションにより、プロデューサとコンシューマー (クライアントモード) は、エクスチェンジを処理するライフサイクルで同じ Netty チャネルを再利用できます。これは、Camel ルートでサーバーを複数回呼び出す必要があり、同じネットワーク接続を使用したい場合に便利です。これを使用すると、チャネルはエクスチェンジが完了するまで接続プールに返されません。または、切断オプションが true に設定されている場合は切断されます。再利用されたチャネルは、キーリンク NettyConstantsNETTY_CHANNEL を持つエクスチェンジプロパティーとしてエクスチェンジに保存されます。これにより、ルーティング中にチャネルを取得して使用することもできます。

false

boolean

sync (common)

エンドポイントを一方向または要求応答として設定する設定

true

boolean

tcpNoDelay (Common)

TCP プロトコルのパフォーマンスを向上させるための設定

true

boolean

bridgeErrorHandler (consumer)

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

false

boolean

broadcast (consumer)

UDP 経由のマルチキャストを選択するための設定

false

boolean

clientMode (consumer)

clientMode が true の場合、netty コンシューマーはアドレスを TCP クライアントとして接続します。

false

boolean

reconnect (consumer)

コンシューマーの clientMode でのみ使用されます。これが有効になっている場合、コンシューマーは切断時に再接続を試みます

true

boolean

reconnectInterval (consumer)

再接続し、clientMode が有効になっている場合に使用されます。再接続を試みる間隔 (ミリ秒)

10000

int

backlog (consumer)

netty コンシューマー (サーバー) のバックログを設定できます。バックログは、OS によってはベストエフォートであることに注意してください。このオプションを 200、500、1000 などの値に設定すると、TCP スタックに受け入れキューの長さが通知されます。このオプションが設定されていない場合、バックログは OS の設定に依存します。

 

int

bossCount (consumer)

netty が nio モードで動作する場合、Netty のデフォルトの BossCount パラメーターである 1 を使用します。ユーザーはこの操作を使用して、Netty のデフォルトの BossCount をオーバーライドできます

1

int

bossGroup (consumer)

NettyEndpoint を介してサーバー側の新しい接続を処理するために使用できる BossGroup を設定します

 

EventLoopGroup

disconnectOnNoReply (consumer)

同期が有効になっている場合、このオプションは、返信がない場合に NettyConsumer を切断するかどうかを指定します。

true

boolean

exceptionHandler (consumer)

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

 

ExceptionHandler

exchangePattern (consumer)

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

 

ExchangePattern

nettyServerBootstrapFactory (consumer)

カスタム NettyServerBootstrapFactory を使用する場合

 

NettyServerBootstrap Factory

networkInterface (consumer)

UDP を使用する場合、このオプションを使用してネットワークインターフェイスをその名前で指定できます (マルチキャストグループに参加するための eth0 など)。

 

String

noReplyLogLevel (consumer)

同期が有効になっている場合、このオプションは NettyConsumer がログに記録するときに使用するログレベルを決定し、返信する応答がありません。

WARN

LoggingLevel

serverClosedChannel ExceptionCaughtLogLevel (consumer)

サーバー (NettyConsumer) が java.nio.channels.ClosedChannelException をキャッチすると、このログレベルを使用してログに記録されます。これは、クローズドチャネル例外のログ記録を回避するために使用されます。これは、クライアントが突然切断され、Netty サーバーでクローズド例外のフラッドが発生する可能性があるためです。

DEBUG

LoggingLevel

serverExceptionCaughtLog Level (consumer)

サーバー (NettyConsumer) が例外をキャッチすると、このログレベルを使用してログに記録されます。

WARN

LoggingLevel

serverInitializerFactory (consumer)

カスタム ServerInitializerFactory を使用する場合

 

ServerInitializer ファクトリー

usingExecutorService (consumer)

順序付けられたスレッドプールを使用して、イベントが同じチャネルで順番に処理されるかどうか。

true

boolean

connectTimeout (producer)

ソケット接続が使用可能になるまで待機する時間。値はミリ単位です。

10000

int

requestTimeout (producer)

リモートサーバーを呼び出すときに、Netty プロデューサーのタイムアウトを使用できるようにします。デフォルトでは、タイムアウトは使用されていません。値はミリ秒単位なので、たとえば 30000 は 30 秒です。requestTimeout は、Netty の ReadTimeoutHandler を使用してタイムアウトをトリガーしています。

 

long

clientInitializerFactory (producer)

カスタム ClientInitializerFactory を使用する場合

 

ClientInitializer ファクトリー

correlationManager (producer)

カスタム相関マネージャーを使用して、netty プロデューサーで要求/応答を使用するときに、要求メッセージと応答メッセージがどのようにマップされるかを管理します。これは、要求メッセージと応答メッセージの両方に相関 ID がある場合など、要求を応答と一緒にマップする方法がある場合にのみ使用してください。これは、netty の同じチャネル (別名接続) で同時メッセージを多重化したい場合に使用できます。これを行う場合、リクエストメッセージと応答メッセージを相互に関連付ける方法が必要です。これにより、継続してルーティングされる前に、進行中の Camel エクスチェンジに正しい応答を格納できます。カスタム相関マネージャーを作成するときは、TimeoutCorrelationManagerSupport を拡張することをお勧めします。これにより、タイムアウトや他の方法で実装する必要があるその他の複雑さもサポートされます。詳細については、producerPoolEnabled オプションも参照してください。

 

NettyCamelState CorrelationManager

lazyChannelCreation (producer)

Camel プロデューサーの起動時にリモートサーバーが稼働していない場合は、例外を回避するためにチャネルを遅延作成できます。

true

boolean

producerPoolEnabled (producer)

プロデューサープールが有効かどうか。重要: これをオフにすると、リクエスト/リプライを実行している場合にも、単一の共有接続がプロデューサーに使用されます。つまり、返信が順不同で戻ってきた場合、インタリーブされた応答に問題が生じる可能性があります。したがって、Camel でメッセージの処理を継続するロールを持つ Camel コールバックに応答を適切に関連付けることができるように、要求メッセージと応答メッセージの両方に相関 ID が必要です。これを行うには、NettyCamelStateCorrelationManager を相関マネージャーとして実装し、correlationManager オプションを介して設定する必要があります。詳細は、correlationManager オプションも参照してください。

true

boolean

producerPoolMaxActive (producer)

特定の時間にプールによって割り当てられる (クライアントにチェックアウトされるか、チェックアウトを待機するアイドル) オブジェクトの数に上限を設定します。無制限の場合は負の値を使用します。

-1

int

producerPoolMaxIdle (producer)

プール内のアイドルインスタンス数の上限を設定します。

100

int

producerPoolMinEvictable Idle (producer)

アイドル状態のオブジェクト Evictor によるエビクションの対象となる前に、オブジェクトがプール内でアイドル状態になる最小時間 (ミリ単位の値) を設定します。

300000

long

producerPoolMinIdle (producer)

evictor スレッド (アクティブな場合) が新しいオブジェクトを生成する前に、プロデューサープールで許可されるインスタンスの最小数を設定します。

 

int

udpConnectionlessSending (producer)

このオプションは接続のない UDP 送信をサポートします。接続された udp send は、受信ポートでリッスンしている人がいない場合、PortUnreachableException を受け取ります。

false

boolean

useByteBuf (producer)

useByteBuf が true の場合、netty プロデューサーはメッセージ本文を送信する前に ByteBuf に変換します。

false

boolean

allowSerializedHeaders (advanced)

transferExchange が true の場合にのみ TCP に使用されます。true に設定すると、ヘッダーとプロパティーのシリアル化可能なオブジェクトが交換に追加されます。そうしないと、Camel はシリアル化できないオブジェクトを除外し、WARN レベルでログに記録します。

false

boolean

bootstrapConfiguration (advanced)

このエンドポイントを設定するためにカスタム設定された NettyServerBootstrapConfiguration を使用するには。

 

NettyServerBootstrap 設定

channelGroup (advanced)

明示的な ChannelGroup を使用するには。

 

ChannelGroup

nativeTransport (advanced)

NIO の代わりにネイティブトランスポートを使用するかどうか。ネイティブトランスポートはホストオペレーティングシステムを利用し、一部のプラットフォームでのみサポートされます。使用しているホストオペレーティングシステムの netty JAR を追加する必要があります。詳細については、http://netty.io/wiki/native-transports.html を参照してください。

false

boolean

options (advanced)

オプションを使用して、追加の netty オプションを設定できます。接頭辞として。たとえば、netty オプション child.keepAlive=false を設定するには、option.child.keepAlive=false とします。使用可能なオプションについては、Netty のドキュメントを参照してください。

 

Map

receiveBufferSize (advanced)

インバウンド通信中に使用される TCP/UDP バッファーサイズ。サイズはバイトです。

65536

int

receiveBufferSizePredictor (advanced)

バッファーサイズプレディクターを設定します。詳細は、Jetty のドキュメントとこのメールスレッドを参照してください。

 

int

sendBufferSize (advanced)

アウトバウンド通信中に使用される TCP/UDP バッファーサイズ。サイズはバイトです。

65536

int

synchronous (advanced)

同期処理を厳密に使用するか、Camel が非同期処理を使用できるかどうかを設定します (サポートされている場合)。

false

boolean

transferExchange (advanced)

TCP にのみ使用されます。ボディーだけでなく、ネットワーク経由でエクスチェンジを転送することができます。In body、Out body、fault body、In ヘッダー、Out ヘッダー、Fault ヘッダー、exchange プロパティー、exchange 例外フィールドが転送されます。これには、オブジェクトがシリアライズ可能である必要があります。Camel はシリアル化できないオブジェクトを除外し、WARN レベルでログに記録します。

false

boolean

udpByteArrayCodec (advanced)

UDP 専用です。Java シリアライゼーションプロトコルの代わりにバイト配列コーデックの使用を有効にした場合。

false

boolean

workerCount (advanced)

netty が nio モードで動作する場合、Netty のデフォルトの workerCount パラメーター (cpu_core_threads2) を使用します。ユーザーはこの操作を使用して、Netty のデフォルトの workerCount をオーバーライドできます。

 

int

workerGroup (advanced)

ボススレッドプールとして明示的な EventLoopGroup を使用するには。たとえば、スレッドプールを複数のコンシューマーまたはプロデューサーと共有する場合などです。デフォルトでは、各コンシューマーまたはプロデューサーには、2 x CPU カウントのコアスレッドを備えた独自のワーカープールがあります。

 

EventLoopGroup

allowDefaultCodec (codec)

netty コンポーネントは、encoder/deocder が null で textline が false の場合、デフォルトのコーデックをインストールします。allowDefaultCodec を false に設定すると、netty コンポーネントがデフォルトコーデックをフィルターチェーンの最初の要素としてインストールするのを防ぎます。

true

boolean

autoAppendDelimiter (codec)

テキストラインコーデックを使用して送信するときに、不足している終了区切り文字を自動追加するかどうか。

true

boolean

decoder (codec)

非推奨 受信ペイロードの特別なマーシャリングを実行するために使用できるカスタム ChannelHandler クラス。

 

ChannelHandler

decoderMaxLineLength (codec)

テキストラインコーデックに使用する行の最大長。

1024

int

decoders (codec)

使用するデコーダーのリスト。コンマで区切られた値を持つ文字列を使用して、値をレジストリーで検索することができます。Camel がルックアップする必要があることを認識できるように、値の前に付けることを忘れないでください。

 

文字列

delimiter (codec)

テキストラインコーデックに使用する区切り文字。可能な値は LINE と NULL です。

LINE

TextLineDelimiter

encoder (codec)

非推奨 送信ペイロードの特別なマーシャリングを実行するために使用できるカスタム ChannelHandler クラス。

 

ChannelHandler

encoders (codec)

使用するエンコーダーのリスト。コンマで区切られた値を持つ文字列を使用して、値をレジストリーで検索することができます。Camel がルックアップする必要があることを認識できるように、値の前に付けることを忘れないでください。

 

文字列

encoding (codec)

テキスト行コーデックに使用するエンコーディング (文字セット名)。指定しない場合、Camel は JVM のデフォルトの文字セットを使用します。

 

String

textline (codec)

TCP にのみ使用されます。コーデックが指定されていない場合、このフラグを使用して、テキスト行ベースのコーデックを示すことができます。指定されていない場合、または値が false の場合、オブジェクトのシリアル化は TCP 経由であると想定されます。

false

boolean

enabledProtocols (security)

SSL を使用するときに有効にするプロトコル

TLSv1,TLSv1.1,TLSv1.2

String

keyStoreFile (security)

暗号化に使用されるクライアント側の証明書キーストア

 

File

keyStoreFormat (security)

ペイロードの暗号化に使用されるキーストア形式。設定されていない場合、デフォルトは JKS

 

String

keyStoreResource (security)

暗号化に使用されるクライアント側の証明書キーストア。デフォルトではクラスパスからロードされますが、classpath:、file:、または http: をプレフィックとして指定して、異なるシステムからリソースをロードすることもできます。

 

String

needClientAuth (security)

SSL の使用時にサーバーがクライアント認証を必要とするかどうかを設定します。

false

boolean

パスフレーズ (security)

SSH を使用して送信されたペイロードを暗号化/復号化するために使用するパスワード設定

 

String

securityProvider (security)

ペイロードの暗号化に使用するセキュリティープロバイダー。設定されていない場合、デフォルトは SunX509 です。

 

String

ssl (security)

このエンドポイントに SSL 暗号化を適用するかどうかを指定する設定

false

boolean

sslClientCertHeaders (security)

有効で SSL モードの場合、Netty コンシューマーは、サブジェクト名、発行者名、シリアル番号、有効な日付範囲などのクライアント証明書に関する情報を含むヘッダーで Camel メッセージを強化します。

false

boolean

sslContextParameters (security)

SSLContextParameters を使用してセキュリティーを設定する場合。

 

SSLContextParameters

sslHandler (security)

SSL ハンドラーを返すために使用できるクラスへの参照

 

SslHandler

trustStoreFile (security)

暗号化に使用されるサーバー側の証明書キーストア

 

File

trustStoreResource (security)

暗号化に使用されるサーバー側の証明書キーストア。デフォルトではクラスパスからロードされますが、classpath:、file:、または http: をプレフィックとして指定して、異なるシステムからリソースをロードすることもできます。

 

String