I'm fully agree. My proposal was more: if we are able to fix the Spring 3.1 issue in Camel (I don't talk about OSGi, but in Camel in general), and that we release a version of Camel which assume to use Spring 3.1, for people that use OSGi and Karaf, we can prepare a "dual" Spring feature in Karaf 2.2.x, depending of the timing.

Regards
JB

On 03/12/2012 06:50 PM, Claus Ibsen wrote:
Hi

I dont think this is a road we want to go down. In the old days we had
a spring 2.x and 3.0 features.xml file and it was a pain to maintain.
We only had to do this because due limitations in features in Karaf
back then. Now Karaf is improved and IMHO not needed to be released
and maintained by Camel project. What about CXF and other libraries
where people use in Karaf and they want to use Spring 3.1.

The camel components is by default compatible with Spring 3.0 and 3.1.
There is only one API change in the Spring Test Framework which is
incompatible between spring 3.0 and 3.1, reported by Christian.

But the camel-test-spring is not an OSGi bundle, and neither available
as a feature. So people should be able to install any
of the Camel features and use Spring 3.1.

That said, its not a combo we have tested thoroughly and the default
unit tests / integration tests, is using Spring 3.0.
But there is so many combinations of frameworks and 3rd party JARs
that people can use. We cannot test all combos.

So in my mind upgrading Spring in Karaf should be something people can
do, and the install any features / bundle that can
use this Spring version range.

All the Camel bundles that uses Spring have (3,4] in the range.



On Mon, Mar 12, 2012 at 2:55 PM, Jean-Baptiste Onofré<[email protected]>  wrote:
Hi Claus,

a "possibility" is to provide both Spring features version on Karaf 2.2.x.

spring-3.0

and

spring-3.1

It will allow us to "upgrade" Camel to support Spring 3.1 without waiting
for Karaf 3.0.0.

My 0.02$ ;)

Regards
JB


On 03/11/2012 09:29 AM, Claus Ibsen wrote:

Hi

The irony is that an OSGi environment should be very modular and dynamic.
So upgrading Spring to 3.1, ought to be a use-case that should be
straight forward.

The camel spring bundles have the spring version range [3.0,4.0) I
think, so they ought to be not limited to only 3.0.x.
I just checked the pom.xml in camel-spring has:
org.springframework.*;version="[3,4)",


On Sat, Mar 10, 2012 at 8:12 PM, Christian Müller
<[email protected]>    wrote:

I will add a spring-3.1 profile in my local workspace and see how it
works
(we could have a Spring 3.0.x and a Spring 3.1.x build). If this works I
will move on and see how we do it for Karaf...

Best,
Christian

On Sat, Mar 10, 2012 at 7:07 PM, Christian Müller<
[email protected]>    wrote:

Maybe Stefan don't use the Camel provided features and install all the
needed bundles by its own or build its own feature file which use Spring
3.1.x. That's possible but not recommended, because Camel 2.9.1 is
"only"
tested with Spring 3.0.x. This means it could work, but you cannot be
sure.
It's also possible that may camel-jpa works with Spring 3.1.x but
another
Camel component e.g. camel-jms/camel-activemq will fail with Spring
3.1.x.

In the past we already did support two different versions of Spring
(2.5.x
and 3.0.x). I'm not sure were we was happy with this solution (two
different feature files in Camel)...

Loud thinking:
At the moment I'm not sure if it's really the best idea that Camel reuse
the Karaf provided Spring feature (may be this is also the case for
other
features). The reason is the following:
Imagine you run Karaf 2.2.x (plain Karaf or ServiceMix) and you don't
want
to upgrade your container infrastructure multiple times per year (this
is
the case for my company). When you upgrade your Camel based application
to
a Camel version which use Spring 3.1.x, you have to:
- upgrade your container infrastructure also (Karaf)
- or change the Camel provided feature file and change all the places
where Camel requires the Spring feature (from Karaf) and replace it with
the Spring 3.1.x bundles.

Be leveraging the Karaf Spring features it's easier to have all the
dependencies in sync, but it adds an (unnecessary) constraint.
And if Karaf 2.2.6 also use Spring 3.1.x, it doesn't fix this
constraint...

I'm interested in your all opinions.

Best,
Christian


On Sat, Mar 10, 2012 at 5:01 PM, wanggang1<[email protected]>    wrote:

Hi Stefan,

When I used Camel 2.9.1, I saw Maven pulled down Spring 3.0.7-RELEASE
as
dependencies.  When you added Spring 3.1 explicitly, did it then cause
any
conflict?

Thanks

--
View this message in context:

http://camel.465427.n5.nabble.com/Camel-and-Spring-3-1-tp5550625p5553179.html
Sent from the Camel - Users mailing list archive at Nabble.com.







--
Jean-Baptiste Onofré
[email protected]
http://blog.nanthrax.net
Talend - http://www.talend.com




--
Jean-Baptiste Onofré
[email protected]
http://blog.nanthrax.net
Talend - http://www.talend.com

Reply via email to