Hi,

I think that depends on what the component is supposed to do.

If the semantics is that you extract values that are supposed to be used as an 
expression or a predicate to be used in patterns like message router or a 
message filter a language might be appropriate.

In contrast to that a component is supposed to send the message somewhere, to 
receive a message from somewhere, or to modify an existing message (like file, 
CXF, or XSLT endpoints).

In addition there are also data formats that allow messages to be marshalled to 
and unmarshalled from a specific binary or text format (like JSON or BASE64).

Therefore the question is what you want to achieve: If you want to construct a 
new message body from an old one applying some rules, a component is likely the 
way to go (or a data format, but that would imply some fixed format on one or 
the other side of the transformation). If you want to make decisions (e.g. 
about routing or filtering) or want use the result of your rules as some kind 
of expression (e.g. you want to keep the original payload but set a header to 
some value extracted from it by your rules) a language is more appropriate. 

Best regards
Stephan

-----Original Message-----
From: Jan Bernhardt [mailto:jbernha...@talend.com] 
Sent: Montag, 28. November 2016 15:15
To: dev@camel.apache.org
Subject: New feature GROK parser

Hi Camel Developer,

I just created a new Jira ticket for a camel grok parser:
https://issues.apache.org/jira/browse/CAMEL-10540

The question that I would like to discuss here is how to implement this feature 
best.

Should the parser become a normal component like this grok://<grok 
filter>?<grok settings> or should it be implemented as another language like 
jsonpath?

Kind regards
Jan


Reply via email to