[
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