Thanks Claus, I'm on it. ------------- Freeman(Yue) Fang
Red Hat, Inc. FuseSource is now part of Red Hat Web: http://fusesource.com | http://www.redhat.com/ Twitter: freemanfang Blog: http://freemanfang.blogspot.com http://blog.sina.com.cn/u/1473905042 weibo: @Freeman小屋 On 2013-1-10, at 下午4:25, Claus Ibsen wrote: > On Sat, Jan 5, 2013 at 12:25 PM, Freeman Fang <[email protected]> wrote: >> Hi Claus, >> >> I'm +1 for this change, could you please file a jira to track it? > > I logged a ticket > https://issues.apache.org/jira/browse/KARAF-2105 > > Freeman or Jean if any of you got free cycles. Then it would be great > to work on this. > And get a SNAPSHOT .tar ball of karaf 2.3.x. Then I can help give that > a test drive > with the Camel 2.11 SNAPSHOT, to see if its fixed. > > > >> Thanks >> ------------- >> Freeman(Yue) Fang >> >> Red Hat, Inc. >> FuseSource is now part of Red Hat >> Web: http://fusesource.com | http://www.redhat.com/ >> Twitter: freemanfang >> Blog: http://freemanfang.blogspot.com >> http://blog.sina.com.cn/u/1473905042 >> weibo: @Freeman小屋 >> >> On 2013-1-5, at 下午7:11, Claus Ibsen wrote: >> >>> Hi >>> >>> In the Apache Karaf 2.3.0 distribution, there is a standard features >>> file which has a number of spring features. >>> >>> Take a look in this file: >>> http://repo2.maven.org/maven2/org/apache/karaf/assemblies/features/standard/2.3.0/standard-2.3.0-features.xml >>> >>> Notice that there is 3 different spring versions supported >>> - 2.5.6 >>> - 3.0 >>> - 3.1 >>> >>> The first two (2.5.6 and 3.0) have the same name "spring" but differs >>> in the version attribute. >>> And only Spring 3.1 has its own feature name "spring31". >>> >>> This is a very unfortunately problem, as it makes it much header to >>> re-use the Karaf features for >>> referring to Spring. >>> >>> So for example in Apache Camel we do that. But it makes it impossible >>> for us to refer to Spring 3.1 as our choice. >>> >>> Or better yet, we want to say >>> <feature version="[3.1,4)">spring</feature> >>> >>> eg to refer to the "spring" feature with the version range of Spring >>> 3.1 or better. >>> >>> Today we have to hardcode the name >>> <feature version="[3.1,4)">spring31</feature> >>> >>> So we can do this in Apache Camel, but then we are locked down on >>> Spring 3.1. And people want to use Spring 3.2 >>> is left out in the dark. >>> >>> And the 2nd problem is that when you install spring-dm, then you >>> cannot pick the Spring version you want, but instead >>> as it does it wrong: >>> >>> <feature name="spring-dm" description="Spring DM support" >>> version="1.2.1" resolver="(obr)"> >>> <feature version="[2.5.6,4)">spring</feature> >>> >>> Notice that spring-dm refers to a feature with the name "spring". But >>> Karaf only offers this name as Spring 2.5 or 3.0. >>> So if you install spring-dm you force installing Spring 3.0 also. >>> >>> So that mean you end up having both Spring 3.0 and 3.1. And that is >>> not what you want. >>> >>> [ 60] [Active ] [ ] [ ] [ 50] camel-core >>> (2.11.0.SNAPSHOT) >>> [ 61] [Active ] [Created ] [ ] [ 50] >>> camel-karaf-commands (2.11.0.SNAPSHOT) >>> [ 62] [Active ] [Created ] [ ] [ 50] camel-blueprint >>> (2.11.0.SNAPSHOT) >>> [ 63] [Active ] [ ] [ ] [ 30] Apache >>> ServiceMix :: Bundles :: aopalliance (1.0.0.6) >>> [ 64] [Active ] [ ] [ ] [ 30] Spring Core >>> (3.1.2.RELEASE) >>> [ 65] [Active ] [ ] [ ] [ 30] Spring ASM >>> (3.1.2.RELEASE) >>> [ 66] [Active ] [ ] [ ] [ 30] Spring >>> Expression Language (3.1.2.RELEASE) >>> [ 67] [Active ] [ ] [ ] [ 30] Spring Beans >>> (3.1.2.RELEASE) >>> [ 68] [Active ] [ ] [ ] [ 30] Spring AOP >>> (3.1.2.RELEASE) >>> [ 69] [Active ] [ ] [ ] [ 30] Spring Context >>> (3.1.2.RELEASE) >>> [ 70] [Active ] [ ] [ ] [ 30] Spring Context >>> Support (3.1.2.RELEASE) >>> [ 71] [Active ] [ ] [ ] [ 30] Spring >>> Transaction (3.1.2.RELEASE) >>> [ 72] [Active ] [ ] [ ] [ 80] >>> geronimo-jta_1.1_spec (1.1.1) >>> [ 73] [Active ] [ ] [ ] [ 30] Spring Core >>> (3.0.7.RELEASE) >>> [ 74] [Active ] [ ] [ ] [ 30] Spring ASM >>> (3.0.7.RELEASE) >>> [ 75] [Active ] [ ] [ ] [ 30] Spring >>> Expression Language (3.0.7.RELEASE) >>> [ 76] [Active ] [ ] [ ] [ 30] Spring Beans >>> (3.0.7.RELEASE) >>> [ 77] [Active ] [ ] [ ] [ 30] Spring AOP >>> (3.0.7.RELEASE) >>> [ 78] [Active ] [ ] [ ] [ 30] Spring Context >>> (3.0.7.RELEASE) >>> [ 79] [Active ] [ ] [ ] [ 30] Spring Context >>> Support (3.0.7.RELEASE) >>> [ 80] [Active ] [ ] [ ] [ 30] Apache >>> ServiceMix :: Bundles :: cglib (2.2.2.1) >>> [ 81] [Active ] [ ] [ ] [ 30] spring-osgi-io (1.2.1) >>> [ 82] [Active ] [ ] [ ] [ 30] spring-osgi-core >>> (1.2.1) >>> [ 83] [Active ] [ ] [ ] [ 30] >>> spring-osgi-extender (1.2.1) >>> [ 84] [Active ] [ ] [ ] [ 30] >>> spring-osgi-annotation (1.2.1) >>> >>> >>> >>> So I suggest that this is fixed so the Karaf features will use the >>> name "spring" for all its spring features. >>> And then use version ranges. >>> >>> Then people can pick the spring version of choice. >>> >>> And as Spring 3.2 is GA I also suggest to add that Spring as a version >>> that comes out of the box. >>> >>> >>> Would this be possible to fix in a Karaf 2.3.1 release? >>> Otherwise we cannot offer easy of use with Karaf and Camel anymore. >>> >>> >>> >>> -- >>> Claus Ibsen >>> ----------------- >>> Red Hat, Inc. >>> FuseSource is now part of Red Hat >>> Email: [email protected] >>> Web: http://fusesource.com >>> Twitter: davsclaus >>> Blog: http://davsclaus.com >>> Author of Camel in Action: http://www.manning.com/ibsen >> > > > > -- > Claus Ibsen > ----------------- > Red Hat, Inc. > FuseSource is now part of Red Hat > Email: [email protected] > Web: http://fusesource.com > Twitter: davsclaus > Blog: http://davsclaus.com > Author of Camel in Action: http://www.manning.com/ibsen
