[
https://issues.apache.org/jira/browse/FELIX-4851?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14499763#comment-14499763
]
Simon Chemouil commented on FELIX-4851:
---------------------------------------
The fix seems to work for me. I have a test environment where the current
release of ConfigAdmin consistently fails at updating my DS components and
switching the configadmin impl with the current snapshot fixes the problem.
Tries a few times back and forth and it seems OK. Thanks a lot!
On a related note, the pax-exam integration tests on ConfigAdmin are failing
with deployment errors using mvn clean install. I had to skipTests to build the
snapshot. I know that's another issue, but for the record I have fixed it a few
weeks ago when I was having a look at the current issue and pushed it here
https://github.com/livingobjects/felix-configadmin. Please tell me if the build
is broken for you as well so that I can open another issue and extract a patch.
~cziegeler: I opened FELIX-4857 for the scr command issue.
> ConfigAdmin only forwards ConfigurationEvents to ConfigurationListeners which
> are provided by bundles that are in state ACTIVE
> ------------------------------------------------------------------------------------------------------------------------------
>
> Key: FELIX-4851
> URL: https://issues.apache.org/jira/browse/FELIX-4851
> Project: Felix
> Issue Type: Bug
> Components: Configuration Admin
> Affects Versions: configadmin-1.8.2
> Reporter: Jens Offenbach
> Assignee: David Bosschaert
> Priority: Critical
> Fix For: configadmin-1.8.4
>
>
> I am facing a serious problem with the Felix ConfigAdmin in combination with
> Felix SCR. Let us assume that the SCR bundle becomes activated at last and
> activates a component that creates a configuration which itself is a
> precondition for the instantiation of another component
> (ConfigurationPolicy#REQUIRE). In this case the Felix ConfigAdmin does not
> deliver the configuration update event to SCR, although SCR has registered a
> ConfigurationListener in the OSGi Service Registry.
> The problem is caused by line 2029 of the class ConfigurationManager
> (Version: 1.8.3-SNAPSHOT):
> {code}
> if ( listenerProvider[serviceIndex].getState() == Bundle.ACTIVE &&
> this.listeners[serviceIndex] != null )
> {code}
> In this scenario, the SCR bundle is in state STARTING and reaches the ACTIVE
> state directly after all available components have been activated. Because of
> missing Configuration Events caused by the Felix ConfigAdmin, SCR is not able
> to activate all those components whose preconditions are actually fulfilled.
> The problem does not occur in combination with the Equinox ConfigAdmin, which
> does not make the problematic bundle state check.
> I highly recommend removing the bundle state check and change line 2029 into:
> {code}
> if ( this.listeners[serviceIndex] != null ).
> {code}
> It is up to the developer to decide, in which bundle state configuration
> events are considered to be important or not. In the SCR scenario, the
> developers rely on the fact that configuration events are delivered
> independently of their bundle state.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)