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

Jean-Baptiste Onofré updated ARIES-1841:
----------------------------------------
    Summary: Cleanup on cm-properties  (was: Race condition on blueprint-cm 
with ConfigAdmin)

> Cleanup on cm-properties
> ------------------------
>
>                 Key: ARIES-1841
>                 URL: https://issues.apache.org/jira/browse/ARIES-1841
>             Project: Aries
>          Issue Type: Bug
>          Components: Blueprint
>    Affects Versions: blueprint-core-1.9.0, blueprint-core-1.8.3
>            Reporter: Jean-Baptiste Onofré
>            Assignee: Jean-Baptiste Onofré
>            Priority: Major
>             Fix For: blueprint-core-1.8.4, blueprint-core-1.9.1
>
>
> If a blueprint bundle use CM like:
> {code}
> <cm-properties persistent-id="persistentId" id="my.config" 
> xmlns="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.2.0"/>
> {code}
> if the configuration is created by another bundle (directly using 
> {{ConfigurationAdmin}}) like:
> {code}
>         Configuration configuration = 
> configurationAdmin.getConfiguration(CONFIG_PID, null);
>         Dictionary<String, Object> dictionary = 
> Optional.ofNullable(configuration.getProperties()).orElse(new Hashtable());
>         for (Map.Entry entry : properties.entrySet()) {
>             dictionary.put(entry.getKey().toString(), entry.getValue());
>         }
>        configuration.update(dictionary);
> {code}
> then, it's possible to have a race condition where the blueprint container 
> thread starts whereas the config update is not complete (two different 
> threads).
> Blueprint CM should have an option to wait an updated config. For instance, 
> it could check {{\_felix\_.cm.newConfiguration}} property.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to