Fuse 6 is no longer supported
As of February 2025, Red Hat Fuse 6 is no longer supported. If you are using Fuse 6, please upgrade to Red Hat build of Apache Camel.第178章 Undertow
Undertow コンポーネント リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Camel 2.16 以降で利用可能
undertow コンポーネントは、HTTP リクエストを使用し、生成するための HTTP ベースのエンドポイントを提供します。つまり、Undertow コンポーネントは単純な Web サーバーとして動作します。Undertow は HTTP クライアントとしても使用でき、Camel でプロデューサーとして使用することもできます。
Maven ユーザーは、このコンポーネントの以下の依存関係を
pom.xml
に追加する必要があります。
URI 形式 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
undertow:http://hostname[:port][/resourceUri][?options]
undertow:http://hostname[:port][/resourceUri][?options]
以下の形式で URI にクエリーオプションを追加できます。
?option=value&option=value&...
オプション リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
名前
|
デフォルト値
|
説明
|
---|---|---|
httpMethodRestrict
|
GET/POST/PUT などの HttpMethod が一致する場合にのみ消費できるようにするために使用されます。複数のメソッドはコンマで区切って指定できます。 | |
matchOnUriPrefix
|
完全に一致するものが見つからない場合に、コンシューマーが URI 接頭辞と一致することでターゲットコンシューマーの検索を試みるかどうか。 | |
headerFilterStrategy
|
カスタムの HeaderFilterStrategy を使用して、Camel メッセージとの間でヘッダーをフィルタリングします。 | |
sslContextParameters
|
SSLContextParameters オブジェクトを使用してセキュリティーを設定するには、以下を行います。Security Guide の Configuring Transport Security for Camel Components の章を参照してください。
|
|
throwExceptionOnFailure | オプションが true の場合、HttpProducer は Exchange.HTTP_URI ヘッダーを無視し、リクエストにエンドポイントの URI を使用します。また、オプション throwExceptionOnFailure を false に設定して、プロデューサーがすべての障害応答を返信するようにすることもできます。 | |
transferException | リモートサーバーからの応答が失敗した場合に HttpOperationFailedException を出力することを無効にするオプション。これにより、HTTP ステータスコードに関係なくすべての応答を取得できます。 | |
undertowHttpBinding | カスタムの UndertowHttpBinding を使用して Camel メッセージと undertow 間のマッピングを制御します。 | |
keepAlive
|
true | Camel 2.16.1: Producer のみ: 非アクティブのためにソケットが閉じられないように設定 |
tcpNoDelay | true | Camel 2.16.1: Producer only:Setting to improve TCP protocol performance (Camel 2.16.1: プロデューサーのみ:TCP プロトコルのパフォーマンスを改善するための設定) |
reuseAddresses | true | Camel 2.16.1: プロデューサーのみ:ソケットの多重化を容易にするための設定 |
options.XXX |
Camel 2.16.1: Producer only:追加のチャネルオプションを設定します。使用できるオプションは、org.xnio.Options で定義されています。エンドポイント URI から設定するには、"option.close-abort=true&option.send-buffer=8192" などの各オプションの前に options. を付けます。
|
|
enableOptions | false | Camel 2.17: この Undertow コンシューマーに対して HTTP OPTIONS を有効にするかどうかを指定します。デフォルトでは、OPTIONS はオフになっています。 |
メッセージヘッダー リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Camel は HTTP コンポーネントと同じメッセージヘッダーを使用します。Camel 2.2 では、
Exchange.HTTP_CHUNKED,CamelHttpChunked
ヘッダーを使用して camel-undertow コンシューマーでチェンドエンコーディングをオンまたはオフにします。
Camel は すべて の request.parameter および request.headers も設定します。たとえば、URL
http://myserver/myserver?orderid=123
を持つクライアントリクエストの場合、エクスチェンジには値が 123 の orderid
という名前のヘッダーが含まれます。
コンポーネントオプション リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
UndertowComponent
では、以下のオプションを提供します。
名前
|
デフォルト値
|
説明
|
---|---|---|
undertowHttpBinding
|
|
カスタムの UndertowHttpBinding を使用して Camel メッセージと undertow 間のマッピングを制御します。
|
httpConfiguration
|
共有 HttpConfiguration を基本設定として使用します。 |
プロデューサーの例 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
以下は、HTTP リクエストを既存の HTTP エンドポイントに送信する方法の基本的な例です。
Java DSL で
from("direct:start").to("undertow:http://www.google.com");
from("direct:start").to("undertow:http://www.google.com");
Spring XML で または を使用します。
<route> <from uri="direct:start"/> <to uri="undertow:http://www.google.com"/> <route>
<route>
<from uri="direct:start"/>
<to uri="undertow:http://www.google.com"/>
<route>
コンシューマーの例 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
この例では、
http://localhost:8080/myapp/myservice
で HTTP サービスを公開するルートを定義します。
<route> <from uri="undertow:http://localhost:8080/myapp/myservice"/> <to uri="bean:myBean"/> </route>
<route>
<from uri="undertow:http://localhost:8080/myapp/myservice"/>
<to uri="bean:myBean"/>
</route>
URL で
localhost
を指定すると、Camel はローカルの TCP/IP ネットワークインターフェイスでのみエンドポイントを公開するため、操作するマシンからアクセスすることはできません。
特定のネットワークインターフェイスで Jetty エンドポイントを公開する必要がある場合は、このインターフェイスの数値の IP アドレスをホストとして使用する必要があります。すべてのネットワークインターフェイスで Jetty エンドポイントを公開する必要がある場合は、
0.0.0.0
アドレスを使用する必要があります。