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>
通过 netty 使用 camel avro consumers 消耗消息的示例:
因为 2.12 您可以设置两个不同的路由来执行相同的任务:
在上例中,get 只使用一个参数,因此使用 singleParameter,而 getProcessor 将直接在正文中接收 Value 类,而 putProcessor 将收到带有 String key 和 Value 值的数组,并填充为数组内容。