You should be able to set the osgi.sharedConfiguration.area property.

java -Dosgi.sharedConfiguration.area=/etc/myapp -jar org.eclipse.osgi.jar 
-configuration /var/lib/myapp/

If I recall correctly that should treat the shared configuration directory 
as read-only and load the config.ini from there for the shared config 
settings, but then the framework should use the /var/lib/myapp/ folder for 
its persist storage area, as well as merge in a config.ini from there if 
it exists.  If you were using the standard Framework launching API you 
would pass the osgi.sharedConfiguration.area setting in the framework 
configuration map.

Tom





From:   Cristiano Gavião <[email protected]>
To:     [email protected]
Date:   02/03/2016 01:24 PM
Subject:        Re: [equinox-dev] it is possible to load config.ini from a 
different location other than -configuration ?
Sent by:        [email protected]



Hi,

Yep, I've tried to debug the source code using it now... But didn't help

In order to load the config.ini, equinox uses the PROP_CONFIG_AREA 
variable to compose config.ini location. 

If I use the FRAMEWORK_STORAGE pointing to a different location other than 
the -configuration args, equinox will set the PROP_CONFIG_AREA to its 
value.

// Initializes the Location objects for the LocationManager.
        // set the osgi storage area if it exists
        String osgiStorage = 
equinoxConfig.getConfiguration(Constants.FRAMEWORK_STORAGE);
        if (osgiStorage != null)
            equinoxConfig.setConfiguration(PROP_CONFIG_AREA, osgiStorage);
------
try {
            location = new URL(configArea.getURL().toExternalForm() + 
CONFIG_FILE);
        } catch (MalformedURLException e) {
            // its ok.  This should never happen
        }


And what will happen is that the config.ini will not be found :(


so seems not to be possible to do what I want in current version... unless 
there is something that I'm missing...

thanks

On 03/02/2016 15:38, Raymond Auge wrote:
Have you tried to osgi framework properties?
e.g.
https://osgi.org/javadoc/r5/core/org/osgi/framework/Constants.html#FRAMEWORK_STORAGE


I think the eclipse launcher supports those as system properties.

Sincerely,
- Ray

On Wed, Feb 3, 2016 at 1:13 PM, Cristiano Gavião <[email protected]> 
wrote:
Hello,

I'm trying to set Equinox to run as a linux systemd service.

I set the service to launch using java -jar org.eclipse.osgi 
-configuration /etc/myapp.

The idea was to install config.ini (set as conffile) at /etc/myapp and let 
the configuration data to be created at /var/lib/myapp directory.

I tried many configurations combination but it always try to create 
storage directories relative to where config.ini file is, which gives some 
errors due the fact that user which is starting it do not had permissions 
to create directories inside /etc dir.

one alternative that comes to mind was to create a symlimk in 
etc/myapp/config.ini  pointinf to var/lib/myapp/config.ini.

anyway, I would be grateful for any opinion.

thanks,

Cristiano
_______________________________________________
equinox-dev mailing list
[email protected]
To change your delivery options, retrieve your password, or unsubscribe 
from this list, visit
https://dev.eclipse.org/mailman/listinfo/equinox-dev



-- 
Raymond Augé (@rotty3000) 
Senior Software Architect Liferay, Inc. (@Liferay)
Board Member & EEG Co-Chair, OSGi Alliance (@OSGiAlliance)


_______________________________________________
equinox-dev mailing list
[email protected]
To change your delivery options, retrieve your password, or unsubscribe 
from this list, visit
https://dev.eclipse.org/mailman/listinfo/equinox-dev
_______________________________________________
equinox-dev mailing list
[email protected]
To change your delivery options, retrieve your password, or unsubscribe 
from this list, visit
https://dev.eclipse.org/mailman/listinfo/equinox-dev


_______________________________________________
equinox-dev mailing list
[email protected]
To change your delivery options, retrieve your password, or unsubscribe from 
this list, visit
https://dev.eclipse.org/mailman/listinfo/equinox-dev

Reply via email to