[ 
https://issues.apache.org/jira/browse/ARIES-584?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13420725#comment-13420725
 ] 

Marcel Hanser commented on ARIES-584:
-------------------------------------

As I understand the OSGi Configuration Admin spec garantees that we are 
notified if there is already an existing configuration for a 
ManagedServiceFactory as the ConfigurationWatcher is one, so there is no need 
to additionally check it in the init() method? (See 104.6.2 OSGi compendium 
specification V 4.3 or 4.2).
{code}"When the Configuration Admin service detects the registration of a 
Managed Service Factory, it must find all configuration dictionaries for this 
factory and must then sequentially call 
ManagedServiceFactory.updated(String,Dictionary) for each configuration 
dictionary. The first argument is the PID of the Configuration object (the one 
created by the Configuration Admin service) and the second argument contains 
the configuration properties."{code}
This would also reduce the critical area for a deadlock. If you call the 
updated method on your own during the init() method the chance to get caught 
into the deadlock described here 
https://issues.apache.org/jira/browse/ARIES-867 increases. Clear: the deadlock 
situation is not totally  mitigated due to the service registration in the 
init() method, while holding the BlueprintContainer lock...
                
> Blueprint Managed Service Factory Instantiates Duplicate Service
> ----------------------------------------------------------------
>
>                 Key: ARIES-584
>                 URL: https://issues.apache.org/jira/browse/ARIES-584
>             Project: Aries
>          Issue Type: Bug
>          Components: Blueprint
>    Affects Versions: 0.2, 0.3
>         Environment: Mac OSX 10.6.6 / Equinox 3.6.1 / Felix Config Admin 
> 1.2.8 / Aries Blueprint 0.3 (and 0.2)
>            Reporter: Greg Rapp
>            Assignee: Guillaume Nodet
>             Fix For: 1.0
>
>         Attachments: logs.txt, org.apache.aries.blueprint.cm-0.3.1.patch, 
> org.apache.aries.blueprint.cm.patch-withtrunk.patch
>
>
> Creating a simple managed service factory, two services are instantiated for 
> a single factory configuration.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to