Matthias created FELIX-4238:
-------------------------------
Summary: Unnecessary re-initialization of PersistenceManagers in
configadmin
Key: FELIX-4238
URL: https://issues.apache.org/jira/browse/FELIX-4238
Project: Felix
Issue Type: Bug
Components: Configuration Admin
Affects Versions: configadmin-1.6.0
Environment: MacOSX 10.8.5, Java 1.6.0_51, org.eclipse.osgi 3.9.0
Reporter: Matthias
Priority: Minor
Brief description: If the PersistenceManager is replaced during runtime (e.g.
after registering, unregistering and registering again), the
ConfigurationManager always re-initializes its list of PersistenceManagers.
Thus, no caching is possible and configurations are loaded unnecessarily.
Details: In the ConfigurationManager line 818 getTrackingCount() on the service
tracker for PersistenceManagers is called. If the number returned is different
to the number of currently known PersistenceManagers, then the list of
PersistenceManagers is re-initialized. This works fine as long as the list of
PersistenceManager increases. But if a PersistenceManager is unregistered,
getTrackingCount() returns an increased number but the number of known
PersistenceManagers is decreased. Thus, the if-condition in line 819 is always
true, which causes a re-initialization of the list of known PersistenceManagers.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira