felix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Carsten Ziegeler (JIRA)" <j...@apache.org>
Subject [jira] Work started: (FELIX-367) Autogenerated unbind method may incorrectly drop service
Date Mon, 17 Sep 2007 12:59:56 GMT

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

Work on FELIX-367 started by Carsten Ziegeler.

> Autogenerated unbind method may incorrectly drop service
> --------------------------------------------------------
>                 Key: FELIX-367
>                 URL: https://issues.apache.org/jira/browse/FELIX-367
>             Project: Felix
>          Issue Type: Bug
>          Components: Maven SCR Plugin
>            Reporter: Felix Meschberger
>            Assignee: Carsten Ziegeler
> The SCR plugin may generate an unbind method for references with unary cardinality if
no such method is available in the component class. The implementation of this method just
sets the internal field to null.
> According to the Declarative Services Specification, section 112.5.10, Bound Service
Replacement, the replacement of a service reference with unary cardinality occurrs in the
following order:
>    1. the new (replacement) service is bound by calling the bind method
>    2. the old (outgoing) service is unbound by calling the unbind method
> In the case of the current implementation unbinding the old (outgoing) service will actually
drop the new (replacement) service. A simple fix to this issue is to check whether the service
being unbound is actually the one currently bound, hence
>     private <Type> <name>
>     protected void unbind<Name>(<Type> <name>) {
>         if (this.<name> == <name>) {
>             this.<name> = null;
>         }
>     }
> This is not currently an issue but become an issue when fixing FELIX-366.

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

View raw message