Re: What is the purpose of camel-core-xml? Move the code to camel-core?

2011-09-02 Thread Johan Edstrom
SInce I work pretty much 97.98% in osgi, I'll weigh in and say that I really
like this.
If XML is only used from Blueprint / Spring-DM, we provide those with the
features descriptors,
they import nothing - i.e. are model/api bundles, why make a jar bigger?

I really don't think we should refactor code based on INSERT FAVORITE IDE
behavior, Camel is
getting to be an old and established project, the quotation marks here
just since oss moves fast. :)

It is sometimes frustrating to have to sit with customers when most of my
replies simply are, yes - upgrade :)

I spend pretty much every day nowadays on the road helping people solve
problems with camel, integrate
systems and with the fixes that went into 2.8, it is a pretty darn stable
library, we had a few last integrations
fixes on class loading with patches from Gert, that I think solved a
majority of potential AMQ object marshaling issues,
I'd much rather push API changes towards more modularity, optional usage
but... We really are getting
bigger, so breaking an API is something that will tick people of.

I'm not sure I'd describe Camel core as bloated, I'd possibly say there are
some interesting things in there, as an
evolutionary process and example of evolution; I often hold Camels SPI/Osgi
loading and inheritance model which shows in things like JMX
as a way of how you can write things in a pretty nice modular way.

Just my 0.1..



