164.6. コンシューマーの例
このサンプルでは、http://localhost:8080/myapp/myservice で HTTP サービスを公開するルートを定義します。
ローカルホストの使用
URL で localhost を指定すると、Camel はローカルの TCP/IP ネットワークインターフェイスでのみエンドポイントを公開するため、動作するマシンの外部からはアクセスできません。
特定のネットワークインターフェイスで Jetty エンドポイントを公開する必要がある場合は、このインターフェイスの数値 IP アドレスをホストとして使用する必要があります。すべてのネットワークインターフェイスで Jetty エンドポイントを公開する必要がある場合は、0.0.0.0 アドレスを使用する必要があります。
URI 接頭辞全体をリッスンするには、Jetty でワイルドカードをマッチさせるには を参照してください。
実際に HTTP でルートを公開する必要があり、すでにサーブレットがある場合は、代わりに サーブレットトランスポート を参照する必要があります。
ビジネスロジックは MyBookService クラスに実装されており、HTTP 要求の内容にアクセスして応答を返します。
注記: コードは単体テストの一部であるため、この例では assert 呼び出しが表示されます。
次のサンプルは、URI パラメーター one を含むすべてのリクエストをエンドポイント mock:one にルーティングし、その他すべてを mock:other にルーティングするコンテンツベースのルートを示しています。
したがって、クライアントが HTTP リクエスト http://serverUri?one=hello を送信すると、Jetty コンポーネントは HTTP リクエストパラメーターを one エクスチェンジの in.header にコピーします。次に、simple 言語を使用して、このヘッダーを含むエクスチェンジを特定のエンドポイントにルーティングし、他のすべてのエクスチェンジを別のエンドポイントにルーティングできます。Simple よりも強力な言語 (OGNL など) を使用した場合は、パラメーター値をテストし、ヘッダー値に基づいてルーティングを行うこともできます。