felix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Pieter (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (FELIX-3395) Make preferences persistence location configurable
Date Wed, 14 Mar 2012 21:28:40 GMT

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

Pieter commented on FELIX-3395:
-------------------------------

Actually, thas was my first attempt to fix this. Since what I wanted was just a small extension
to DataFileBackingStoreImpl, I started by subclassing that store and registering it as a service.
Only change needed was setting the protected rootdirectory property. However, since rootdirectory
is final, I could not do that, so I ended up copying DataFileBackingStoreImpl and adding a
line. If you would make that property not final, that would help too.
                
> Make preferences persistence location configurable
> --------------------------------------------------
>
>                 Key: FELIX-3395
>                 URL: https://issues.apache.org/jira/browse/FELIX-3395
>             Project: Felix
>          Issue Type: Wish
>          Components: Preferences Service
>            Reporter: Pieter
>
> I want Preference Service to persist stored preferences and have them survive system
restarts. Preference Service stores its stuff in the OSGi frameworks' cache region, which
get cleared on restart (by Pax Runner, which is what I use). Trying to get around this was
problematic, so I figured it would be nice to be able have the preferences database outside
the cache directory. A system property like "felix.prefs.rootdir" could be used to set the
location.
> I patched the Preference Service from trunk to get this feature and the changes are minimal,
I just added the following lines to the DataFileBackingStoreImpl constructor:
>         String configuredRootDir = System.getProperty("felix.prefs.rootdir");
>         this.rootDirectory = configuredRootDir == null ? context.getDataFile("") : new
File(configuredRootDir);
>         this.rootDirectory.mkdirs();

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message