On Wed, Aug 31, 2011 at 11:51 PM, Christian Schneider 
ch...@die-schneider.net wrote:

 camel-core-xml has only a bunch of classes. It adds not a single
 dependency.
 So I think it could be added to core. We can also leave it in a separate
 jar but then it should be that .. a simple jar.
 In the moment the camel-core-xml classes are directly imported into spring
 and blueprint projects. This makes the build process more complicated than
 it needs to be and at least in Eclipse it causes additional problems.

 Architecture is always balancing of requirements. So as it is a requirement
 to make camel easy to use for users but also to make it easy to use for
 developers of camel I think it is the best choide to move
 camel-core-xml into the core.

 The big jar option is not a bad idea. I think we could use this when we
 split camel-core to make it easier for beginners to start with camel.

 Christian

 Am 31.08.2011 21:45, schrieb Guillaume Nodet:

 That's a modularity problem.  If we want Camel to behave nicely in
 OSGi (and that's not the only reason), we need to be modular, i.e.
 have jars that can focus on one thing instead of having a single jar
 with all dependencies being optional.It really helps managing
 dependencies both internally and externally.

 If you really want a big fat jar, we could consider building one in
 addition to the small jars, kinda like what CXF does.  There may be
 use cases for that, but that does not mean it should be the only
 packaging.

 On Wed, Aug 31, 2011 at 19:45, Christian Schneider

 ch...@die-schneider.net  wrote:

 The camel-core is already bloated anyway. I see no reason to not include
 those classes.
 The current mechanism of directly including the classes in camel-spring
 and
 camel-blueprint is really strange and I think having some classes in core
 that are not needed in some cases is much better then what we have now.

 We will need to split the core anyway for 3.0 so reintegrating
 camel-core-xml would reduce the number of jars again which is good.

 Christian


 Am 31.08.2011 17:54, schrieb Claus Ibsen:

  On Wed, Aug 31, 2011 at 5:51 PM, Christian Schneider
 ch...@die-schneider.netwrote:

 That sounds to me like it would fit nicely in camel-core.

  No as that is just bloat to the core.


  Btw. is there a reason why camel-core-xml is scope provided in
 camel-spring?
 This gives me errors in some tests of other components in eclipse as
 these
 classes can not be found.

  There is no problem at all in IDEA.


 Yes one of the reasons is osgi. By having the camel-core-xml .class
 files included directly into the camel-spring and camel-blueprint
 wo dont have any osgi hickups due JAR files not being loaded and
 whatnot. That was a pain in the past.



  Christian

 Am 31.08.2011 17:43, schrieb Claus Ibsen:

 On Wed, Aug 31, 2011 at 5:40 PM, Christian Schneider
 ch...@die-schneider.net  wrote:

 Hi all,

 can someone tell me what the purpose of camel-core-xml is and why it
 has
 to
 be a spearate project?
 It does not seem to have any other dependencies than camel-core.

 So if there is no good reason to keep it separate I propose to move
 that
 code into camel-core.

  No.

 Its an abstract component which has base classes used by XML DSLs such
 as camel-spring and camel-blueprint.
 This ensures that code is reused between the 2 XML DSLs and make it
 easier to keep them in sync and whatnot.


  --
 --
 Christian Schneider
 http://www.liquid-reality.de

 Open Source Architect
 Talend Application Integration Division http://www.talend.com



  --
 Christian Schneider
 

Re: What is the purpose of camel-core-xml? Move the code to camel-core?

2011-09-02 Thread Claus Ibsen
Hi

At first I will say that when I replied to this it was late in the
evening, so I may not have been able to
pickup the correct words, when I wrote the mail. The tone was due
strong concerns what has
happened over the last period to the API in camel-core.

The following I write with the viewpoint from the biggest asset we
have, the point of view from the community.
So I put on a end user community hat.

The people in the community look at Apache Camel as a great project to
help make integration easier and quicker.
They see the project as established and old as Johan put it. Camel
2.x is 2+ years old, and we are to do the 10th
minor release (2.9).

What people in the community say, and what I hear is that they, after
the first couple of Camel 2.x releases.
The API stabilized and they would be able to have fairly easy upgrades
and being able to reuse existing components,
and whatnot.

As an end user you want to be able to reply on Apache Camel staying
as is. For end users its pain and time consuming
and cost a lot of $$$ and resources if they would need to recompile
and adjust components and other adjustments due
API changes in the core. We all know that rigors testing is often
required for any changes like that to be accepted in a production
environment. So its far better if the can keep using already existing
without any recompilations.

That is why we keep the API in camel-core stable. Yes there are
classes in the core which could have a better name.
Or be moved to another package etc. But we *keep them there*. The
community want this. In all fairness they actually
dont give a damn if TimeoutMap is in util package, what matters for
them is that TimeoutMap is kept in that package in 2.x.

Designing an API is much harder than you would think. One day you
think and feel the API should be like X, then 2 days
later you think that it should be like Y etc. Just look at the
@ManagedXXX annotations.
And what should a new package be named. What about this class, should
it be named X instead of Y etc, because it
have grown since its initial start etc?

Designing APIs is much better for a new major release where you have
the luxury of time and being able to cut
milestone releases, and have feedback from early adaptors and keen end
users who want to try out and help.

Also its more accepted in the early releases (3.0, 3.1 and possible
3.2) to be a bit more open to API changes that
it would in later releases. Especially now when we have Camel 2.x
which is 2+ years. And for Camel 2.x is
really taking up and being a very popular project. So we have grown
and have a very large user base.

And people use Camel in all kind of environments and systems, that we
only have heard a tip of the iceberg.
Besides regular end users, there is many open source projects and
commercial vendors who use Camel
as part of the offerings. They use pieces of the API which normal end
users dont use as often.

In fact this is also a very important perspective of the success of
this project and community.
That commercial vendors is integrating their products with Apache
Camel. For example there
are vendors who build management and monitoring apps, cloud
infrastructure, commercial ESBs,
IDE tooling, and whatnot. Popular open source projects such as
Activiti, Akka, JBoss Drools, Smooks and
others also rely on Camel is stable. So end users can use their
products without them having pain
to upgrade and recompile their products.


Another concern of mine is that API changes was done after 2+ years
and without any prior discussion
and consensus from the Camel team. Likewise there has been absolutely
no indicators from
the community that they would like API changes in the core at this
point in time. Again I have said
many times Camel 2.x is 2+ years old, and the API needs to be stable.

What would have been a better approach would be to start a thread
about Camel 3.0, and one of the
first goals would be API changes and looking at how to split the
camel-core into smaller pieces,
if that is feasible and makes sense. Then a branch in svn could have
been setup. And for example
Christian could experiment there and gets fingers dirty and thus be
able to help sketch up a
solid draft in the wiki for the Camel 3.0 API. Then when time is
right, I guess that would then be soon,
we could start on Camel 3.0 officially and get the API in place with a
couple of milestone releases.
When the 3.0 API is more set in stone, then we could look at the gap
to 2.x, and then if possible.
start adding @deprecated in there, in case it would be possible to
help the 2.x users towards the 3.0 API
without any backwards breaking.

That said, it would IMHO, be a goal of the 3.0 API to be as compatible
with 2.x which would make sense.
We have a very large user based on 2.x, and it would be a shame to
loose them because 3.0 is too different.


Another concern is that I dont think *we* (I say we, as are of us from
the Camel team) did this professionally.
For example would never see such 

Re: What is the purpose of camel-core-xml? Move the code to camel-core?

2011-09-02 Thread Christian Schneider

Hi Claus,

it is great that you wear the community hat. This is a needed balance to 
my refactorings that are of course rather architecture focused.
The good thing is that thanks to your comments many changes are now more 
compatible than I originally did them.


So of course the big question is which changes will really hit people 
and make their migration more difficult. Currently we can not really 
predict that.
So my proposal as I also stated in the release not is that we show 
people the changes and then ask for feedback if there are changes that 
really give them problems.
In that case we can rollback these changes in a fix release or introduce 
more compatibility classes that help people.


Instead of a bugfix release we could also introduce a release 
candidate for the 2.9 release and ask for feedback even before the 
2.9.0. So I am quite sure we can make peoples experience quite smooth 
even with the changes.


I still think that it is good to have these changes already in 2.9.0. 
There are two reasons for that. First we get much quicker feedback if 
changes are good. The 3.0 will take quite long and most users will only 
look at it when it is finished. Second we make our own life easier when 
we have to backport fixes from 3.0 to 2.9.x as 2.9 is much more similar 
to 3.0 than 2.8. The problem with holding back changes for a major 
release makes the change very big. This means it takes even longer to 
create the major release and as it is only tested after it is released 
it is very difficult to really get it right. As you said design is very 
difficult and I also often change my opinion how things work best. So it 
is very important to have early feedback.


So my goal was to already ship the smaller changes in 2.9 and keep the 
bigger stuff for 3.0. Of course as you said we will even want 3.0 to be 
as compatible as possible while making the necessary changes to be ready 
for the future.


In any case the good thing is that I think I did not have to do big 
changes to the examples during my refactorings. So I guess it is quite 
possible that most end users will not see any big changes when they upgrade.


Christian

Am 02.09.2011 08:52, schrieb Claus Ibsen:

Hi

At first I will say that when I replied to this it was late in the
evening, so I may not have been able to
pickup the correct words, when I wrote the mail. The tone was due
strong concerns what has
happened over the last period to the API in camel-core.

The following I write with the viewpoint from the biggest asset we
have, the point of view from the community.
So I put on a end user community hat.

The people in the community look at Apache Camel as a great project to
help make integration easier and quicker.
They see the project as established and old as Johan put it. Camel
2.x is 2+ years old, and we are to do the 10th
minor release (2.9).

What people in the community say, and what I hear is that they, after
the first couple of Camel 2.x releases.
The API stabilized and they would be able to have fairly easy upgrades
and being able to reuse existing components,
and whatnot.

As an end user you want to be able to reply on Apache Camel staying
as is. For end users its pain and time consuming
and cost a lot of $$$ and resources if they would need to recompile
and adjust components and other adjustments due
API changes in the core. We all know that rigors testing is often
required for any changes like that to be accepted in a production
environment. So its far better if the can keep using already existing
without any recompilations.

That is why we keep the API in camel-core stable. Yes there are
classes in the core which could have a better name.
Or be moved to another package etc. But we *keep them there*. The
community want this. In all fairness they actually
dont give a damn if TimeoutMap is in util package, what matters for
them is that TimeoutMap is kept in that package in 2.x.

Designing an API is much harder than you would think. One day you
think and feel the API should be like X, then 2 days
later you think that it should be like Y etc. Just look at the
@ManagedXXX annotations.
And what should a new package be named. What about this class, should
it be named X instead of Y etc, because it
have grown since its initial start etc?

Designing APIs is much better for a new major release where you have
the luxury of time and being able to cut
milestone releases, and have feedback from early adaptors and keen end
users who want to try out and help.

Also its more accepted in the early releases (3.0, 3.1 and possible
3.2) to be a bit more open to API changes that
it would in later releases. Especially now when we have Camel 2.x
which is 2+ years. And for Camel 2.x is
really taking up and being a very popular project. So we have grown
and have a very large user base.

And people use Camel in all kind of environments and systems, that we
only have heard a tip of the iceberg.
Besides regular end users, there is many open source 

Re: What is the purpose of camel-core-xml? Move the code to camel-core?

2011-09-02 Thread James Strachan
On 1 September 2011 02:01, Hadrian Zbarcea hzbar...@gmail.com wrote:
 Personally, I don't think we need a big jar. My understanding is that
 Christian is looking for ways to *improve* modularity and reduce
 dependencies.

But he was suggesting making camel-core bigger  adding in more
dependencies by shoving camel-core-xml in there :). For someone so
keen to try enforce rules, he's broke his modularity rule already :)


 I am not a big fan of big fat jars (and my understanding is
 that that is not what Christian proposed). Modularity is a key aspect of
 Camel.

