You just have to install a fragment bundle that exports the needed packages.
From this moment on the packages will be available to the other bundles. So a low start level would be good but the user will get meaningfull error messages even when the bundle is not installed.

So if we document that the users should install one of the two features there should not be much confusion.

Christian


Am 27.12.2011 00:15, schrieb David Jencks:
In principle this seems like a very promising idea.  I have never used a 
fragment bundle hosted by the system bundle.  Can you outline how this would 
work?  Would a system bundle refresh be needed to pick up the fragment?  What 
would trigger the refresh?  When?  Only on the first startup or every time 
karaf starts?

I still thought the karaf-activator idea was proposed because there is no way 
to make completely bundleized spec jars work due to either xerces or xalan in 
the jre, so I'm not convinced that we won't need to always export the spec 
packages.  However this would at least give us a fairly manageable way to set 
the package versions on the specs.

thanks!
david jencks

On Dec 26, 2011, at 12:09 PM, Christian Schneider wrote:

I am +1 for not exporting the packages by default in the system bundle.

I also have an idea how we could create an environment for people who do not 
want the improved bundles.

I propose that we provide two (sets of) features:

1. jaxb, stax, ... from jre
These are just fragment bundles to the system bundle that export the packages. 
So by installing these bundles
you get the current behaviour of karaf

2. improved jaxb, stax, .. like used for servicemix, cxf, camel
These will make cxf and camel behave like expected

The reason why I prefer this aproach over the current setup of simply exporting 
the packages from the system bundle is that it makes
installing cxf and camel much easier and at the same time also allows people to use 
"pure OSGi" like Guillaume wrote.

Christian

Am 26.12.2011 16:04, schrieb Jean-Baptiste Onofré:
Hi all,

We have currently an issue in Camel and CXF with the default jre.properties and 
some exported packages (like JAXB, etc).

Currently, by default, the jre.properties exports all packages from the JRE.

I would like to propose a new approach:
1/ remove packages with problem by default from the jre.properties
2/ add a set of Karaf features (in bootFeatures by default) to install bundles 
providing the packages (JAXB, etc)

It's a quick workaround for next Karaf 2.2.6 and Karaf 3.0.

We can find a more elegant solution. I have some solutions in mind:
- new properties in the jre.properties to define an "override" flag
- add a KARAF-INF/* files to define some behaviors (like overriding system 
packages)

Feel free to propose your ideas for this problem.

Please:
[ ] +1 to remove the packages from the jre.properties and provide a set of 
Spec/API features in Karaf
[ ] 0
[ ] -1 for that (please provide arguments)
Ideas (if you have ;)):

Thanks
Regards
JB

--

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
Talend Application Integration Division http://www.talend.com

Reply via email to