Hi Oliver,

Yes, if you want to see the "actual" values, you have to use config.getProcessedProperties() (containing interpolated values), whereas getProperties() only shows the "original" values.

Happy to help ;)

Regards
JB

On 25/01/2022 15:02, Oliver Fürniß wrote:
Hi JB,

thanks for the config:list hint. :-)

Looked at the Karaf source code of org.apache.karaf.config.command.ListCommand and it uses "config.getProcessedProperties(null)", but I'm using just config.getProperties() in my code which seems to return the unprocessed values. Problem solved! #thumbsup

All the best,
  Oliver

Am Di., 25. Jan. 2022 um 14:32 Uhr schrieb Jean-Baptiste Onofré <[email protected] <mailto:[email protected]>>:

    Hi Oliver,

    I think it just works fine but you don't look at right place ;)

    Actually, when you use the env variable, the config is updated in
    memory
    but not in the file.

    Let me illustrate this:

    1. I have a config file etc/org.ops4j.pax.web.cfg containing:

    org.osgi.service.http.port=8181

    2. I set the env variable:

    export ORG_OPS4J_PAX_WEB_ORG_OSGI_SERVICE_HTTP_PORT=8186

    3. The file is not changed but if you take a look on the config it
    actually uses 8186, as you can see in Karaf:

    karaf@root()> config:list "(service.pid=org.ops4j.pax.web)"
    ----------------------------------------------------------------
    Pid:            org.ops4j.pax.web
    BundleLocation: mvn:org.ops4j.pax.web/pax-web-runtime/7.3.23
    Properties:
         felix.fileinstall.filename =
    file:/home/jbonofre/Downloads/apache-karaf-4.3.5/etc/org.ops4j.pax.web.cfg
         javax.servlet.context.tempdir =
    /home/jbonofre/Downloads/apache-karaf-4.3.5/data/pax-web-jsp
         org.apache.karaf.features.configKey = org.ops4j.pax.web
         org.ops4j.pax.web.config.file =
    /home/jbonofre/Downloads/apache-karaf-4.3.5/etc/jetty.xml
         org.osgi.service.http.port = 8186
         service.pid = org.ops4j.pax.web


    So, you can check using config:list command in Karaf, it should be OK ;)

    Regards
    JB

    On 25/01/2022 14:19, Oliver Fürniß wrote:
     > Greetings,
     >
     > I try to overwrite a configuration (Karaf 4.3.3) by using
    environment
     > variables like mentioned in the Karaf documentation:
     >
    
https://svn.apache.org/repos/asf/karaf/site/production/manual/latest/configuration.html
    
<https://svn.apache.org/repos/asf/karaf/site/production/manual/latest/configuration.html>

     >
    
<https://svn.apache.org/repos/asf/karaf/site/production/manual/latest/configuration.html
    
<https://svn.apache.org/repos/asf/karaf/site/production/manual/latest/configuration.html>>
     >
     > It works fine for simple names like `sshPort`, but fails when the
     > variable name is separated by dots.
     >
     > Example:
     >
     > Config file:
     > [karaf]/etc/org.ops4j.pax.web.cfg
     >
     > Configuration to overwrite in file:
     > org.osgi.service.http.port = 8181
     >
     > Set environment variable:
     > export ORG_OPS4J_PAX_WEB_ORG_OSGI_SERVICE_HTTP_PORT=8186
     >
     > This does not set the new value. Something I'm doing wrong? Or
    maybe it
     > looks for a file called
    `org.ops4j.pax.web.org.osgi.service.http.cfg` to
     > set/overwrite 'port'?
     >
     > All the best,
     >   Oliver

Reply via email to