Agreed. Though having a bigger jar as an option (say camel-core +
camel-core-xml + camel-spring) could be handy for folks who use camel
+ spring together alot. Its less of an issue in the osgi world with
features though.


 Anyway, I'd suggest leaving camel-core-xml the way it is and tackle that in
 3.0.

Agreed. We should be careful to keep 2.x of Camel nice and stable from
an API perspective; but we can experiment in 3.x for sure.

I'm also not sure how much smaller we can really get camel-core; since
out of the box you'd assume camel can work with JMX, beans, files 
implement the patterns and have the model in there. Shaving off
20-100k doesn't seem that big a deal IMHO; the bean / file stuff isn't
that big.

-- 
James
---
FuseSource
Email: ja...@fusesource.com
Web: http://fusesource.com
Twitter: jstrachan, fusenews
Blog: http://macstrac.blogspot.com/

Open Source Integration and Messaging


Re: What is the purpose of camel-core-xml? Move the code to camel-core?

2011-09-02 Thread Donald Whytock
On Fri, Sep 2, 2011 at 6:41 AM, James Strachan ja...@fusesource.com wrote:
 I'm also not sure how much smaller we can really get camel-core; since
 out of the box you'd assume camel can work with JMX, beans, files 
 implement the patterns and have the model in there. Shaving off
 20-100k doesn't seem that big a deal IMHO; the bean / file stuff isn't
 that big.

I actually use Camel without using JMX, beans or files.  But I'm maybe
not a typical user.

Not sure about the use of the term out of the box here.  Right now
the entire Camel package is available as a single download, including
all components.  Assuming one unpacks the whole thing at once, any
component without external dependencies should work out of the box,
and it shouldn't matter whether it's part of the core or not.

Out of the box should only be an issue when someone has a particular
need, such as a desire to shave off every byte one can.  That's when
one starts selectively importing jars, unpacking and rebuilding
manifests and other fun stuff.  Otherwise it shouldn't matter if the
core was one piece or five, as long as all pieces were there.

FWIW I agree that cleaving the core and restructuring the API is
better earmarked for 3.0.  Major releases are a good context for major
changes.

Perhaps the majority of users will adopt 3.0 before the release of 2.9.15.

Don


Re: What is the purpose of camel-core-xml? Move the code to camel-core?

2011-09-01 Thread Christian Schneider

Hi Claus,

I did not intend to be disrespectful. It is natural that things become 
bloated when a project grows. In fact it is very difficult to avoid.


So I think camel-core is too complex. That does not mean it is too big 
in size. Even more important is that the parts of the core are not 
separated. They are highly entangled.


For example the file component. You would expect that the file component 
knows about the api but the rest of core does not know about the file 
component. In reality the GenericFile
class was used in several places outside the file component. So the core 
had knowledge about file component internals. In the case of the file 
component it was wasy to change that.


The other components are similar. The bean component is the worst 
example. The connections between bean component classes and core are 
many and complicated and I am not yet sure how to

solve that one.

So these are just two example there are many more. The problem with 
camel-core is not the size. The problem is that it is not nicely 
separated logically. If the parts of the core had minimal dependencies 
among each other then camel-core would be much easier to use and change 
and also to test. So the minimal thing we need is a real architecture 
people know and agree with - with rules that make sure that things keep 
manageable. Splitting the core would be the easiest way to make the 
rules visible but it is not the only way to go.


Your example of the mock component shows the problem nicely. It uses the 
core but is also used to test the core. This is in fact a problem. As 
soon as we have a camel-api the mock component can only depend on the api.
Then the core can depend on api and on mock for testing. That will then 
make it nicely spearated.


We can then still create a big jar in the build for beginners to give 
them an easy start but logically the parts of camel-core need to be 
nicely separated.


Christian



Am 31.08.2011 21:26, schrieb Claus Ibsen:

On Wed, Aug 31, 2011 at 7:45 PM, Christian Schneider
ch...@die-schneider.net  wrote:

The camel-core is already bloated anyway. I see no reason to not include
those classes.

I may have posted the bloated word before which would be overstating
what I meant. What I was to say
is that camel-core-xml does not belong in camel-core, as it adds
dependency and features which the camel-core does not need.
Only the XML DSL capable components need those pieces and thus they
are in their own module. Those modules is not testable unless
you use camel-spring or camel-blueprint, and hence you would end up
with code in the camel-core which cannot be tested.


But frankly I think you are out of line and being disrespectful to the
project, the community, and the people who have
worked hard on this project. I would never call the camel-core bloated
in any negative way as you do.

The core is 1.6mb which is not bloated. In fact with the core you can
do really a lot with Camel, which impress
a lot of people, and help make the project a success it is today.

The camel-core has grown 200kb in 2.9 due that Google Code Map we
embed directly now, for improving
concurrency issues with the endpoint registry.


The current mechanism of directly including the classes in camel-spring and
camel-blueprint is really strange and I think having some classes in core
that are not needed in some cases is much better then what we have now.


It is not strange. It was discussed and designed in the past. We
worked together with OSGi experts such as gnodet.
And Johan on the blueprint pieces etc.

We have two such modules:
camel-core-xml
camel-core-osgi

is core module for XML DSL and for running Camel in OSGi frameworks.

It just happens to be that both camel-spring and camel-blueprint uses
both of these two as
- camel-spring has a XML DSL and supports both plain Spring as well as Spring-DM
- camel-blueprint has a XML DSL and support OSGi blueprint.

And thus we have shared and common code for those 2 components in the
camel-core-XXX components.




We will need to split the core anyway for 3.0 so reintegrating
camel-core-xml would reduce the number of jars again which is good.


That is still to be decided. And to be discussed later when Camel 3.0
is starting to take form.



Christian


Am 31.08.2011 17:54, schrieb Claus Ibsen:

On Wed, Aug 31, 2011 at 5:51 PM, Christian Schneider
ch...@die-schneider.netwrote:

That sounds to me like it would fit nicely in camel-core.


No as that is just bloat to the core.



Btw. is there a reason why camel-core-xml is scope provided in
camel-spring?
This gives me errors in some tests of other components in eclipse as
these
classes can not be found.


There is no problem at all in IDEA.


Yes one of the reasons is osgi. By having the camel-core-xml .class
files included directly into the camel-spring and camel-blueprint
wo dont have any osgi hickups due JAR files not being loaded and
whatnot. That was a pain in the past.




