Write a launcher. Then you can control the storage directory however you like.
You seem keen to void this, but I believe it's exactly what you need, and it really isn't a lot of work. Neil -- Neil Bartlett Sent from a phone On Thursday, 20 June 2013 at 08:19, Benoît Thiébault wrote: > Agreed. > What other options are there to prevent this? > > Le 19 juin 2013 à 10:27, Neil Bartlett a écrit : > > > Well, if you're happy to throw away all your users' persistent data, and > > start OSGi from a blank slate every time... > > > > -- > > Neil Bartlett > > Sent from a phone > > > > > > On Wednesday, 19 June 2013 at 09:04, Benoît Thiébault wrote: > > > > > Does Felix automatically interpret system properties in the > > > config.properties files? > > > > > > That would indeed be a simple solution. > > > > > > This would however mean that each execution will create a new cache > > > folder that will not be deleted. I guess I should create it in the /tmp > > > folder so they get cleaned. > > > > > > Benoît > > > > > > Le 19 juin 2013 à 09:54, Chetan Mehrotra a écrit : > > > > > > > If you just want to share the bundles between various Felix instances > > > > you can try specifying a different value for > > > > 'org.osgi.framework.storage' [1] for each launch command say by > > > > passing in a system property. This would allow Felix to use different > > > > dir for its caches and hence would avoid any potential issue related > > > > to concurrent access. > > > > > > > > [1] > > > > http://felix.apache.org/site/apache-felix-framework-bundle-cache.html > > > > > > > > Chetan Mehrotra > > > > > > > > > > > > On Wed, Jun 19, 2013 at 1:19 PM, Benoît Thiébault > > > > <[email protected]> wrote: > > > > > Multiple JVM (and separate processes). > > > > > > > > > > Le 19 juin 2013 à 09:47, Chetan Mehrotra a écrit : > > > > > > > > > > > Do you want to launch multiple jvm (seprate processes) of Felix or > > > > > > within same process multiple Felix instances? > > > > > > > > > > > > Chetan Mehrotra > > > > > > > > > > > > > > > > > > On Wed, Jun 19, 2013 at 1:12 PM, Benoît Thiébault > > > > > > <[email protected]> wrote: > > > > > > > Hi everyone, > > > > > > > > > > > > > > We have developed a simulation software based on OSGi and using > > > > > > > Felix. > > > > > > > > > > > > > > The execution of the application is done in a script that > > > > > > > executes the following command: > > > > > > > java -jar > > > > > > > -Dfelix.config.properties=file:./resources/felix/config.properties > > > > > > > ./dependencies/thirdparty/felix-4.0.2/felix.jar > > > > > > > > > > > > > > We then have two folders containing all the OSGi bundles that are > > > > > > > automatically installed and started by felix when it is launched. > > > > > > > > > > > > > > This works very well. > > > > > > > > > > > > > > Users have however requested to be able to launch several > > > > > > > instances of our software (to run several simulations in parallel > > > > > > > for instance). This however does not work and I think felix has > > > > > > > difficulties dealing with the cache folder when multiple > > > > > > > instances are running in parallel > > > > > > > > > > > > > > Our Felix config.properties file is in attachement. > > > > > > > > > > > > > > Does anyone know how to solve this problem? > > > > > > > > > > > > > > Kind regards, > > > > > > > > > > > > > > Ben > > > > > > > > > > > > > > # Licensed to the Apache Software Foundation (ASF) under one > > > > > > > # or more contributor license agreements. See the NOTICE file > > > > > > > # distributed with this work for additional information > > > > > > > # regarding copyright ownership. The ASF licenses this file > > > > > > > # to you under the Apache License, Version 2.0 (the > > > > > > > # "License"); you may not use this file except in compliance > > > > > > > # with the License. You may obtain a copy of the License at > > > > > > > # > > > > > > > # http://www.apache.org/licenses/LICENSE-2.0 > > > > > > > # > > > > > > > # Unless required by applicable law or agreed to in writing, > > > > > > > # software distributed under the License is distributed on an > > > > > > > # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY > > > > > > > # KIND, either express or implied. See the License for the > > > > > > > # specific language governing permissions and limitations > > > > > > > # under the License. > > > > > > > > > > > > > > # > > > > > > > # Framework config properties. > > > > > > > # > > > > > > > > > > > > > > # To override the packages the framework exports by default from > > > > > > > the > > > > > > > # class path, set this variable. > > > > > > > #org.osgi.framework.system.packages= > > > > > > > > > > > > > > # To append packages to the default set of exported system > > > > > > > packages, > > > > > > > # set this value. > > > > > > > #org.osgi.framework.system.packages.extra= > > > > > > > > > > > > > > # The following property makes specified packages from the class > > > > > > > path > > > > > > > # available to all bundles. You should avoid using this property. > > > > > > > org.osgi.framework.bootdelegation=sun.awt.*, sun.sun.*, > > > > > > > com.sun.org.*, com.sun.*, sun.*, org.w3c.dom.traversal > > > > > > > #sun.*, com.sun.* > > > > > > > > > > > > > > # Felix tries to guess when to implicitly boot delegate in certain > > > > > > > # situations to ease integration without outside code. This > > > > > > > feature > > > > > > > # is enabled by default, uncomment the following line to disable > > > > > > > it. > > > > > > > #felix.bootdelegation.implicit=false > > > > > > > > > > > > > > # The following property explicitly specifies the location of the > > > > > > > bundle > > > > > > > # cache, which defaults to "felix-cache" in the current working > > > > > > > directory. > > > > > > > # If this value is not absolute, then the felix.cache.rootdir > > > > > > > controls > > > > > > > # how the absolute location is calculated. (See next property) > > > > > > > #org.osgi.framework.storage=${felix.cache.rootdir}/felix-cache > > > > > > > > > > > > > > # The following property is used to convert a relative bundle > > > > > > > cache > > > > > > > # location into an absolute one by specifying the root to prepend > > > > > > > to > > > > > > > # the relative cache path. The default for this property is the > > > > > > > # current working directory. > > > > > > > felix.cache.rootdir=${user.dir} > > > > > > > > > > > > > > # The following property controls whether the bundle cache is > > > > > > > flushed > > > > > > > # the first time the framework is initialized. Possible values are > > > > > > > # "none" and "onFirstInit"; the default is "none". > > > > > > > org.osgi.framework.storage.clean=onFirstInit > > > > > > > > > > > > > > # The following property determines which actions are performed > > > > > > > when > > > > > > > # processing the auto-deploy directory. It is a comma-delimited > > > > > > > list of > > > > > > > # the following values: 'install', 'start', 'update', and > > > > > > > 'uninstall'. > > > > > > > # An undefined or blank value is equivalent to disabling > > > > > > > auto-deploy > > > > > > > # processing. > > > > > > > felix.auto.deploy.action=install,start > > > > > > > > > > > > > > # The following property specifies the directory to use as the > > > > > > > bundle > > > > > > > # auto-deploy directory; the default is 'bundle' in the working > > > > > > > directory. > > > > > > > felix.auto.deploy.dir=./dependencies/main > > > > > > > > > > > > > > # The following property is a space-delimited list of bundle URLs > > > > > > > # to install when the framework starts. The ending numerical > > > > > > > component > > > > > > > # is the target start level. Any number of these properties may be > > > > > > > # specified for different start levels. > > > > > > > #felix.auto.install.1= > > > > > > > > > > > > > > # The following property is a space-delimited list of bundle URLs > > > > > > > # to install and start when the framework starts. The ending > > > > > > > numerical > > > > > > > # component is the target start level. Any number of these > > > > > > > properties > > > > > > > # may be specified for different start levels. > > > > > > > #felix.auto.start.1= > > > > > > > > > > > > > > felix.log.level=1 > > > > > > > > > > > > > > # Sets the initial start level of the framework upon startup. > > > > > > > #org.osgi.framework.startlevel.beginning=1 > > > > > > > > > > > > > > # Sets the start level of newly installed bundles. > > > > > > > #felix.startlevel.bundle=1 > > > > > > > > > > > > > > # Felix installs a stream and content handler factories by > > > > > > > default, > > > > > > > # uncomment the following line to not install them. > > > > > > > #felix.service.urlhandlers=false > > > > > > > > > > > > > > # The launcher registers a shutdown hook to cleanly stop the > > > > > > > framework > > > > > > > # by default, uncomment the following line to disable it. > > > > > > > #felix.shutdown.hook=false > > > > > > > > > > > > > > # > > > > > > > # Bundle config properties. > > > > > > > # > > > > > > > org.osgi.service.http.port=8080 > > > > > > > obr.repository.url=http://felix.apache.org/obr/releases.xml > > > > > > > > > > > > > > # File install configuration > > > > > > > felix.fileinstall.dir=./lib > > > > > > > felix.fileinstall.log.level=1 > > > > > > > felix.fileinstall.noInitialDelay=true > > > > > > > felix.fileinstall.poll=10000 > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > Dr Benoît Thiébault > > > > > > > Project Manager > > > > > > > > > > > > > > Artenum Toulouse - Science & Groupware > > > > > > > http://www.artenum.com > > > > > > > > > > > > > > Bâtiment Calfocenter > > > > > > > 10, rue Marguerite-Long > > > > > > > 31320 Castanet-Tolosan > > > > > > > France > > > > > > > Phone: +33 (0)5 82 95 19 00 > > > > > > > > > > > > > > > > > > > > > > > > > > > > --------------------------------------------------------------------- > > > > > > > To unsubscribe, e-mail: [email protected] > > > > > > > For additional commands, e-mail: [email protected] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > --------------------------------------------------------------------- > > > > > > To unsubscribe, e-mail: [email protected] > > > > > > For additional commands, e-mail: [email protected] > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > Dr Benoît Thiébault > > > > > Project Manager > > > > > > > > > > Artenum Toulouse - Science & Groupware > > > > > http://www.artenum.com > > > > > > > > > > Bâtiment Calfocenter > > > > > 10, rue Marguerite-Long > > > > > 31320 Castanet-Tolosan > > > > > France > > > > > Phone: +33 (0)5 82 95 19 00 > > > > > > > > > > > > > > > > > > > > > --------------------------------------------------------------------- > > > > To unsubscribe, e-mail: [email protected] > > > > For additional commands, e-mail: [email protected] > > > > > > > > > > > > > > > > -- > > > Dr Benoît Thiébault > > > Project Manager > > > > > > Artenum Toulouse - Science & Groupware > > > http://www.artenum.com > > > > > > Bâtiment Calfocenter > > > 10, rue Marguerite-Long > > > 31320 Castanet-Tolosan > > > France > > > Phone: +33 (0)5 82 95 19 00 > > > > > > > > > > -- > Dr Benoît Thiébault > Project Manager > > Artenum Toulouse - Science & Groupware > http://www.artenum.com > > Bâtiment Calfocenter > 10, rue Marguerite-Long > 31320 Castanet-Tolosan > France > Phone: +33 (0)5 82 95 19 00 > >

