camel-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vitalii Tymchyshyn (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CAMEL-6575) Enhancements for camel-avro
Date Mon, 29 Jul 2013 07:45:48 GMT

    [ 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

Mime
View raw message