You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@aries.apache.org by "Alasdair Nottingham (Resolved) (JIRA)" <ji...@apache.org> on 2012/02/14 20:33:59 UTC

[jira] [Resolved] (ARIES-829) ReferenceListRecepie releases using the wrong BundleContext

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

Alasdair Nottingham resolved ARIES-829.
---------------------------------------

    Resolution: Fixed
    
> ReferenceListRecepie releases using the wrong BundleContext
> -----------------------------------------------------------
>
>                 Key: ARIES-829
>                 URL: https://issues.apache.org/jira/browse/ARIES-829
>             Project: Aries
>          Issue Type: Bug
>          Components: Blueprint
>    Affects Versions: blueprint-0.3.1
>            Reporter: Alasdair Nottingham
>            Assignee: Alasdair Nottingham
>
> Looking at ARIES-828 logs I spotted an IllegalStateException in ReferenceListRecipe.ServiceDispatcher.destory on the following line:
> ctx.ungetService(ref);
> so of course I looked and thought, ah we should just catch the IllegalStateException and move on, we get that if the service doesn't exist anymore, so who cares. Then I spotted the context. It does this:
>                 Bundle bundle = ref.getBundle();
>                 if (bundle != null) {
>                     BundleContext ctx = bundle.getBundleContext();
>                     if (ctx != null) {
>                           ctx.ungetService(ref);
>                     }
>                 }
> This means we are using the bundle context of the bundle that registered the service to unget it. The code where we do a lookup says this:
> getBundleContextForServiceLookup().getService(reference);
> which returns in the general case the BundleContext for the BlueprintContainer. So we get using the bundle context of the blueprint bundle that uses the service, and unget using the bundle context of the bundle providing the service. I know I'm having a bad day but my eyes sprung out on stalks when I saw this.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira