camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "" <>
Subject Re: Java DSL / GroovyExpression / Binding
Date Mon, 19 Aug 2013 06:52:13 GMT
Hi Willem,

thanks for your answer, unfortunately overriding eval is not sufficient as this method initializes
everything and calls several private methods. By copy I meant: new ctor, copy eval, copy instantiateScript
and copy 
createBinding to make it work which feels wrong. Furthermore my class needs to be placed in
a package org.apache.camel.language.groovy which feels odd, too. Seems to me like expressions
are considered internal camel functionality...


Sent from my iPhone

On 19.08.2013, at 08:33, Willem jiang <> wrote:

> Hi,
> You don't need to copy the class, you can just override the evaluate method to setup
the binding as you want.  
> --  
> Willem Jiang
> Red Hat, Inc.
> Web:
> Blog: ( (English)
> ( (Chinese)
> Twitter: willemjiang  
> Weibo: 姜宁willem
> On Monday, August 19, 2013 at 12:47 PM, wrote:
>> Hi all!
>> Is there any chance to extend the binding of a GroovyExpression?
>> Currently (in camel 2.11.1) the Groovy binding is defined on runtime based on the
exchange only and I did not find an extension point. My current solutions is to use a GroovyExpression2
class which is a copy of the original class and provided a new constructor method accepting
a Map<String,Object> parameter which is added to Binding. This allows me to add additional
parameters at time of route creation but I doubt this is the right way.  
>> Due to the fact createBinding method is private and not protected I can not derive
from GroovyExpression and need to copy the class.  
>> Thanks in advance
>> Jens
>> Von meinem iPad gesendet  

View raw message