Expand my Community achievements bar.

Not able to upgrade org.apache.felix.configadmin jar from 1.8.10 to 1.9.26.

Avatar

Level 1

Hi All,

 

I am facing an issue in upgrading the org.apache.felix.configadmin jar as in the latest version [1.9.26] they have changed the ConfigurationManager class , earlier ConfigurationManager of org.apache.felix.cm.impl was  implementing BundleActivator and BundleListner  both the interfaces ,  but in the latest version , the ConfigurationManager class is implementing only the BundleListner interface , and in order to call the ConfigurationManager's start() method ,  they have created a new starter class called ConfigurationAdminStarter  and the activate() method of ConfigurationAdminStater class is creating the object of ConfigurationManager.

 

This activate() method of ConfigurationAdminStater class takes the object of org.apache.felix.cm.impl.persistence.ExtPersistenceManager class object  as a parameter , so the question is how to create the object of this ExtPersistenceManager?

 

And there is one more question , even if we call this activate method and it will intialize ConfigurationManger class but now how we can give the call to the start method of ConfigurationManger class? Earlier it was implementing the BundleActivator class so  the osgi framework was giving the call to start method automatically as soon as bundle is getting active.

3 Replies

Avatar

Community Advisor

Hi @Anjali_Birla ,

ConfigurationManager represents a service for managing Configuration entries.
You can use getConfiguration(java.lang.String path) to return 
a Configuration object from the given path or null if the resource is not adaptable.


Thanks
Tarun

Avatar

Level 1

No , my issue is not with Configuration object, I am able to create the Configuration object , i am facing issue due to the ConfigurationManager  class of   org.apache.felix.cm.impl , Earlier this class was implementing BundleActivator , but in the latest version they have removed that BundleActivator.

 

And provided a explicit Activator , and i am using that activator by adding it in the MENIFEST.MF file using Bundle-Activator: org.apache.felix.cm.impl.Activator , now i am getting an error java.lang.NoSuchMethodError: org.apache.felix.cm.impl.CaseInsensitiveDictionary.put(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object; but the CaseInsensitiveDictionary does contain the put method as this class is implementing Dictonary class , still i am getitng NoSuchMethodError.

Avatar

Administrator

@Anjali_Birla Did you find the suggestions from users helpful? Please let us know if more information is required. Otherwise, please mark the answer as correct for posterity. If you have found out solution yourself, please share it with the community.



Kautuk Sahni