You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Richard S. Hall (JIRA)" <ji...@apache.org> on 2009/10/30 20:45:59 UTC

[jira] Closed: (FELIX-1754) Usage of BundleContext.getServiceReferences results in failure to activate components

     [ https://issues.apache.org/jira/browse/FELIX-1754?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Richard S. Hall closed FELIX-1754.
----------------------------------

    Resolution: Fixed
      Assignee: Richard S. Hall

Thanks. Closing this as fixed. Please open a new bug report if additional issues are uncovered.

> Usage of BundleContext.getServiceReferences results in failure to activate components
> -------------------------------------------------------------------------------------
>
>                 Key: FELIX-1754
>                 URL: https://issues.apache.org/jira/browse/FELIX-1754
>             Project: Felix
>          Issue Type: Bug
>          Components: Framework
>    Affects Versions: felix-2.0.1
>            Reporter: Matthew Sykes
>            Assignee: Richard S. Hall
>            Priority: Minor
>             Fix For: felix-2.2.0
>
>         Attachments: assignable.diff, FELIX-1754.txt
>
>
> I'm attempting to move some code from Equinox to Felix that makes use of the declarative services 1.1 runtime.  Many of the components in our bundles declare multiple 'provide' elements in the service declaration .  In general these services consist of a standardized interface in one package and extensions to that interface in another.  Depending on the requirements of the code using the component, other bundles will declare their components with references to either the standardized interface or the extended interface.
> The issue I'm seeing is that the Felix SCR fails to activate some components because it's failing to resolve references to the service provided by another component.  It turns out that the SCR is using BundleContext.getServiceReferences instead of BundleContext.getAllServiceReferences to locate candidate services when resolving references.  Unfortunately, the getServiceReference flavor requires that the using bundle have access to all class names under which the target service was registered - not just the interface associated with the reference.
> Given the use-case I've described and the behavior of Equinox, I believe the Felix SCR should be using BundleContext.getAllServiceReferences(..) to resolve references and rely on the bundle creator to define the correct imports.

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