Hi Dan,
Totally agree. Gert already raised the Jira task about that.
The only thing is to first release ServiceMix 4.3.0.
Once it's done, we will used the OBR resolver (it will be included in
ServiceMix 4.4.0).
Anyway, I think that we can "classify" the bundle start level like this:
0 - low level system run level (OSGi related)
10 - kernel run level (related to Karaf bundles)
20 - API run level (JAXB API, SMX Specs, Geronimo Specs, etc)
30 - Impl run level (JAXB Impl, etc)
40 - Core application runtime (Aries Blueprint, Aries Transaction, etc)
50 - ServiceMix runtime (NMR, Camel, CXF, commands, JBI, etc)
100 - User applications (tiers bundles)
It's more to document and provide a clean view to the end users.
Regards
JB
On 01/10/2011 05:46 PM, Daniel Kulp wrote:
I'm definitely in support of this as well. I'd actually suggest taking it a
bit furthur and trying to define some sort of hiearchy of levels and put
things in more apprioriate places.
For example, it's definitely in the best interest of everything to get most of
the "api" bundles started up ASAP. Otherwise, you can easily get into
situations where some bundles use the "system" versions and othere use the
bundle version and such. Thus, it might be good to say level 20 is for all
the API jars and 25 for the "impls" or similar, just to make sure the API jars
are available real early. JAXB and JAX-WS API jars are really affected by
this pretty badly, especially with the 2.2 versions being a bit incompatible
with the version in the JDK.
Dan
On Monday 10 January 2011 11:01:21 am Kurt Westerfeld wrote:
I ran into a similar issue with system bundles being partially started with
Apache ODE and related startup issues. It was my suggestion then to start
system bundles< 60 and user bundles>60. Would this apply to all bundles
that are supplied with features on SMX (like ODE), or just select ones?
I'm highly in favor of this, btw.
Freeman Fang<[email protected]> 1/10/2011 4:32 AM>>>
Hi,
How about we specify start level for camel feature bundles less than
60, so that when restart servicemix, the camel related bundles always
get started before end users bundle, this can avoid lots of asyn
issues customer may encounter, such as camel component not available
yet when end users bundle get started.
Actually this discussion initially from fuse forum[1], and I'm not
very sure heavily depend on bundle start level is a good practice in
OSGi world, but I must admit that in servicemix camel should be
considered as a part of the framework, so give higher priority for
camel bundles seems OK.
Btw, karaf features already support specify start level, so it should
be doable in Servicemix to do it.
I'd like hear more voice, thoughts?
[1]http://fusesource.com/forums/thread.jspa?threadID=2493
TIA
Freeman