camel-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Claus Ibsen (JIRA)" <>
Subject [jira] [Updated] (CAMEL-8046) Use OSGi capabilities to offer components
Date Thu, 18 Feb 2016 15:54:18 GMT


Claus Ibsen updated CAMEL-8046:
    Fix Version/s:     (was: 2.17.0)

> Use OSGi capabilities to offer components
> -----------------------------------------
>                 Key: CAMEL-8046
>                 URL:
>             Project: Camel
>          Issue Type: New Feature
>          Components: osgi
>    Affects Versions: 2.14.0
>            Reporter: Christian Schneider
>            Assignee: Christian Schneider
>             Fix For: Future
> 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
> 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

View raw message