[ 
https://issues.apache.org/jira/browse/CAMEL-6575?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vitalii Tymchyshyn updated CAMEL-6575:
--------------------------------------

    Patch Info: Patch Available
    
> 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
>
> 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

Reply via email to