Return-Path: X-Original-To: apmail-camel-issues-archive@minotaur.apache.org Delivered-To: apmail-camel-issues-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id A6E8FC43A for ; Mon, 29 Jul 2013 07:46:16 +0000 (UTC) Received: (qmail 61139 invoked by uid 500); 29 Jul 2013 07:46:14 -0000 Delivered-To: apmail-camel-issues-archive@camel.apache.org Received: (qmail 61108 invoked by uid 500); 29 Jul 2013 07:46:12 -0000 Mailing-List: contact issues-help@camel.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@camel.apache.org Delivered-To: mailing list issues@camel.apache.org Received: (qmail 61070 invoked by uid 99); 29 Jul 2013 07:46:11 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 29 Jul 2013 07:46:11 +0000 Date: Mon, 29 Jul 2013 07:45:48 +0000 (UTC) From: "Vitalii Tymchyshyn (JIRA)" To: issues@camel.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (CAMEL-6575) Enhancements for camel-avro MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ 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