codehaus


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Feedback on Deprecating the Camel Maven Archetypes


Personal I don't use the maven archetype, mostly I start from scratch or
use the spring boot  initializr.

On the broad topic of Camel 3.0:

http://camel.apache.org/camel-30-ideas.html
http://camel.apache.org/camel-30-roadmap.html

What I read so far about is that it's mostly targeted at cleaning and
deprecating stuff in the API. I wondered in what extent 3.0 is expected to
be backwards compatible? Will the API also be simplified, streamlined and
improved? A clear structured and constistent API will ease the development
for new users without need to check for documentation.

I do think that that current API is very usable, but when it could be made
easier, high-level and user orientated it would be very welcome.For example
now development starts with a context, the "CamelContext". This is similar
to the applicationcontext in Spring. I think that term context is vague.
What would it functionally mean? It's more related to low level computer
science (think of states, processes, threads, registers and so on). I would
prefer to call it "Integration" as this is closer to what user objectives
are with Camel.

Now the methods under the context is a very long list without much
cohesion. I would expect that under are the main categories of an
integration, for example like

Integration
    Catalog
    Component
    Debugger
    Endpoint
    Metric
    Route

Then under the categories most methods connected to a category are attached
to it. For example:

Integration integration = new CamelIntegration(); // could also be a new
SpringIntegration if there would some agreement on this API

Component component = integration.getComponent();
    component.add
    component.get("name");
    component.getOptions("name")

I would then expected that all methods are in these main categories. Now
you can for example you get a route:

Route route = context.getRoute(id);

But to get to real interesting methods you need to call

ManagedRouteMBean route = context.getManagedRoute(id,
ManagedRouteMBean.class);

When there would be some kind of converter to change the code from camel
2.0 to camel 3.0 API a lot of can be changed for me.

Raymond




Op do 29 nov. 2018 om 16:01 schreef Claus Ibsen <claus.ibsen@xxxxxxxxx>:

> Hi
>
> Keep the feedback going. Its good to hear that they some of these
> archetypes are in use.
>
> We could maybe keep the most used, and the ones to create custom
> component, data format etc.
>
>
> On Wed, Nov 28, 2018 at 5:21 PM Claus Ibsen <claus.ibsen@xxxxxxxxx> wrote:
> >
> > Hi
> >
> > The Camel team is considering deprecating the Camel Maven Archetypes
> > for 2.x and to remove them in 3.0. We want to remove stuff that are
> > not much / not in use etc.
> >
> > I logged a JIRA ticket about this
> > https://issues.apache.org/jira/browse/CAMEL-12965
> >
> > We would like feedback from the Camel community users about your point
> of view.
> >
> > --
> > Claus Ibsen
> > -----------------
> > http://davsclaus.com @davsclaus
> > Camel in Action 2: https://www.manning.com/ibsen2
>
>
>
> --
> Claus Ibsen
> -----------------
> http://davsclaus.com @davsclaus
> Camel in Action 2: https://www.manning.com/ibsen2
>