camel-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Christian Schneider <>
Subject Re: [DISCUSS] - Thoughts on Apache Camel 2.18 and towards 3.0
Date Mon, 04 Apr 2016 07:28:00 GMT
On 01.04.2016 16:01, Quinn Stevenson wrote:
> One clarification on the bnd-maven-plugin configuration - it will inherit configuration
from parent bnd.bnd files, so we can have the common configuration we want in the top-level
directory, and only override it when needed.
> Also - there are some “information only” headers in put in the MANIFEST.MF now (like
Import-Service and Export-Service) - do we need those?
The Import-Service and Export-Service headers are not only for 
information. They are actually used at resolve time in karaf. Even more 
karaf 4 by default applies a strict validation
that for all services that are imported there is also an export. This is 
not defined in the OSGi specs and can also be switched off in karaf. It 
only applies though if we use the new
1.3.0 feature namespace.

As David wrote it makes sense to use the Capability headers instead of 
the service ones. As creating those headers by hand is quite a lot of 
effort I think we need to automate this process.
I created an issue for this a long time ago but never actually got it 
implemented. See
> As Christian said, the tools do a very good job of calculating imported packages.  Depending
on what we want exported, the Export-Package header may be configured globally as well.
For import I agree it should be done as automated as possible. Normally 
it should not be necessary to set global defaults for it.
For exports it depends how clean the design is. In an ideal OSGi design 
you would normally export. bnd can help with this by a new setting that 
only exports packages that also define a package version.

In Camel though users access a lot of the implementations too. So maybe 
the simplest thing is to export all packages by default.


Christian Schneider

Open Source Architect

View raw message