19.3. Camel での Avro RPC の使用
前述のように、Avro は http や netty などの複数のトランスポートを介した RPC サポートも提供します。Camel は、これら 2 つのトランスポートのコンシューマーとプロデューサーを提供します。
avro:[transport]:[host]:[port][?options]
現在サポートされているトランスポート値は http または netty です。
2.12 以降、 URI でメッセージ名を直接指定できます。
avro:[transport]:[host]:[port][/messageName][?options]
コンシューマーの場合、これにより、同じソケットに複数のルートを接続できます。正しいルートへのディスパッチは、avro コンポーネントによって自動的に行われます。messageName が指定されていないルート (存在する場合) がデフォルトとして使用されます。
avro ipc に camel プロデューサーを使用する場合、in メッセージボディーには、avro プロトコルで指定された操作のパラメーターを含める必要があります。応答は、out メッセージの本文に追加されます。
avro ipc に camel avro コンシューマーを使用する場合と同様に、リクエストパラメーターは、作成された exchange の in メッセージ本文内に配置され、exchange が処理されると、out メッセージの本文がレスポンスとして送信されます。.
注記: デフォルトでは、コンシューマーパラメーターは配列にラップされます。パラメーターが 1 つしかない場合は、2.12 以降、singleParameter
URI オプションを使用して、配列をラップせずに in メッセージボディーで直接受け取ることができます。