Rudi Vankeirsbilck created FELIX-6280:
-----------------------------------------

             Summary: Custom persistence manager no longer working under jdk14
                 Key: FELIX-6280
                 URL: https://issues.apache.org/jira/browse/FELIX-6280
             Project: Felix
          Issue Type: Bug
          Components: Configuration Admin
         Environment: jdk14
            Reporter: Rudi Vankeirsbilck
         Attachments: ConfigurationPersistenceManager.java

The project that I am working is currently still using jdk8 but we are planning 
to move to jdk14 and is using a customĀ org.apache.felix.cm.PersistenceManager 
that stores the configuration information in a SQL database. I have attached 
the sources (see ConfigurationPersistenceManager.java)

First thing I did was to upgrade to felix 6.0.3 (was using 5.6.1 before) and 
upgraded the sub projects that we use to the most recent version. We are using 
SCR 1.9.16.

After the upgrade, the components did not really seem to startup correctly. I 
could narrow down some of the problem to one component that is not active and 
requires configuration information from my custom persistence manager. In the 
component overview it is marked as "no config". When I go edit the 
configuration, all of the values that are stored in the database are 
effectively there. Also when I start felix and attach a remote debugger to it, 
it invokes my custom persistence manager and it returns the configuration for 
the requested component. When I then save the component, my custom persistence 
manager is invoked again and does not produce any errors but when I continue to 
trace in the debugger, I end up inĀ 
org.apache.felix.cm.impl.UpdateThread#schedule(Runnable) that is adding an 
object to "updateTasks" LinkedList and subsequently invokes notifyAll() on it. 
This is happening time and time again, i.e. each time I save the configuration 
an element is added to updateTasks but the component but the thread that is 
intended to pickup the event is not responding 
(org.apache.felix.cm.impl.UpdateThread#run()) is never removing any elements 
from updateTasks. Also, the component whose configuration I updated is never 
getting an its activate method invoked.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to