[
https://issues.apache.org/jira/browse/FELIX-5050?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14902231#comment-14902231
]
German Vega commented on FELIX-5050:
------------------------------------
After some debugging, the problem comes from propagation of properties from the
ConfigurationHandler to the ProvidedServiceHandler.
The method ConfigurationHandler.propagate(Dictionary newProps, Dictionary
oldProps) invoke the provided service handler to first remove all properties
and then adds again the properties with the new values. This is ok, as this is
the only API available provided by the ProvidedServiceHandler to update the
service registration.
The problem is that the method ProvidedService.deleteProperties(Dictionary
props) just delete the property defintion from its table without verifying if
it is a declared service property (with a specified injected filed). When the
property is again added by the propagation the update seems to work, but the
information about the injected fields is lost.
When the filed is accessed, the ProvidedServiceHandler just returns null
because it is not regsitered with any property
> Reconfiguring a component with mixing configurable properties and service
> properties injected fields produces an error
> ----------------------------------------------------------------------------------------------------------------------
>
> Key: FELIX-5050
> URL: https://issues.apache.org/jira/browse/FELIX-5050
> Project: Felix
> Issue Type: Bug
> Components: iPOJO
> Affects Versions: ipojo-runtime-1.12.1
> Reporter: German Vega
> Attachments: bugs.ipojo.property.reconfiguration.zip
>
>
> When a component using BOTH configurable properties and service properties is
> reconfigured, the value of the field for the service property is not
> correctly injected.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)