[
https://issues.apache.org/jira/browse/CAMEL-6575?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Claus Ibsen resolved CAMEL-6575.
--------------------------------
Resolution: Fixed
Fix Version/s: 2.12.0
Thanks for the contributions.
> Enhancements for camel-avro
> ---------------------------
>
> Key: CAMEL-6575
> URL: https://issues.apache.org/jira/browse/CAMEL-6575
> Project: Camel
> Issue Type: New Feature
> Reporter: Vitalii Tymchyshyn
> Assignee: Willem Jiang
> Fix For: 2.12.0
>
> Attachments: avro-enhancements.patch
>
>
> Hello.
> We've created certain enhancements to camel-avro RPC support we'd like to
> contribute to community.
> I will create a pull request against apache/master on github shortly and add
> comment here.
> The enhancements are:
> 1) Support for avro reflection mode. It's plug-and-play now, so if you
> specify protocol class that is not generated, reflection mode will be
> automatically enabled
> 2) Support for message names in URIs itself, e.g. you can specify
> avro:netty:host:port/message uri for both consumer and producer. Consumer
> dispatching will be done automatically by camel-avro. All mechanisms can be
> used at the same time. For producer header has the preference over URI, for
> consumer header will be set, consumers mapped to message names has
> precedence, consumer without message name (if any) is used as default one.
> 3) Special support for messages with single parameter - one can specify
> singleParameter=true in consumer URI for messages with single parameter. This
> will make consumer not to wrap parameter in array, so no unwrapping in the
> route itself is needed.
> All this things together makes camel-avro very easy to use and efficient RPC
> mechanism for camel. To make an RPC one needs to:
> a) Define protocol interface with required messages, e.g.
> {code}
> public interface MyRPC {
> POJOOp1Response op1(POJOOp1Request request);
> POJOOp2Response op2(POJOOp2Request request);
> }
> {code}
> b) Use uris, like
> avro:netty:host:port/op1&singleParameter=true&protocolClassName=package.MyRPC
> P.S. The people who did the enhancement are me (Vitalii Tymchyshyn
> github.com/tivv and Oleksii Kondratyuk github.com/alexrwd)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira