I read in another thread that the change made by ConfigAdmin will not propagated back to FileInstall. Too bad for this.
Is this going to be fixed? Or I need a another solution? On Wed, Oct 13, 2010 at 8:50 PM, LongkerDandy <[email protected]>wrote: > Hi > > Try to using FileInstall and ConfigAdmin together. > I can read the config properties from ConfigAdmin, > But I have problem to write it back. > Both FileInstall .cfg file and ConfigAdmin cache .config filw won't update. > My code is like: > > Configuration config = > configAdmin.getConfiguration("xxx.xxx.xxx.xxx"); > props = config.getProperties(); > props = new Hashtable(); > props.put("xxx", "xxx"); > config.update(props); > > Any clue? > > Thanks > LongkerDandy > > > > On Wed, Oct 13, 2010 at 3:21 PM, Felix Meschberger <[email protected]>wrote: > >> Hi, >> >> Just to clarify what the OSGi Configuration Admin Service is all about: >> >> - Allows Management Agents (administrators, tools, whatever) to manage >> configuration >> - Delivers configuration to interested parties >> - Persistently stores configuration >> >> A Configuration basically is just a Dictionary whose keys are strings >> (case-insensitive) and whose values are of a limited set of types, >> basically primitive types, their wrappers plus Collections or Arrays >> thereof. (For the OSGi R 4.3 release it is planed to have more >> interesting ways to describe configuration....) >> >> Back to your question: Yes you can use Configuration Admin for your >> configuration and yes you can put into the configuration whatever you >> want. >> >> To manage configuration you have a number of tools at your disposal: >> >> - Use the Web Console allowing for a simple GUI to configure values >> (makes use of the Metatype Service to describe configurations) >> - Use File Install to provide preconfigured configuration files to >> be loaded into the Configuration Admin service automatically. >> This tool also recognizes changes to files and thus updates >> configuration. >> - Do it yourself coding an application using the Configuration Admin >> Service API... >> >> IIRC the configuration files processed by File Install are more or less >> pure property files. >> >> Regards >> Felix >> >> On 13.10.2010 09:05, Christian Schneider wrote: >> > Hi, >> > >> > I am currently also evaluating the config admin service. I ported a >> > spring application to osgi and now have the problem where to put the >> > properties files. The property files contain db and jms connection >> infos. >> > Is config admin service the right tool for this job? >> > >> > I already succeeded in creating the config programmatically and using it >> > in spring with help of the spring osgi config admin support. As >> > implementation I used the felix cm bundle. What I do not like is that >> > the persisted files contain additional information compared to the >> > normal property files. So it is quite difficult to create and change >> > them by hand. If I only put the original properties into the file I even >> > get a nullpointer exception. >> > Is it possible to conffigure felix cm to work with pure propety files >> > that do not contain additional information or would you recommand >> > another aproach? >> > >> > Thanks >> > >> > Christian >> > >> > >> > Am 13.10.2010 08:14, schrieb Felix Meschberger: >> >> Hi, >> >> >> >> On 13.10.2010 05:55, LongkerDandy wrote: >> >>> Hi >> >>> >> >>> I'm try to use ConfigAdmin to save and load configurations. >> >>> The default place of the configurations is under the cache folder and >> >>> deep >> >>> into the ConfigAdmin bundle. >> >>> >> >>> I don't know it is designed like this. >> >> Yes, the default location is the bundle private data area provided by >> >> the framework through the BundleContext.getDataFile(String) method. >> >> >> >>> I should suppose to have some pre-defined configuration values, >> >>> And when I deliver my software there is no cache folder, how can I put >> i >> >>> into this. >> >>> >> >>> I try to change the configuration location to the felix/conf folder >> like >> >>> this: >> >>> felix.cm.dir=../../../conf >> >>> >> >>> But it complains about ".." reference. >> >>> >> >>> I also wondered if I can use the default "config.properties" with >> >>> ConfigAdmin >> >> You can use and you can change the setup. >> >> >> >> BUT: This is not to inject default configuration. This data area must >> be >> >> configured private to the Configuration Admin service because changes >> >> are expected to only be carried out by the Configuration Admin service. >> >> >> >> If you want to provide "default" configuration you might want to >> >> consider FileInstall and provide respective .cfg files. See [1] for >> more >> >> details. >> >> >> >> Hope this helps. >> >> >> >> Regards >> >> Felix >> >> >> >> [1] http://felix.apache.org/site/apache-felix-file-install.html >> >> >> >> --------------------------------------------------------------------- >> >> To unsubscribe, e-mail: [email protected] >> >> For additional commands, e-mail: [email protected] >> >> >> >> >> > >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [email protected] >> For additional commands, e-mail: [email protected] >> >> >

