felix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Felix Meschberger (JIRA)" <j...@apache.org>
Subject [jira] Commented: (FELIX-884) OBR should expose registered services as capabilities of local repository
Date Sun, 18 Jan 2009 18:31:59 GMT

    [ https://issues.apache.org/jira/browse/FELIX-884?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12664991#action_12664991

Felix Meschberger commented on FELIX-884:

I don't think that it is required currently to track services, since the LocalRepositoryImpl
and hence the LocalResourceInstances only live for the duration of the Resolver.resolve()
and subsequent Resolver.deploy() call. In particular the deploy() method fails if a bundle
changes state between the resolve() and the deploy() method call.

What we might do is add a service listener which invalidates the LocalRepositoryImpl in the
same way as a bundle change invalidates it. But I am not sure, whether we should really react
to service changes.

If that changes, listening for service changes might make sense.

(this is highlights another potential issue: The LocalRepositoryImpl constructor causes a
SynchronizedBundleListener to be registered, which is only unregistered when the LocaleRepositoryImpl.dispose()
method is called or when the OBR bundle is stopped. Maybe the deploy() method should dispose
the LocalRepositoryImpl when finishing. But this is a side-track).

> OBR should expose registered services as capabilities of local repository
> -------------------------------------------------------------------------
>                 Key: FELIX-884
>                 URL: https://issues.apache.org/jira/browse/FELIX-884
>             Project: Felix
>          Issue Type: Improvement
>          Components: Bundle Repository (OBR)
>    Affects Versions: bundlerepository-1.2.0
>            Reporter: Felix Meschberger
>         Attachments: FELIX-884.patch
> The OBR implementation exposes the current state of the framework as a Repository, the
LocalRepository. This provides the installed bundles as parts provided by a repository with
their capabilities. These capabilities do not currently only reflect the currently installed
set of bundles and their static setup such as package import/export and service import/export.
The actually registered services, though are not exposed as capabilities whatsoever.
> So if for example, the OPS4J Pax Web Service bundle registers an HttpService instance.
But this fact is not reflected by a ExportService header. Trying to install a bundle from
the OBR which requires an HttpService fails, since the actually registered HttpService is
not provided as a capability.
> I suggest, the LocalRepository exposes all registered services (just their names would
probably do it) as capabilities of the system bundle. This is not entirely correct but should
probably be enough to satisfy the requirements of bundles.
> WDYT ?
> Ref: Discussion on user list at http://markmail.org/message/ivkdvhpk4gclkylv

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message