Red Hat Training

A Red Hat training course is available for Red Hat Fuse

230.2. HTTP オプション

情報: さらに多くのオプションがあります重要: このコンポーネントは、Netty4 からすべてのオプションを継承します。したがって、Netty4 のドキュメントも参照してください。
この Netty4 HTTP コンポーネントを使用する場合、UDP トランスポートに関連するオプションなど、Netty4 の一部のオプションは適用されないことに注意してください。

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

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

nettyHttpBinding (advanced)

カスタム org.apache.camel.component.netty4.http.NettyHttpBinding を使用して、Netty および Camel Message API との間でバインドします。

 

NettyHttpBinding

configuration (common)

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

 

NettyHttpConfiguration

headerFilterStrategy (advanced)

カスタム org.apache.camel.spi.HeaderFilterStrategy を使用してヘッダーをフィルタリングするには。

 

HeaderFilterStrategy

securityConfiguration (security)

安全な Web リソースを設定するための org.apache.camel.component.netty4.http.NettyHttpSecurityConfiguration を参照します。

 

NettyHttpSecurity 設定

useGlobalSslContext Parameters (security)

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

false

boolean

maximumPoolSize (advanced)

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

16

int

executorService (advanced)

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

 

EventExecutorGroup

resolveProperty Placeholders (advanced)

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

true

boolean

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

netty4-http:protocol:host:port/path

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

230.2.1. パスパラメーター (4 パラメーター)

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

protocol

必須 使用するプロトコル (http または https)

 

String

host

必須 localhost などのローカルホスト名、またはコンシューマーの場合は 0.0.0.0。プロデューサーを使用する場合のリモート HTTP サーバーのホスト名。

 

String

port

ホストのポート番号。

 

int

path

リソースパス

 

String

230.2.2. クエリーパラメーター(79 個のパラメーター):

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

bridgeEndpoint (common)

オプションが true の場合、プロデューサーは Exchange.HTTP_URI ヘッダーを無視し、エンドポイントの URI をリクエストに使用します。また、throwExceptionOnFailure を false に設定して、プロデューサーがすべての障害応答を送り返すようにすることもできます。ブリッジモードで動作するコンシューマーは、gzip 圧縮と WWW URL フォームエンコーディングをスキップします (消費される Exchange に Exchange.SKIP_GZIP_ENCODING と Exchange.SKIP_WWW_FORM_URLENCODED ヘッダーを追加することで行います)。

false

boolean

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

matchOnUriPrefix (consumer)

完全に一致するものが見つからない場合に、Camel が URI 接頭辞を照合してターゲットコンシューマーを見つけようとするかどうか。

false

boolean

send503whenSuspended (consumer)

コンシューマーが中断されたときに HTTP ステータスコード 503 を返すかどうか。このオプションが false の場合、コンシューマーが中断されたときに Netty Acceptor がバインド解除されるため、クライアントはそれ以上接続できません。

true

boolean

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

chunkedMaxContentLength (consumer)

Netty HTTP サーバーで受信したチャンクフレームごとのコンテンツの最大長 (バイト単位) の値。

1048576

int

compression (consumer)

クライアントが HTTP ヘッダーからサポートしている場合、Netty HTTP サーバーでの圧縮に gzip/deflate の使用を許可します。

false

boolean

disconnectOnNoReply (consumer)

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

true

boolean

exceptionHandler (consumer)

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

 

ExceptionHandler

exchangePattern (consumer)

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

 

ExchangePattern

httpMethodRestrict (consumer)

Netty HTTP コンシューマーで HTTP メソッドを無効にします。コンマ区切りで複数指定できます。

 

String

mapHeaders (consumer)

このオプションを有効にすると、Netty から Camel Message へのバインド中にヘッダーもマッピングされます (たとえば、ヘッダーとして Camel Message にも追加されます)。このオプションをオフにして、これを無効にすることができます。ヘッダーには、Netty HTTP リクエスト io.netty.handler.codec.http.HttpRequest インスタンスを返すメソッド getHttpRequest() を使用して、org.apache.camel.component.netty.http.NettyHttpMessage メッセージから引き続きアクセスできます。

true

boolean

maxHeaderSize (consumer)

すべてのヘッダーの最大長。各ヘッダーの長さの合計がこの値を超えると、io.netty.handler.codec.TooLongFrameException が発生します。

8192

int

nettyServerBootstrapFactory (consumer)

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

 

NettyServerBootstrap Factory

nettySharedHttpServer (consumer)

共有 Netty HTTP サーバーを使用するには。詳細については、Netty HTTP サーバーの例を参照してください。

 

NettySharedHttpServer

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 ファクトリー

traceEnabled (consumer)

この Netty HTTP コンシューマーに対して HTTP TRACE を有効にするかどうかを指定します。デフォルトでは、TRACE はオフになっています。

false

boolean

urlDecodeHeaders (consumer)

このオプションを有効にすると、Netty から Camel Message へのバインド中にヘッダー値が URL デコードされます (たとえば、%20 はスペース文字になります。このオプションはデフォルトの org.apache.camel.component.netty.http.NettyHttpBinding で使用されるため、カスタム org.apache.camel.component.netty4.http.NettyHttpBinding を実装する場合は、このオプションに従ってヘッダーをデコードする必要があることに注意してください。

false

boolean

usingExecutorService (consumer)

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

true

boolean

connectTimeout (producer)

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

10000

int

cookieHandler (producer)

HTTP セッションを維持するようにクッキーハンドラーを設定します。

 

CookieHandler

requestTimeout (producer)

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

 

long

throwExceptionOnFailure (producer)

リモートサーバーからの応答が失敗した場合に HttpOperationFailedException を出力することを無効にするオプション。これにより、HTTP ステータスコードに関係なくすべての応答を取得できます。

true

boolean

clientInitializerFactory (producer)

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

 

ClientInitializer ファクトリー

lazyChannelCreation (producer)

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

true

boolean

okStatusCodeRange (producer)

正常な応答と見なされるステータスコード。値は含まれます。複数の範囲をコンマで区切って定義できます (例: 200-204,209,301-304)。各範囲は、ダッシュを含む 1 つの数字または from-to である必要があります。デフォルトの範囲は 200-299 です。

200-299

String

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

useRelativePath (producer)

HTTP リクエストで相対パスを使用するかどうかを設定します。

false

boolean

allowSerializedHeaders (advanced)

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

false

boolean

bootstrapConfiguration (advanced)

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

 

NettyServerBootstrap 設定

channelGroup (advanced)

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

 

ChannelGroup

configuration (advanced)

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

 

NettyHttpConfiguration

disableStreamCache (advanced)

Netty HttpRequestgetContent() または HttpResponsetgetContent() からの raw の入力ストリームがキャッシュされるかどうかを決定します (Camel はストリームを軽量メモリーベースのストリームキャッシュに読み込みます)。デフォルトでは、Camel は Netty 入力ストリームをキャッシュして複数回の読み取りをサポートし、Camel がストリームからすべてのデータを取得できるようにします。ただし、ファイルやその他の永続ストアに直接ストリーミングするなど、生のストリームにアクセスする必要がある場合は、このオプションを true に設定できます。このオプションを有効にすると、そのままでは Netty ストリームを複数回読み取ることができず、Netty raw ストリームのリーダーインデックスを手動でリセットする必要があることに注意してください。また、Netty は、Netty HTTP サーバー/HTTPクライアントの処理が終了すると、Netty ストリームを自動で閉じます。つまり、非同期ルーティングエンジンが使用されている場合、org.apache.camel.Exchange をルーティングし続ける非同期のスレッドは、Netty ストリームを閉じるために読み取ることができない場合があります。

false

boolean

headerFilterStrategy (advanced)

カスタム org.apache.camel.spi.HeaderFilterStrategy を使用してヘッダーをフィルタリングするには。

 

HeaderFilterStrategy

nativeTransport (advanced)

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

false

boolean

nettyHttpBinding (advanced)

カスタム org.apache.camel.component.netty4.http.NettyHttpBinding を使用して、Netty および Camel Message API との間でバインドします。

 

NettyHttpBinding

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

transferException (advanced)

有効にすると、エクスチェンジがコンシューマー側で処理に失敗し、発生した例外が application/x-java-serialized-object コンテンツタイプとして応答でシリアライズされた場合に、例外がシリアライズされました。プロデューサー側では、例外がデシリアライズされ、HttpOperationFailedException ではなくそのまま出力されます。原因となった例外はシリアライズする必要があります。これは、デフォルトでオフになっています。これを有効にすると、Java が受信データをリクエストから Java にデシリアライズし、セキュリティー上のリスクが生じる可能性があることに注意してください。

false

boolean

transferExchange (advanced)

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

false

boolean

workerCount (advanced)

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

 

int

workerGroup (advanced)

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

 

EventLoopGroup

decoder (codec)

非推奨 単一のデコーダーを使用すること。このオプションは非推奨であり、代わりにエンコーダーを使用してください。

 

ChannelHandler

decoders (codec)

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

 

文字列

encoder (codec)

非推奨 単一のエンコーダーを使用する場合。このオプションは非推奨であり、代わりにエンコーダーを使用してください。

 

ChannelHandler

encoders (codec)

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

 

文字列

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

securityConfiguration (security)

安全な Web リソースを設定するための org.apache.camel.component.netty4.http.NettyHttpSecurityConfiguration を参照します。

 

NettyHttpSecurity 設定

securityOptions (security)

マップのキーと値のペアを使用して NettyHttpSecurityConfiguration を設定する場合。

 

Map

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: をプレフィックとして指定して、異なるシステムからリソースをロードすることもできます。

 

文字列