Christian

Am 31.08.2011 17:43, 

Re: What is the purpose of camel-core-xml? Move the code to camel-core?

2011-09-01 Thread Willem Jiang
+1 for Camel API part, in this way we can let camel-core  and 
camel-spring test with single camel test framework.


But I think this change should be part of Camel 3.0, as it is not small 
piece of cake :)


On 9/1/11 2:06 PM, Christian Schneider wrote:

Hi Claus,

I did not intend to be disrespectful. It is natural that things become
bloated when a project grows. In fact it is very difficult to avoid.

So I think camel-core is too complex. That does not mean it is too big
in size. Even more important is that the parts of the core are not
separated. They are highly entangled.

For example the file component. You would expect that the file component
knows about the api but the rest of core does not know about the file
component. In reality the GenericFile
class was used in several places outside the file component. So the core
had knowledge about file component internals. In the case of the file
component it was wasy to change that.

The other components are similar. The bean component is the worst
example. The connections between bean component classes and core are
many and complicated and I am not yet sure how to
solve that one.

So these are just two example there are many more. The problem with
camel-core is not the size. The problem is that it is not nicely
separated logically. If the parts of the core had minimal dependencies
among each other then camel-core would be much easier to use and change
and also to test. So the minimal thing we need is a real architecture
people know and agree with - with rules that make sure that things keep
manageable. Splitting the core would be the easiest way to make the
rules visible but it is not the only way to go.

Your example of the mock component shows the problem nicely. It uses the
core but is also used to test the core. This is in fact a problem. As
soon as we have a camel-api the mock component can only depend on the api.
Then the core can depend on api and on mock for testing. That will then
make it nicely spearated.

We can then still create a big jar in the build for beginners to give
them an easy start but logically the parts of camel-core need to be
nicely separated.

Christian



Am 31.08.2011 21:26, schrieb Claus Ibsen:

On Wed, Aug 31, 2011 at 7:45 PM, Christian Schneider
ch...@die-schneider.net wrote:

The camel-core is already bloated anyway. I see no reason to not include
those classes.

I may have posted the bloated word before which would be overstating
what I meant. What I was to say
is that camel-core-xml does not belong in camel-core, as it adds
dependency and features which the camel-core does not need.
Only the XML DSL capable components need those pieces and thus they
are in their own module. Those modules is not testable unless
you use camel-spring or camel-blueprint, and hence you would end up
with code in the camel-core which cannot be tested.


But frankly I think you are out of line and being disrespectful to the
project, the community, and the people who have
worked hard on this project. I would never call the camel-core bloated
in any negative way as you do.

The core is 1.6mb which is not bloated. In fact with the core you can
do really a lot with Camel, which impress
a lot of people, and help make the project a success it is today.

The camel-core has grown 200kb in 2.9 due that Google Code Map we
embed directly now, for improving
concurrency issues with the endpoint registry.


The current mechanism of directly including the classes in
camel-spring and
camel-blueprint is really strange and I think having some classes in
core
that are not needed in some cases is much better then what we have now.


It is not strange. It was discussed and designed in the past. We
worked together with OSGi experts such as gnodet.
And Johan on the blueprint pieces etc.

We have two such modules:
camel-core-xml
camel-core-osgi

is core module for XML DSL and for running Camel in OSGi frameworks.

It just happens to be that both camel-spring and camel-blueprint uses
both of these two as
- camel-spring has a XML DSL and supports both plain Spring as well as
Spring-DM
- camel-blueprint has a XML DSL and support OSGi blueprint.

And thus we have shared and common code for those 2 components in the
camel-core-XXX components.




We will need to split the core anyway for 3.0 so reintegrating
camel-core-xml would reduce the number of jars again which is good.


That is still to be decided. And to be discussed later when Camel 3.0
is starting to take form.



Christian


Am 31.08.2011 17:54, schrieb Claus Ibsen:

On Wed, Aug 31, 2011 at 5:51 PM, Christian Schneider
ch...@die-schneider.net wrote:

That sounds to me like it would fit nicely in camel-core.


No as that is just bloat to the core.



Btw. is there a reason why camel-core-xml is scope provided in
camel-spring?
This gives me errors in some tests of other components in eclipse as
these
classes can not be found.


There is no problem at all in IDEA.


Yes one of the reasons is osgi. By having the 

Re: What is the purpose of camel-core-xml? Move the code to camel-core?

2011-08-31 Thread Claus Ibsen
On Wed, Aug 31, 2011 at 5:40 PM, Christian Schneider
ch...@die-schneider.net wrote:
 Hi all,

 can someone tell me what the purpose of camel-core-xml is and why it has to
 be a spearate project?
 It does not seem to have any other dependencies than camel-core.

 So if there is no good reason to keep it separate I propose to move that
 code into camel-core.


No.

Its an abstract component which has base classes used by XML DSLs such
as camel-spring and camel-blueprint.
This ensures that code is reused between the 2 XML DSLs and make it
easier to keep them in sync and whatnot.



 Christian

 --
 --
 Christian Schneider
 http://www.liquid-reality.de

 Open Source Architect
 Talend Application Integration Division http://www.talend.com





-- 
Claus Ibsen
-
FuseSource
Email: cib...@fusesource.com
Web: http://fusesource.com
Twitter: davsclaus, fusenews
Blog: http://davsclaus.blogspot.com/
Author of Camel in Action: http://www.manning.com/ibsen/


Re: What is the purpose of camel-core-xml? Move the code to camel-core?

2011-08-31 Thread Christian Schneider

That sounds to me like it would fit nicely in camel-core.

Btw. is there a reason why camel-core-xml is scope provided in 
camel-spring? This gives me errors in some tests of other components in 
eclipse as these classes can not be found.


Christian

Am 31.08.2011 17:43, schrieb Claus Ibsen:

On Wed, Aug 31, 2011 at 5:40 PM, Christian Schneider
ch...@die-schneider.net  wrote:

Hi all,

can someone tell me what the purpose of camel-core-xml is and why it has to
be a spearate project?
It does not seem to have any other dependencies than camel-core.

So if there is no good reason to keep it separate I propose to move that
code into camel-core.


No.

Its an abstract component which has base classes used by XML DSLs such
as camel-spring and camel-blueprint.
This ensures that code is reused between the 2 XML DSLs and make it
easier to keep them in sync and whatnot.




--
--
Christian Schneider
http://www.liquid-reality.de

Open Source Architect
Talend Application Integration Division http://www.talend.com



Re: What is the purpose of camel-core-xml? Move the code to camel-core?

