19.3. 在 Camel 中使用 Avro RPC

如 Avro 上方所述,它还通过多种传输提供 RPC 支持,如 http 和 netty。Camel 为这两种传输提供使用者和制作者。

avro:[transport]:[host]:[port][?options]

支持的传输值当前为 http 或 netty。

由于 2.12,您可以在 URI 右侧指定消息名称:

avro:[transport]:[host]:[port][/messageName][?options]

对于消费者,您可以有多个连接到同一套接字的路由。给正确的路由分配由 avro 组件自动进行。未指定 messageName 的路由(若有)将用作默认值。

当为 avro ipc 使用 camel producers 时,"in"消息正文需要包含 avro 协议中指定的操作参数。该响应将在"out"消息的正文中添加。

在为 avro ipc 使用 camel avro 消费者时,请求参数将放置在所创建交换的"内"消息正文并且处理"out"消息的正文后,将作为响应发送。

注: 默认情况下,使用者参数被嵌套到阵列中。如果您只有一个参数,因为 2.12 您可以使用 singleParameter URI 选项在 "in" 消息正文中接收它,而无需数组嵌套。