You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Claus Ibsen (JIRA)" <ji...@apache.org> on 2015/09/07 12:27:46 UTC
[jira] [Updated] (CAMEL-8046) Use OSGi capabilities to offer
components
[ https://issues.apache.org/jira/browse/CAMEL-8046?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Claus Ibsen updated CAMEL-8046:
-------------------------------
Fix Version/s: (was: 2.16.0)
2.17.0
Future
> Use OSGi capabilities to offer components
> -----------------------------------------
>
> Key: CAMEL-8046
> URL: https://issues.apache.org/jira/browse/CAMEL-8046
> Project: Camel
> Issue Type: New Feature
> Components: osgi
> Affects Versions: 2.14.0
> Reporter: Christian Schneider
> Assignee: Christian Schneider
> Fix For: Future, 2.17.0
>
>
> Currently bundles using camel detect components at runtime.
> If a component is missing then there are two cases:
> - blueprint : The user bundle goes into graceperiod status and waits for the component to come up. In case the component is still missing there is a failure.
> - In other cases: Camel will simply display and error about the missing component.
> The proper OSGi way to handle camel components would be to use capabilities and requirements.
> See
> http://wiki.osgi.org/wiki/Provide-Capability
> http://wiki.osgi.org/wiki/Require-Capability
> So a bundle offering a component should have a capability to express that as well as the user bundle should have a requirement for the capability.
> This will even allow a suitable OSGi resolver to auto install bundles that match the required capabilties. In any case it will make sure the required components are installed before the user bundle starts.
> So to support this the first decision is how to name the capability.
> I propose: "org.apache.camel.component".
> Then we have to decide how we name the components. I propose we use the component prefix. E.g "file" for the file component.
> The next thing is to add the Provide-Capability headers to the components. This has to be done before the users start creating Require-Capability headers.
> To automate this step I propose to create a maven plugin that scans for META-INF/services/org/apache/camel/component/* files and creates suitable headers.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)