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

Reply via email to