[
https://issues.apache.org/jira/browse/FELIX-5050?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14902231#comment-14902231
]
German Vega edited comment on FELIX-5050 at 9/22/15 8:59 AM:
-------------------------------------------------------------
After some debugging, the problem comes from propagation of properties from the
ConfigurationHandler to the ProvidedServiceHandler.
The method ConfigurationHandler.propagate(Dictionary,Dictionary) 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)
just delete the property defintion from its table without verifying if it is a
declared service property (with a specified injected field). 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 field is accessed, the ProvidedServiceHandler just returns null
because it is not regsitered with any property
was (Author: gvega):
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)