I checked ConfigurationPID and pid is create by this method : public static ConfigurationPID parseFilename(final String filename) { final String pid = filename.substring(0, filename.lastIndexOf('.')); return parsePid(pid); }
As for me it would be better if parseFilename created pid also from a file extension, what do you mean? Pid will be the same i.e .cfg .config .cfg.json all will have the same pid. Jakub On Wed, Jun 14, 2023 at 7:30 AM Jean-Baptiste Onofré <j...@nanthrax.net> wrote: > > Hi > > Yes, by default the suffix is .cfg.json > (https://github.com/apache/karaf/blob/main/config/src/main/java/org/apache/karaf/config/core/impl/JsonConfigInstaller.java#L49). > > You can override the suffix by using karaf.json.config.extension > system property (in the etc/config.properties for instance) or > KARAF_JSON_CONFIG_EXTENSION env variable. > > Regards > JB > > On Tue, Jun 13, 2023 at 8:45 PM Jakub Herkel <jher...@gmail.com> wrote: > > > > Hello, > > > > I tried to use a json configuration with Karaf 4.4.3. For example I > > created a test.cfg.json: > > { > > "test1":"testString", > > "test2":false > > } > > > > I can see that Karaf read this config viac config:list > > > > Pid: test.cfg > > BundleLocation: ? > > Properties: > > felix.fileinstall.filename = > > file:/home/jakub/java/apache-karaf-4.4.3/etc/test.cfg.json > > service.pid = test.cfg > > test1 = testString > > test2 = false > > > > But what is little surprise for me is that a service pid is > > "test.cfg". I assume that cfg.json is an extension for json files in > > the Karaf and the service pid is constructed as <pid>.cfg.json. We > > have lot of blueprints where config (with cfg extension) is referenced > > with "<pid>.cfg" scheme. That is why I will have to change lot of > > files if it is necessary to append .cfg for every > > cm:managed-properties elements. > > So is there any way how to create json configuration with service pid > > without .cfg suffix? I.e service.pid = test. > > > > Thanks for any advice > > > > with best regards > > > > Jakub