Hi

Adding EIPs or changes to the DSL is not a Camel end user task, and is
not documented thoroughly.
Adding new EIPs happens more rarely and there is maybe a little
hesitation to add because when its in the DSL it stays for a long
time.
Also the DSL can become bloated - there are some mistakes from Camel
v1 and v2 that we have today.

That said to add a new EIP there are 2 ways

- The EIP is implemented fully in the core, so all its code are in core.
- The EIP is implemeted in a component and are located in camel-xxx in
the components folder. Examples are circuit breakers, saga, kamelet
and maybe others I forgot.

So first you need to find out if its the former or the latter. However
for both cases, the the DSL model are in the core and there is a fair
bit of code to write to add a new model.
Therefore its a good idea to find a simple EIP and see where its used
in the code - can be ConvertBodyDefinition (are in core). Or if its
outside then maybe KameletDefinition which is the latest EIP added.

The reifer is the "guy" that sits between the model (DSL) and the
processor (implementation), so all 3 are separated in their own JARs.

And on top of that then there is also the new YAML DSL, so adding a
new EIP can require some coding there too, but that can be done
afterwards.
At first is to get the regular Java and XML DSLs to work. The XML DSL
is source generated with a maven plugin, and it can "have weird
problems" if the DSL model is wrong.
So if you have a very complex EIP then it can be tricky sometimes.



On Mon, Nov 22, 2021 at 10:16 PM Steve973 <steve...@gmail.com> wrote:
>
> Hi, all.  I am working on a new version of the Dynamic Router processor
> that implements the pattern spec much more closely, and I have the initial
> implementation complete, but I want to test it (among other ways) by using
> it in the DSL.  I haven't seen any documentation on how to do this, or any
> tutorials.  Have I missed something?  Could anyone give some kind of
> overview?  I could probably use a different processor and trace up through
> the classes to see what all is involved, but I don't want to miss anything,
> and this would be great documentation to have.  If it would be helpful for
> other contributors, I would not mind putting it together for inclusion in
> the overall documentation.
>
> Thanks,
> Steve



-- 
Claus Ibsen
-----------------
http://davsclaus.com @davsclaus
Camel in Action 2: https://www.manning.com/ibsen2

Reply via email to