I think the is a good approach.

Best,
Christian


On Mon, Nov 3, 2014 at 8:05 PM, Daniel Kulp <dk...@apache.org> wrote:

>
> I went ahead and fixed this more “properly”.
>
> Basically, I updated the Spring version range in the bundle manifests to
> allow 4.x for the imports.  It IS possible (with a BUNCH of restrictions)
> to use Spring 4 in OSGi, just not with spring-dm.   Thus, allowing the
> import is important.
>
> However, for the karaf features.xml file, I restricted it to 3.x since the
> features file also installs spring-dm.   Thus, when using Karaf, you will
> get spring3.2.x and spring-dm.   The tests thus pass (other than a couple
> tests that are failing for me, but they are failing without this change as
> well).
>
> Dan
>
>
>
> > On Nov 1, 2014, at 6:23 AM, Claus Ibsen <claus.ib...@gmail.com> wrote:
> >
> > -1
> >
> > You cannot use spring 4.x in karaf/osgi as spring-dm fails, and you
> > get a ton of errors. Try running
> >
> > cd tests
> > cd camel-itest-osgi
> > mvn clean install
> >
> > And you get errors such as
> >
> > 2014-11-01 11:22:02,028 | INFO  | FelixStartLevel  | Activator
> >               | 69 - org.apache.camel.camel-core - 2.15.0.SNAPSHOT |
> > Camel activator started
> > ERROR: Bundle org.apache.camel.camel-spring [91] Error starting
> > mvn:org.apache.camel/camel-spring/2.15-SNAPSHOT
> > (org.osgi.framework.BundleException: Uses constraint violation. Unable
> > to resolve bundle revision org.apache.camel.camel-spring [91.0]
> > because it is exposed to package
> > 'org.springframework.beans.factory.support' from bundle revisions
> > org.apache.servicemix.bundles.spring-beans [80.0] and
> > org.apache.servicemix.bundles.spring-beans [74.0] via two dependency
> > chains.
> >
> > Chain 1:
> >  org.apache.camel.camel-spring [91.0]
> >    import:
> (&(osgi.wiring.package=org.springframework.beans.factory.support)(version>=3.2.0)(!(version>=4.2.0)))
> >     |
> >    export: osgi.wiring.package=org.springframework.beans.factory.support
> >  org.apache.servicemix.bundles.spring-beans [80.0]
> >
> > Chain 2:
> >  org.apache.camel.camel-spring [91.0]
> >    import:
> (&(osgi.wiring.package=org.springframework.transaction.support)(version>=3.2.0)(!(version>=4.2.0)))
> >     |
> >    export: osgi.wiring.package=org.springframework.transaction.support;
> > uses:=org.springframework.aop.scope
> >  org.apache.servicemix.bundles.spring-tx [89.0]
> >    import:
> (&(osgi.wiring.package=org.springframework.aop.scope)(version>=4.0.5.RELEASE)(!(version>=4.1.0)))
> >     |
> >    export: osgi.wiring.package=org.springframework.aop.scope;
> > uses:=org.springframework.beans.factory.support
> >  org.apache.servicemix.bundles.spring-aop [75.0]
> >    import:
> (&(osgi.wiring.package=org.springframework.beans.factory.support)(version>=4.0.5.RELEASE)(!(version>=4.1.0)))
> >     |
> >    export: osgi.wiring.package=org.springframework.beans.factory.support
> >  org.apache.servicemix.bundles.spring-beans [74.0])
> > org.osgi.framework.BundleException: Uses constraint violation. Unable
> > to resolve bundle revision org.apache.camel.camel-spring [91.0]
> > because it is exposed to package
> > 'org.springframework.beans.factory.support' from bundle revisions
> > org.apache.servicemix.bundles.spring-beans [80.0] and
> > org.apache.servicemix.bundles.spring-beans [74.0] via two dependency
> > chains.
> >
> > Chain 1:
> >  org.apache.camel.camel-spring [91.0]
> >    import:
> (&(osgi.wiring.package=org.springframework.beans.factory.support)(version>=3.2.0)(!(version>=4.2.0)))
> >     |
> >    export: osgi.wiring.package=org.springframework.beans.factory.support
> >  org.apache.servicemix.bundles.spring-beans [80.0]
> >
> > Chain 2:
> >  org.apache.camel.camel-spring [91.0]
> >    import:
> (&(osgi.wiring.package=org.springframework.transaction.support)(version>=3.2.0)(!(version>=4.2.0)))
> >     |
> >    export: osgi.wiring.package=org.springframework.transaction.support;
> > uses:=org.springframework.aop.scope
> >  org.apache.servicemix.bundles.spring-tx [89.0]
> >    import:
> (&(osgi.wiring.package=org.springframework.aop.scope)(version>=4.0.5.RELEASE)(!(version>=4.1.0)))
> >     |
> >    export: osgi.wiring.package=org.springframework.aop.scope;
> > uses:=org.springframework.beans.factory.support
> >  org.apache.servicemix.bundles.spring-aop [75.0]
> >    import:
> (&(osgi.wiring.package=org.springframework.beans.factory.support)(version>=4.0.5.RELEASE)(!(version>=4.1.0)))
> >     |
> >    export: osgi.wiring.package=org.springframework.beans.factory.support
> >  org.apache.servicemix.bundles.spring-beans [74.0]
> > at
> org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:4006)
> > at org.apache.felix.framework.Felix.startBundle(Felix.java:2045)
> > at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1299)
> > at
> org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:304)
> > at java.lang.Thread.run(Thread.java:744)
> >
> >
> > I am reverting the import range to limit spring as 3.x
> >
> >
> > On Thu, Oct 30, 2014 at 7:35 PM,  <cmuel...@apache.org> wrote:
> >> Repository: camel
> >> Updated Branches:
> >>  refs/heads/master 3e77f050d -> f1b2010b1
> >>
> >>
> >> CAMEL-7887: Executing of 'mvn clean install -Pvalidate' in
> camel/platforms/karaf/features is failing
> >>
> >>
> >> Project: http://git-wip-us.apache.org/repos/asf/camel/repo
> >> Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/f1b2010b
> >> Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/f1b2010b
> >> Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/f1b2010b
> >>
> >> Branch: refs/heads/master
> >> Commit: f1b2010b14ade983cfd69432611a31b2ff19d1f4
> >> Parents: 3e77f05
> >> Author: Christian Mueller <cmuel...@apache.org>
> >> Authored: Thu Oct 30 19:34:40 2014 +0100
> >> Committer: Christian Mueller <cmuel...@apache.org>
> >> Committed: Thu Oct 30 19:34:56 2014 +0100
> >>
> >> ----------------------------------------------------------------------
> >> parent/pom.xml | 3 +--
> >> 1 file changed, 1 insertion(+), 2 deletions(-)
> >> ----------------------------------------------------------------------
> >>
> >>
> >>
> http://git-wip-us.apache.org/repos/asf/camel/blob/f1b2010b/parent/pom.xml
> >> ----------------------------------------------------------------------
> >> diff --git a/parent/pom.xml b/parent/pom.xml
> >> index 92b27c4..c58fee8 100644
> >> --- a/parent/pom.xml
> >> +++ b/parent/pom.xml
> >> @@ -409,8 +409,7 @@
> >>     <spring-ldap-version>1.3.1.RELEASE</spring-ldap-version>
> >>
>  <spring-ldap-bundle-version>1.3.1.RELEASE_2</spring-ldap-bundle-version>
> >>     <spring-retry-version>1.0.3.RELEASE</spring-retry-version>
> >> -    <!-- spring-dm does not support spring 4.x so import-range must be
> 3.x only until a solution in karaf exists -->
> >> -    <spring-version-range>[3.2,4)</spring-version-range>
> >> +    <spring-version-range>[3.2,4.2)</spring-version-range>
> >>     <spring-version>${spring4-version}</spring-version>
> >>     <spring32-version>3.2.11.RELEASE</spring32-version>
> >>     <spring40-version>4.0.7.RELEASE</spring40-version>
> >>
> >
> >
> >
> > --
> > Claus Ibsen
> > -----------------
> > Red Hat, Inc.
> > Email: cib...@redhat.com
> > Twitter: davsclaus
> > Blog: http://davsclaus.com
> > Author of Camel in Action: http://www.manning.com/ibsen
> > hawtio: http://hawt.io/
> > fabric8: http://fabric8.io/
>
> --
> Daniel Kulp
> dk...@apache.org - http://dankulp.com/blog
> Talend Community Coder - http://coders.talend.com
>
>

Reply via email to