karaf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jean-Baptiste Onofré (JIRA) <j...@apache.org>
Subject [jira] [Commented] (KARAF-5843) Programmatically Created Configs are not persisted in `karaf.etc`
Date Sun, 12 Aug 2018 06:08:00 GMT

    [ https://issues.apache.org/jira/browse/KARAF-5843?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16577426#comment-16577426
] 

Jean-Baptiste Onofré commented on KARAF-5843:
---------------------------------------------

Do you have the {{felix.fileinstall.filename}} property in your configuration ?

> Programmatically Created Configs are not persisted in `karaf.etc`
> -----------------------------------------------------------------
>
>                 Key: KARAF-5843
>                 URL: https://issues.apache.org/jira/browse/KARAF-5843
>             Project: Karaf
>          Issue Type: Bug
>          Components: karaf-config
>    Affects Versions: 4.1.5
>            Reporter: Cetra Free
>            Priority: Major
>             Fix For: 4.2.1, 4.1.7
>
>
> When using OSGi's ConfigurationAdmin via a blueprint bean, it doesn't save the configuration
in the `etc` directory if the file doesn't exist before calling {{update(props)}}. 
> Rather it saves it in the file cache.
> I.e, if I update a config of `com.example.config` I'd expect that to be persisted in
the following location:
> {code:java}
> etc/com.example.config.cfg
> {code}
> Instead, I see it in this location:
> {code:java}
> data/cache/bundle8/data/config/com/example/config.config
> {code}
> If the file exists in the location beforehand, this appears to work OK.
> Example blueprint:
> {code:xml}
> <reference id="configurationAdmin" interface="org.osgi.service.cm.ConfigurationAdmin"/>
> <bean id="persistCheck" class="com.example.PersistCheck" init-method=" init" >
>     <property name="configurationAdmin" ref="configurationAdmin" />
> </bean>
> {code}
> Example Java Class:
> {code:java}
> import org.osgi.service.cm.Configuration;
> import org.osgi.service.cm.ConfigurationAdmin;
> import java.io.IOException;
> import java.util.Dictionary;
> import java.util.Hashtable;
> public class PersistCheck {
>     public ConfigurationAdmin getConfigurationAdmin() {
>         return configurationAdmin;
>     }
>     public void setConfigurationAdmin(ConfigurationAdmin configurationAdmin) {
>         this.configurationAdmin = configurationAdmin;
>     }
>     ConfigurationAdmin configurationAdmin;
>     public void init() throws IOException {
>         Configuration configuration = configurationAdmin.getConfiguration("com.example.config",
"?");
>         Dictionary<String, Object> props = new Hashtable<>();
>         configuration.update(props);
>     }
> }
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Mime
View raw message