20.7. 例子
通过 http 使用 camel avro producers 的示例:
<route>
<from uri="direct:start"/>
<to uri="avro:http:localhost:{{avroport}}?protocolClassName=org.apache.camel.avro.generated.KeyValueProtocol"/>
<to uri="log:avro"/>
</route>
<route>
<from uri="direct:start"/>
<to uri="avro:http:localhost:{{avroport}}?protocolClassName=org.apache.camel.avro.generated.KeyValueProtocol"/>
<to uri="log:avro"/>
</route>
在上例中,您需要填写 CamelAvroMessageName 标头。从 2.12 开始,您可以使用以下语法调用常量消息:
<route>
<from uri="direct:start"/>
<to uri="avro:http:localhost:{{avroport}}/put?protocolClassName=org.apache.camel.avro.generated.KeyValueProtocol"/>
<to uri="log:avro"/>
</route>
<route>
<from uri="direct:start"/>
<to uri="avro:http:localhost:{{avroport}}/put?protocolClassName=org.apache.camel.avro.generated.KeyValueProtocol"/>
<to uri="log:avro"/>
</route>
使用 camel avro consumers 通过 netty 使用消息的示例:
由于 2.12,您可以设置两个不同的路由来执行相同的任务:
在上例中,get 只使用一个参数,因此使用 singleParameter,getProcessor 将自动在正文中接收 Value 类,而 putProcessor 则接收包含字符串键和值的数组,并填充为数组内容。