検索

第230章 Netty4 HTTP コンポーネント

download PDF

Camel バージョン 2.14 から利用可能

netty4-http コンポーネントは Netty4 で HTTP トランスポートを調整する Netty4 コンポーネントのエクステンションです。

この Camel コンポーネントは、プロデューサーとコンシューマーエンドポイントの両方をサポートします。

INFO: Stream.Netty はストリームベースであるため、受信する入力はストリームとして Camel に送信されます。つまり、は 1 回 のみストリームのコンテンツを読み取ることができます。メッセージボディーが空であるか、データに複数回アクセスする必要がある場合(マルチキャストの実行や再配信エラー処理など)、ストリームキャッシュを使用するか、メッセージボディーを複数回再読み取りできる String に変換する必要があります。Netty4 HTTP は、io.netty.handler.codec.http.HttpObjectAggregator を使用してストリーム全体をメモリーに読み取り、完全な http メッセージ全体を構築することに注意してください。ただし、生成されるメッセージは、1 度に判読できるストリームベースのメッセージになります。

Maven ユーザーは、このコンポーネントの pom.xml に以下の依存関係を追加する必要があります。

<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-netty4-http</artifactId>
    <version>x.x.x</version>
    <!-- use the same version as your Camel core version -->
</dependency>

230.1. URI 形式

netty コンポーネントの URI スキームは以下のようになります。

netty4-http:http://localhost:8080[?options]

URI にクエリーオプションを追加するには、?option=value&option=value&…​

INFO: Query parameters vs endpoint options.Camel が URI クエリーパラメーターおよびエンドポイントオプションを認識する方法について理解している場合があります。たとえば、エンドポイント URI を - netty4-http:http/example.com?myParam=myValue&compression=true のように作成できます。この例では、myParam は HTTP パラメーターですが、圧縮 は Camel エンドポイントオプションです。このような状況で Camel によって使用されるストラテジーは、利用可能なエンドポイントオプションを解決し、URI から削除することです。この例では、Netty HTTP プロデューサーによってエンドポイントに送信される HTTP リクエストは、 http//example.com?myParam=myValue のように表示されます。圧縮 エンドポイントオプションはターゲット URL から解決され、削除されるためです。また、動的ヘッダー( CamelHttpQueryなど)を使用してエンドポイントオプションを指定できない点に留意してください。エンドポイントオプションは、エンドポイント URI 定義レベルでのみ指定できます(DSL 要素 に対する ような)。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.