2011-08-31 Thread Claus Ibsen
On Wed, Aug 31, 2011 at 5:51 PM, Christian Schneider
ch...@die-schneider.net wrote:
 That sounds to me like it would fit nicely in camel-core.


No as that is just bloat to the core.


 Btw. is there a reason why camel-core-xml is scope provided in camel-spring?
 This gives me errors in some tests of other components in eclipse as these
 classes can not be found.


There is no problem at all in IDEA.


Yes one of the reasons is osgi. By having the camel-core-xml .class
files included directly into the camel-spring and camel-blueprint
wo dont have any osgi hickups due JAR files not being loaded and
whatnot. That was a pain in the past.



 Christian

 Am 31.08.2011 17:43, schrieb Claus Ibsen:

 On Wed, Aug 31, 2011 at 5:40 PM, Christian Schneider
 ch...@die-schneider.net  wrote:

 Hi all,

 can someone tell me what the purpose of camel-core-xml is and why it has
 to
 be a spearate project?
 It does not seem to have any other dependencies than camel-core.

 So if there is no good reason to keep it separate I propose to move that
 code into camel-core.

 No.

 Its an abstract component which has base classes used by XML DSLs such
 as camel-spring and camel-blueprint.
 This ensures that code is reused between the 2 XML DSLs and make it
 easier to keep them in sync and whatnot.



 --
 --
 Christian Schneider
 http://www.liquid-reality.de

 Open Source Architect
 Talend Application Integration Division http://www.talend.com





-- 
Claus Ibsen
-
FuseSource
Email: cib...@fusesource.com
Web: http://fusesource.com
Twitter: davsclaus, fusenews
Blog: http://davsclaus.blogspot.com/
Author of Camel in Action: http://www.manning.com/ibsen/


Re: What is the purpose of camel-core-xml? Move the code to camel-core?

2011-08-31 Thread Christian Schneider
The camel-core is already bloated anyway. I see no reason to not include 
those classes.
The current mechanism of directly including the classes in camel-spring 
and camel-blueprint is really strange and I think having some classes in 
core

that are not needed in some cases is much better then what we have now.

We will need to split the core anyway for 3.0 so reintegrating 
camel-core-xml would reduce the number of jars again which is good.


Christian


Am 31.08.2011 17:54, schrieb Claus Ibsen:

On Wed, Aug 31, 2011 at 5:51 PM, Christian Schneider
ch...@die-schneider.net  wrote:

That sounds to me like it would fit nicely in camel-core.


No as that is just bloat to the core.



Btw. is there a reason why camel-core-xml is scope provided in camel-spring?
This gives me errors in some tests of other components in eclipse as these
classes can not be found.


There is no problem at all in IDEA.


Yes one of the reasons is osgi. By having the camel-core-xml .class
files included directly into the camel-spring and camel-blueprint
wo dont have any osgi hickups due JAR files not being loaded and
whatnot. That was a pain in the past.




Christian

Am 31.08.2011 17:43, schrieb Claus Ibsen:

On Wed, Aug 31, 2011 at 5:40 PM, Christian Schneider
ch...@die-schneider.netwrote:

Hi all,

can someone tell me what the purpose of camel-core-xml is and why it has
to
be a spearate project?
It does not seem to have any other dependencies than camel-core.

So if there is no good reason to keep it separate I propose to move that
code into camel-core.


No.

Its an abstract component which has base classes used by XML DSLs such
as camel-spring and camel-blueprint.
This ensures that code is reused between the 2 XML DSLs and make it
easier to keep them in sync and whatnot.



--
--
Christian Schneider
http://www.liquid-reality.de

Open Source Architect
Talend Application Integration Division http://www.talend.com







--
Christian Schneider
http://www.liquid-reality.de

Open Source Architect
http://www.talend.com



Re: What is the purpose of camel-core-xml? Move the code to camel-core?

2011-08-31 Thread Claus Ibsen
On Wed, Aug 31, 2011 at 7:45 PM, Christian Schneider
ch...@die-schneider.net wrote:
 The camel-core is already bloated anyway. I see no reason to not include
 those classes.

I may have posted the bloated word before which would be overstating
what I meant. What I was to say
is that camel-core-xml does not belong in camel-core, as it adds
dependency and features which the camel-core does not need.
Only the XML DSL capable components need those pieces and thus they
are in their own module. Those modules is not testable unless
you use camel-spring or camel-blueprint, and hence you would end up
with code in the camel-core which cannot be tested.


But frankly I think you are out of line and being disrespectful to the
project, the community, and the people who have
worked hard on this project. I would never call the camel-core bloated
in any negative way as you do.

The core is 1.6mb which is not bloated. In fact with the core you can
do really a lot with Camel, which impress
a lot of people, and help make the project a success it is today.

The camel-core has grown 200kb in 2.9 due that Google Code Map we
embed directly now, for improving
concurrency issues with the endpoint registry.

 The current mechanism of directly including the classes in camel-spring and
 camel-blueprint is really strange and I think having some classes in core
 that are not needed in some cases is much better then what we have now.


It is not strange. It was discussed and designed in the past. We
worked together with OSGi experts such as gnodet.
And Johan on the blueprint pieces etc.

We have two such modules:
camel-core-xml
camel-core-osgi

is core module for XML DSL and for running Camel in OSGi frameworks.

It just happens to be that both camel-spring and camel-blueprint uses
both of these two as
- camel-spring has a XML DSL and supports both plain Spring as well as Spring-DM
- camel-blueprint has a XML DSL and support OSGi blueprint.

And thus we have shared and common code for those 2 components in the
camel-core-XXX components.



 We will need to split the core anyway for 3.0 so reintegrating
 camel-core-xml would reduce the number of jars again which is good.


That is still to be decided. And to be discussed later when Camel 3.0
is starting to take form.


 Christian


 Am 31.08.2011 17:54, schrieb Claus Ibsen:

 On Wed, Aug 31, 2011 at 5:51 PM, Christian Schneider
 ch...@die-schneider.net  wrote:

 That sounds to me like it would fit nicely in camel-core.

 No as that is just bloat to the core.


 Btw. is there a reason why camel-core-xml is scope provided in
 camel-spring?
 This gives me errors in some tests of other components in eclipse as
 these
 classes can not be found.

 There is no problem at all in IDEA.


 Yes one of the reasons is osgi. By having the camel-core-xml .class
 files included directly into the camel-spring and camel-blueprint
 wo dont have any osgi hickups due JAR files not being loaded and
 whatnot. That was a pain in the past.



 Christian

 Am 31.08.2011 17:43, schrieb Claus Ibsen:

 On Wed, Aug 31, 2011 at 5:40 PM, Christian Schneider
 ch...@die-schneider.net    wrote:

 Hi all,

 can someone tell me what the purpose of camel-core-xml is and why it
 has
 to
 be a spearate project?
 It does not seem to have any other dependencies than camel-core.

 So if there is no good reason to keep it separate I propose to move
 that
 code into camel-core.

 No.

 Its an abstract component which has base classes used by XML DSLs such
 as camel-spring and camel-blueprint.
 This ensures that code is reused between the 2 XML DSLs and make it
 easier to keep them in sync and whatnot.


 --
 --
 Christian Schneider
 http://www.liquid-reality.de

 Open Source Architect
 Talend Application Integration Division http://www.talend.com





 --
 Christian Schneider
 http://www.liquid-reality.de

 Open Source Architect
 http://www.talend.com





