[
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.