[
https://issues.apache.org/jira/browse/FELIX-367?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Carsten Ziegeler updated FELIX-367:
-----------------------------------
Fix Version/s: (was: felix-1.0.0)
maven-scr-plugin-1.0.1
> 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
> Fix For: maven-scr-plugin-1.0.1
>
>
> 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.