-- 
Claus Ibsen
-
FuseSource
Email: cib...@fusesource.com
Web: http://fusesource.com
Twitter: davsclaus, fusenews
Blog: http://davsclaus.blogspot.com/
Author of Camel in Action: http://www.manning.com/ibsen/


Re: What is the purpose of camel-core-xml? Move the code to camel-core?

2011-08-31 Thread Donald Whytock
On Wed, Aug 31, 2011 at 3:26 PM, Claus Ibsen claus.ib...@gmail.com wrote:
 The core is 1.6mb which is not bloated. In fact with the core you can
 do really a lot with Camel, which impress
 a lot of people, and help make the project a success it is today.

In all fairness, 1.6 mb is bigger than the entire Felix framework,
including the documentation.  The camel-core jar represents two-thirds
of the volume of my deployed Felix OSGI application.

Yes, the core does a lot, but how many people genuinely use all the
features and built-in components?  Not that I'm necessarily advocating
splitting it into all separate modules, since it would probably take
up more space that way, what with the extra manifests and activators
and all.

But still, even if not bloated, I might call it non-trivially sized.

Don


Re: What is the purpose of camel-core-xml? Move the code to camel-core?

2011-08-31 Thread Claus Ibsen
On Wed, Aug 31, 2011 at 10:15 PM, Donald Whytock dwhyt...@gmail.com wrote:
 On Wed, Aug 31, 2011 at 3:26 PM, Claus Ibsen claus.ib...@gmail.com wrote:
 The core is 1.6mb which is not bloated. In fact with the core you can
 do really a lot with Camel, which impress
 a lot of people, and help make the project a success it is today.

 In all fairness, 1.6 mb is bigger than the entire Felix framework,
 including the documentation.  The camel-core jar represents two-thirds
 of the volume of my deployed Felix OSGI application.


In all fairness you are comparing apples to oranges. Is it not a goal
for the Felix project
to be a micro container and very small, and being embeddable into
small devices and whatnot.

Thats not necessarily the same goal for Camel.


Instead you ought to compare Camel with equal projects such as
- Spring Integration
- Apache Synapse
- Mule
- and possible others

Spring Integration is about 500kb. But then you must use Spring
Framework also. So thats about 2-3mb extra, depending on your choice
of their JARs.

Apache Synpase has a ton of JARs. I am actually not aware which one is
the bare you need to run. The dist is 40+mb.
Mule is about the same story as Synapse. However Mule is designed to
be an ESB and thus bigger. But the Mule people
also like to compare against Camel and say they can embed and run Mule
standalone, or in WARs etc. Mule and OSGi,
well we all may know what Ross said about that.

Yes the camel-core could be splitted up but it may just add more
confusion and trouble to the mix. We got a lot of new and less
experienced users to Apache Camel, as they need help with integration.
So for them being able to pick camel-core and be able to run out of
the box is great. They dont need to fiddle with adding 8-15 JARs as
you would do when using Spring or other which have fine grained JARs
for the project.

The 1.6 - 1.7mb in camel-core is roughly taking up space as follows
- default implementation = 500kb
- model = 400kb
- eips = 400kb
- components = 300kb
- jmx = 100kb
- other stuff = the rest

In the components there is 3 which take up some size
- bean, file and mock
The rest of the components is minimal, some one one class, and others
maybe 10-20kb

The bean component is a core piece of camel and ought to be in camel-core.
Mock is used heavily for unit testing camel itself. But also for end
users as well.

It could be moved to camel-mock, but then we would need to build
camel-mock before camel-core to be able to test camel-core.
Would that not cause trouble, as camel-mock depends on camel-core?

Then file is not, and could be in a camel-file JAR. But then again
when people get started
with Camel they often try out with files. So having  that work out of
the box is nice.

And for management, Christian have prepared the API for that. And it
would be possible to split that out in camel-core-management
or what a component name could be for the future. If it makes sense.


So the big pieces to split Camel would be the eips and the model. But
those are key concepts for Camel.
The routing and EIPs.




 Yes, the core does a lot, but how many people genuinely use all the
 features and built-in components?  Not that I'm necessarily advocating
 splitting it into all separate modules, since it would probably take
 up more space that way, what with the extra manifests and activators
 and all.

 But still, even if not bloated, I might call it non-trivially sized.

 Don




-- 
Claus Ibsen
-
FuseSource
Email: cib...@fusesource.com
Web: http://fusesource.com
Twitter: davsclaus, fusenews
Blog: http://davsclaus.blogspot.com/
Author of Camel in Action: http://www.manning.com/ibsen/


Re: What is the purpose of camel-core-xml? Move the code to camel-core?

2011-08-31 Thread Hadrian Zbarcea
In all fairness, it's becoming more and more bloated, alright. Donald 
was right to point it out too and did it in a very nice way. He was not 
comparing apples and oranges.


My $0.02,
Hadrian


On 08/31/2011 05:14 PM, Claus Ibsen wrote:

On Wed, Aug 31, 2011 at 10:15 PM, Donald Whytockdwhyt...@gmail.com  wrote:

On Wed, Aug 31, 2011 at 3:26 PM, Claus Ibsenclaus.ib...@gmail.com  wrote:

The core is 1.6mb which is not bloated. In fact with the core you can
do really a lot with Camel, which impress
a lot of people, and help make the project a success it is today.


In all fairness, 1.6 mb is bigger than the entire Felix framework,
including the documentation.  The camel-core jar represents two-thirds
of the volume of my deployed Felix OSGI application.



In all fairness you are comparing apples to oranges. Is it not a goal
for the Felix project
to be a micro container and very small, and being embeddable into
small devices and whatnot.

Thats not necessarily the same goal for Camel.


Instead you ought to compare Camel with equal projects such as
- Spring Integration
- Apache Synapse
- Mule
- and possible others

