Hi guys
I have some stuff ready around Karaf 4 and OSGI 5/6 support.
I will share asap.
RegardsJB 


-------- Original message --------
From: Antoine Toulme <anto...@toulme.name> 
Date: 29/03/2016  08:36  (GMT+01:00) 
To: dev@camel.apache.org 
Subject: Re: [DISCUSS] - Thoughts on Apache Camel 2.18 and towards 3.0 


> On Mar 25, 2016, at 10:42 PM, Claus Ibsen <claus.ib...@gmail.com> wrote:
> 
> Hi Antoine
> 
> Yay sounds good. What do you fancy working with?
> 
> We got stuff around OSGi such as
> 
> - upgrading the tests to be karaf 4.x based
> - drop karaf 2.x
> - upgrade to OSGi 5.0
Looks like Raul is on top of it. I have some OSGi experience.
> 
> Some easier ones would be in the platforms/karaf/features to make
> karaf 4 the default being used in the validation, currently its 2.x.
> And likewise in the tests/camel-itest-karaf.
Easy enough. Will take a look.
> 
> For non OSGi stuff then one of the most hard ones is to migrate two
> components to Jetty 9. I think its camel-cometd and camel-websocket.
I would do those first. I have some experience dealing with Jetty.
> 
> There is also an easier one to upgrade jetty 9.2 -> 9.3.
> 
> And then there is also the component docs to create adoc files. Andrea
> knows how to do that, so he can tell the procedure. There is a way you
> can export from wiki and then manually need to do some adjustments.
I can at least do dns and jackson-xml.
> 
> Then there is the splitup of camel-cxf into smaller components to
> separate it from ws/rs and spring/blueprint etc.
> 
> And there is also Raul's branch with the change in the build system
> for lambda compilation that affects all OSGi. So it need rigorous OSGi
> testing before it can be merged. See other email in this @dev.
> 
> And there is JIRA with the 2.18 tickets
> https://issues.apache.org/jira/issues/?jql=fixVersion%20%3D%202.18.0%20AND%20project%20%3D%20CAMEL%20AND%20resolution%20%3D%20Unresolved%20ORDER%20BY%20updated%20DESC
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> On Fri, Mar 25, 2016 at 6:47 PM, Antoine Toulme <anto...@toulme.name> wrote:
>> I’d like to help for this release. Looks like you got a good laundry list 
>> already. Where can I help best in that list?
>> 
>> 
>>> On Mar 23, 2016, at 3:07 AM, Claus Ibsen <claus.ib...@gmail.com> wrote:
>>> 
>>> Hi
>>> 
>>> So Camel 2.17 was the last release supporting Java 1.7.
>>> The next Camel 2.18 is requiring Java 1.8.
>>> 
>>> Here is some thoughts of mine about this release up for discussion.
>>> 
>>> 
>>> 
>>> a)
>>> I see the overall goal of Camel 2.18 as a stepping stone towards Java
>>> 1.8 and Camel 3.0.
>>> 
>>> By that I mean the release should be a way of moving our existing
>>> users from Java 1.7 and the current Camel APIs and the likes gradually
>>> towards Java 1.8 and eventually Camel 3.0.
>>> 
>>> In other words we should not get carried away to change/break APIs and
>>> whatnot just because Java 1.8 lambdas and functions.
>>> 
>>> There are too many current users that rely on the current Camel API
>>> and we cannot go around change processor / expression / predicate /
>>> aggregation strategy and other interfaces to be java 8 functional if
>>> that means current code cannot compile. And certainly not adding
>>> Optional<X> as return types all over.
>>> 
>>> The following releases (Camel 2.19 or 3.0) can pick up that torch and
>>> be more Java 1.8 aggressive. For example Camel 3.0 can expect API
>>> changes that are Java 8 lambda / functional based. And as well changes
>>> in the DSL to go with that.
>>> 
>>> There are some minor code changes needed to make the source compile as
>>> source 1.8 to go in this Camel 2.18 let alone.
>>> 
>>> 
>>> b)
>>> Drop components that do not support and run on Java 1.8
>>> And potentially remove some deprecated components
>>> 
>>> 
>>> c)
>>> Drop karaf 2.x.
>>> And move to karaf 4.x for all our testing.
>>> 
>>> 
>>> d)
>>> Drop Jetty 8.x.
>>> 
>>> This also requires to upgrade at least two components that currently
>>> rely on Jetty 8 to use Jetty 9.
>>> 
>>> 
>>> e)
>>> Upgrade to latest Jetty 9.
>>> Jetty 9.3 (or is it 9.4) requires Java 1.8
>>> 
>>> 
>>> f)
>>> Drop support for older versions of Spring. We have a number of
>>> camel-test-spring3 etc modules that can be dropped. And maybe even
>>> spring 4.0. as its also EOL.
>>> 
>>> 
>>> g)
>>> Potentially move spring-dm out of camel-spring into a camel-spring-dm
>>> module. So camel-spring can use latest version of Spring safely. This
>>> also makes it easier to deprecated spring-dm and remove it eventually.
>>> The Karaf team is working on a sping -> blueprint layer so you can use
>>> spring xml files but Karaf will "convert" that under the hood to
>>> blueprint and run it as blueprint. When that is ready we no longer
>>> need spring-dm.
>>> 
>>> 
>>> h)
>>> Continue adding components docs in the source, eg src/main/doc files.
>>> So we eventually have as many/all of them. This is an ongoing effort,
>>> as we need to do this for the EIPs and the other parts of the docs.
>>> 
>>> However I see this as a great step for a new documentation and
>>> website, that IMHO is a big goal for Camel 3.0. To make the project
>>> website fresh and modern. And make the documentation easier for end
>>> users to use and view.
>>> 
>>> 
>>> i)
>>> Add camel-hysterix component and integrate camel's circuit breaker
>>> into turbine/hysterix so you can see metrics from camel in the
>>> dashboard. Eg to integrate with the popular Netflix OSS stack.
>>> 
>>> 
>>> j)
>>> Split camel-cxf into modules so we can separate WS and RS and also
>>> spring vs blueprint. Today its big ball of dependencies that is a bit
>>> hard to slice and dice. Specially for MSA style with REST and you dont
>>> want to add in a bunch of extra not needed JARs.
>>> 
>>> 
>>> k)
>>> Continue as usual by adding new components, data formats, fix bugs, and so 
>>> on.
>>> 
>>> 
>>> l)
>>> Timeline. This release do not need to have 6-8 months timeframe. We
>>> could try to get this "stepping stone" release done sooner, so it can
>>> be released during/shortly after summer.
>>> 
>>> There is plenty of "first work" that we must do with the java 8
>>> upgrade and dropping older techs etc, that we have our hands full for
>>> a while.
>>> 
>>> Doing a release with these changes allows our end users to migrate
>>> along in a easy way, than a big bang - breaking apis - release would
>>> do. And the latter would be more appropriate to be released as Camel
>>> 3.0.
>>> 
>>> Then towards the end of this year, we can see where we are and plan
>>> for a Camel 3.0 with a new website and documentation that such a
>>> release deserve. For example if we release Camel 3.0 in start of 2017
>>> then its also Camel's 10 year birthday year.
>>> 
>>> And doing such a release with a rewamped website with fresh looking
>>> documentation and content, is what helps the project a lot.
>>> 
>>> The current website looks the same as it did when it was created:
>>> https://web.archive.org/web/20070701184530/http://activemq.apache.org/camel/
>>> 
>>> PS: We surely also need a better "what is Camel" story on the front
>>> page. Its still that very first one with all the tech jumble that was
>>> initially created.
>>> 
>>> PPS: I would also love to see a new Camel logo. The current one is a
>>> bit dull and boring.
>>> 
>>> 
>>> 
>>> 
>>> --
>>> 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

Reply via email to