[ https://issues.apache.org/jira/browse/CAMEL-6575?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13722239#comment-13722239 ]
Vitalii Tymchyshyn commented on CAMEL-6575: ------------------------------------------- BTW: For wiki, which version should I specify as "since" for new features? 2.12.0? > 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 > 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