Spring Integration is about 500kb. But then you must use Spring
Framework also. So thats about 2-3mb extra, depending on your choice
of their JARs.

Apache Synpase has a ton of JARs. I am actually not aware which one is
the bare you need to run. The dist is 40+mb.
Mule is about the same story as Synapse. However Mule is designed to
be an ESB and thus bigger. But the Mule people
also like to compare against Camel and say they can embed and run Mule
standalone, or in WARs etc. Mule and OSGi,
well we all may know what Ross said about that.

Yes the camel-core could be splitted up but it may just add more
confusion and trouble to the mix. We got a lot of new and less
experienced users to Apache Camel, as they need help with integration.
So for them being able to pick camel-core and be able to run out of
the box is great. They dont need to fiddle with adding 8-15 JARs as
you would do when using Spring or other which have fine grained JARs
for the project.

The 1.6 - 1.7mb in camel-core is roughly taking up space as follows
- default implementation = 500kb
- model = 400kb
- eips = 400kb
- components = 300kb
- jmx = 100kb
- other stuff = the rest

In the components there is 3 which take up some size
- bean, file and mock
The rest of the components is minimal, some one one class, and others
maybe 10-20kb

The bean component is a core piece of camel and ought to be in camel-core.
Mock is used heavily for unit testing camel itself. But also for end
users as well.

It could be moved to camel-mock, but then we would need to build
camel-mock before camel-core to be able to test camel-core.
Would that not cause trouble, as camel-mock depends on camel-core?

Then file is not, and could be in a camel-file JAR. But then again
when people get started
with Camel they often try out with files. So having  that work out of
the box is nice.

And for management, Christian have prepared the API for that. And it
would be possible to split that out in camel-core-management
or what a component name could be for the future. If it makes sense.


So the big pieces to split Camel would be the eips and the model. But
those are key concepts for Camel.
The routing and EIPs.





Yes, the core does a lot, but how many people genuinely use all the
features and built-in components?  Not that I'm necessarily advocating
splitting it into all separate modules, since it would probably take
up more space that way, what with the extra manifests and activators
and all.

But still, even if not bloated, I might call it non-trivially sized.

Don







Re: What is the purpose of camel-core-xml? Move the code to camel-core?

2011-08-31 Thread Hadrian Zbarcea
Personally, I don't think we need a big jar. My understanding is that 
Christian is looking for ways to *improve* modularity and reduce 
dependencies. I am not a big fan of big fat jars (and my understanding 
is that that is not what Christian proposed). Modularity is a key aspect 
of Camel.


Anyway, I'd suggest leaving camel-core-xml the way it is and tackle that 
in 3.0.


Hadrian


On 08/31/2011 03:45 PM, Guillaume Nodet wrote:

That's a modularity problem.  If we want Camel to behave nicely in
OSGi (and that's not the only reason), we need to be modular, i.e.
have jars that can focus on one thing instead of having a single jar
with all dependencies being optional.It really helps managing
dependencies both internally and externally.

If you really want a big fat jar, we could consider building one in
addition to the small jars, kinda like what CXF does.  There may be
use cases for that, but that does not mean it should be the only
packaging.

On Wed, Aug 31, 2011 at 19:45, Christian Schneider
ch...@die-schneider.net  wrote:

The camel-core is already bloated anyway. I see no reason to not include
those classes.
The current mechanism of directly including the classes in camel-spring and
camel-blueprint is really strange and I think having some classes in core
that are not needed in some cases is much better then what we have now.

We will need to split the core anyway for 3.0 so reintegrating
camel-core-xml would reduce the number of jars again which is good.

Christian


Am 31.08.2011 17:54, schrieb Claus Ibsen:


On Wed, Aug 31, 2011 at 5:51 PM, Christian Schneider
ch...@die-schneider.netwrote:


That sounds to me like it would fit nicely in camel-core.


No as that is just bloat to the core.



Btw. is there a reason why camel-core-xml is scope provided in
camel-spring?
This gives me errors in some tests of other components in eclipse as
these
classes can not be found.


There is no problem at all in IDEA.


Yes one of the reasons is osgi. By having the camel-core-xml .class
files included directly into the camel-spring and camel-blueprint
wo dont have any osgi hickups due JAR files not being loaded and
whatnot. That was a pain in the past.




Christian

Am 31.08.2011 17:43, schrieb Claus Ibsen:


On Wed, Aug 31, 2011 at 5:40 PM, Christian Schneider
ch...@die-schneider.net  wrote:


Hi all,

can someone tell me what the purpose of camel-core-xml is and why it
has
to
be a spearate project?
It does not seem to have any other dependencies than camel-core.

So if there is no good reason to keep it separate I propose to move
that
code into camel-core.


No.

Its an abstract component which has base classes used by XML DSLs such
as camel-spring and camel-blueprint.
This ensures that code is reused between the 2 XML DSLs and make it
easier to keep them in sync and whatnot.



--
--
Christian Schneider
http://www.liquid-reality.de

Open Source Architect
Talend Application Integration Division http://www.talend.com







--
Christian Schneider
http://www.liquid-reality.de

Open Source Architect
http://www.talend.com








Re: What is the purpose of camel-core-xml? Move the code to camel-core?

2011-08-31 Thread Willem Jiang

camel-core doesn't have any third part dependencies (only slf4j).
But the whole camel project may have 450M third part dependency as it 
out of our control.


I think camel-core has some built-in components and EIP implementation 
helps user to start up a simple EIP journey by using a 1.6M tool without 
any pain, that is amazing impression of Camel.


I'm still OK if it is less then 3M.


On 9/1/11 4:15 AM, Donald Whytock wrote:

On Wed, Aug 31, 2011 at 3:26 PM, Claus Ibsenclaus.ib...@gmail.com  wrote:

The core is 1.6mb which is not bloated. In fact with the core you can
do really a lot with Camel, which impress
a lot of people, and help make the project a success it is today.


In all fairness, 1.6 mb is bigger than the entire Felix framework,
including the documentation.  The camel-core jar represents two-thirds
of the volume of my deployed Felix OSGI application.

Yes, the core does a lot, but how many people genuinely use all the
features and built-in components?  Not that I'm necessarily advocating
splitting it into all separate modules, since it would probably take
up more space that way, what with the extra manifests and activators
and all.

But still, even if not bloated, I might call it non-trivially sized.

Don




--
Willem
--
FuseSource
Web: http://www.fusesource.com
Blog:http://willemjiang.blogspot.com (English)
 http://jnn.javaeye.com (Chinese)
Twitter: willemjiang
Weibo: willemjiang


Re: What is the purpose of camel-core-xml? Move the code to camel-core?

2011-08-31 Thread Christian Schneider
camel-core-xml has only a bunch of classes. It adds not a single 
dependency.
So I think it could be added to core. We can also leave it in a separate 
jar but then it should be that .. a simple jar.
In the moment the camel-core-xml classes are directly imported into 
spring and blueprint projects. This makes the build process more 
complicated than

it needs to be and at least in Eclipse it causes additional problems.

Architecture is always balancing of requirements. So as it is a 
requirement to make camel easy to use for users but also to make it easy 
to use for developers of camel I think it is the best choide to move

camel-core-xml into the core.

The big jar option is not a bad idea. I think we could use this when we 
split camel-core to make it easier for beginners to start with camel.


Christian

Am 31.08.2011 21:45, schrieb Guillaume Nodet:

That's a modularity problem.  If we want Camel to behave nicely in
OSGi (and that's not the only reason), we need to be modular, i.e.
have jars that can focus on one thing instead of having a single jar
with all dependencies being optional.It really helps managing
dependencies both internally and externally.

If you really want a big fat jar, we could consider building one in
addition to the small jars, kinda like what CXF does.  There may be
use cases for that, but that does not mean it should be the only
packaging.

On Wed, Aug 31, 2011 at 19:45, Christian Schneider
ch...@die-schneider.net  wrote:

The camel-core is already bloated anyway. I see no reason to not include
those classes.
The current mechanism of directly including the classes in camel-spring and
camel-blueprint is really strange and I think having some classes in core
that are not needed in some cases is much better then what we have now.

We will need to split the core anyway for 3.0 so reintegrating
camel-core-xml would reduce the number of jars again which is good.

Christian


Am 31.08.2011 17:54, schrieb Claus Ibsen:

On Wed, Aug 31, 2011 at 5:51 PM, Christian Schneider
ch...@die-schneider.netwrote:

That sounds to me like it would fit nicely in camel-core.


No as that is just bloat to the core.



Btw. is there a reason why camel-core-xml is scope provided in
camel-spring?
This gives me errors in some tests of other components in eclipse as
these
classes can not be found.


There is no problem at all in IDEA.


Yes one of the reasons is osgi. By having the camel-core-xml .class
files included directly into the camel-spring and camel-blueprint
wo dont have any osgi hickups due JAR files not being loaded and
whatnot. That was a pain in the past.




Christian

Am 31.08.2011 17:43, schrieb Claus Ibsen:

On Wed, Aug 31, 2011 at 5:40 PM, Christian Schneider
ch...@die-schneider.net  wrote:

Hi all,

can someone tell me what the purpose of camel-core-xml is and why it
has
to
be a spearate project?
It does not seem to have any other dependencies than camel-core.

So if there is no good reason to keep it separate I propose to move
that
code into camel-core.


No.

Its an abstract component which has base classes used by XML DSLs such
as camel-spring and camel-blueprint.
This ensures that code is reused between the 2 XML DSLs and make it
easier to keep them in sync and whatnot.



--
--
Christian Schneider
http://www.liquid-reality.de

Open Source Architect
Talend Application Integration Division http://www.talend.com





--
Christian Schneider
http://www.liquid-reality.de

Open Source Architect
http://www.talend.com







--
Christian Schneider
http://www.liquid-reality.de

Open Source Architect
http://www.talend.com



Re: What is the purpose of camel-core-xml? Move the code to camel-core?

2011-08-31 Thread Christian Schneider
Yes that is a good thing to do in 3.0. I just wanted to discuss and try 
to have an agreement to do it at some point.


Christian


Am 01.09.2011 03:01, schrieb Hadrian Zbarcea:
Personally, I don't think we need a big jar. My understanding is that 
Christian is looking for ways to *improve* modularity and reduce 
dependencies. I am not a big fan of big fat jars (and my understanding 
is that that is not what Christian proposed). Modularity is a key 
aspect of Camel.


Anyway, I'd suggest leaving camel-core-xml the way it is and tackle 
that in 3.0.


Hadrian


On 08/31/2011 03:45 PM, Guillaume Nodet wrote:

That's a modularity problem.  If we want Camel to behave nicely in
OSGi (and that's not the only reason), we need to be modular, i.e.
have jars that can focus on one thing instead of having a single jar
with all dependencies being optional.It really helps managing
dependencies both internally and externally.

If you really want a big fat jar, we could consider building one in
addition to the small jars, kinda like what CXF does.  There may be
use cases for that, but that does not mean it should be the only
packaging.

On Wed, Aug 31, 2011 at 19:45, Christian Schneider
ch...@die-schneider.net  wrote:
The camel-core is already bloated anyway. I see no reason to not 
include

those classes.
The current mechanism of directly including the classes in 
camel-spring and
camel-blueprint is really strange and I think having some classes in 
core

that are not needed in some cases is much better then what we have now.

We will need to split the core anyway for 3.0 so reintegrating
camel-core-xml would reduce the number of jars again which is good.

Christian


Am 31.08.2011 17:54, schrieb Claus Ibsen:


On Wed, Aug 31, 2011 at 5:51 PM, Christian Schneider
ch...@die-schneider.netwrote:


That sounds to me like it would fit nicely in camel-core.


No as that is just bloat to the core.



Btw. is there a reason why camel-core-xml is scope provided in
camel-spring?
This gives me errors in some tests of other components in eclipse as
these
classes can not be found.


There is no problem at all in IDEA.


Yes one of the reasons is osgi. By having the camel-core-xml .class
files included directly into the camel-spring and camel-blueprint
wo dont have any osgi hickups due JAR files not being loaded and
whatnot. That was a pain in the past.




Christian

Am 31.08.2011 17:43, schrieb Claus Ibsen:


On Wed, Aug 31, 2011 at 5:40 PM, Christian Schneider
ch...@die-schneider.net  wrote:


Hi all,

can someone tell me what the purpose of camel-core-xml is and 
why it

has
to
be a spearate project?
It does not seem to have any other dependencies than camel-core.

So if there is no good reason to keep it separate I propose to move
that
code into camel-core.


No.

Its an abstract component which has base classes used by XML DSLs 
such

as camel-spring and camel-blueprint.
This ensures that code is reused between the 2 XML DSLs and make it
easier to keep them in sync and whatnot.



--
--
Christian Schneider
http://www.liquid-reality.de

Open Source Architect
Talend Application Integration Division http://www.talend.com







--
Christian Schneider
http://www.liquid-reality.de

Open Source Architect
http://www.talend.com










--
Christian Schneider
http://www.liquid-reality.de

Open Source Architect
http://www.talend.com