| <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| <html><head> |
| |
| |
| |
| <title>Apache Felix - Apache Felix Framework Configuration Properties</title> |
| <link rel="stylesheet" href="apache-felix-framework-configuration-properties_files/site.css" type="text/css" media="all"> |
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
| </head><body> |
| <div class="title"><div class="logo"><a href="http://felix.apache.org/site/index.html"><img alt="Apache Felix" src="apache-felix-framework-configuration-properties_files/logo.png" border="0"></a></div><div class="header"><a href="http://www.apache.org/"><img alt="Apache" src="apache-felix-framework-configuration-properties_files/apache.png" border="0"></a></div></div> |
| <div class="menu"> |
| <ul> |
| <li><a href="http://felix.apache.org/site/news.html" title="news">news</a></li> |
| <li><a href="http://felix.apache.org/site/license.html" title="license">license</a></li> |
| <li><a href="http://felix.apache.org/site/downloads.cgi" class="external-link" rel="nofollow">downloads</a></li> |
| <li><a href="http://felix.apache.org/site/documentation.html" title="documentation">documentation</a></li> |
| <li><a href="http://felix.apache.org/site/mailinglists.html" title="mailinglists">mailing lists</a></li> |
| <li><a href="http://felix.apache.org/site/contributing.html" title="Contributing">contributing</a></li> |
| <li><a href="http://www.apache.org/" class="external-link" rel="nofollow">asf</a></li> |
| <li><a href="http://www.apache.org/foundation/sponsorship.html" class="external-link" rel="nofollow">sponsorship</a></li> |
| <li><a href="http://www.apache.org/foundation/thanks.html" class="external-link" rel="nofollow">sponsors</a> |
| <!-- ApacheCon Ad --> |
| <iframe src="apache-felix-framework-configuration-properties_files/button.html" style="border-width: 0pt; float: left;" frameborder="0" height="135" scrolling="no" width="135"></iframe> |
| <p style="height: 100px;"> |
| <!-- ApacheCon Ad --> |
| </p></li></ul> |
| </div> |
| <div class="main"> |
| <h1><a name="ApacheFelixFrameworkConfigurationProperties-ApacheFelixFrameworkConfigurationProperties"></a>Apache Felix Framework Configuration Properties</h1> |
| |
| <ul> |
| <li><a href="#ApacheFelixFrameworkConfigurationProperties-overview">Overview</a></li> |
| <li><a href="#ApacheFelixFrameworkConfigurationProperties-framework">Framework configuration properties</a></li> |
| <li><a href="#ApacheFelixFrameworkConfigurationProperties-launcher">Launcher configuration properties</a></li> |
| <li><a href="#ApacheFelixFrameworkConfigurationProperties-migrating">Mirgrating from earlier versions</a></li> |
| <li><a href="#ApacheFelixFrameworkConfigurationProperties-feedback">Feedback</a></li> |
| </ul> |
| |
| |
| <p><a name="ApacheFelixFrameworkConfigurationProperties-overview"></a></p> |
| |
| <h2><a name="ApacheFelixFrameworkConfigurationProperties-Overview"></a>Overview</h2> |
| |
| <p>This document describes the various configuration properties related |
| to the Apache Felix Framework. Technically, there are framework |
| properties and launcher properties. If you are using the Felix |
| Framework JAR file (i.e., <tt>org.apache.felix.framework-x.y.x.jar</tt>), then you can only use framework properties. On the other hand, if you are using the Felix Main launcher JAR (i.e., <tt>felix.jar</tt> or <tt>org.apache.felix.main-x.y.z.jar</tt>), then you can use both framework and launcher properties. This document will describe both sets of properties.</p> |
| |
| <p>Note that the framework does not use system properties to find its |
| configuration properties, it only consults the map passed into its |
| constructor. In contrast to bundles, which use <tt>BundleContext.getProperty()</tt>, |
| which exposes both configuration and system properties at execution |
| time. In the case of overlap, the configuration properties override |
| system properties. As a convenience, if you are using the Felix |
| launcher, it will copy all configuration properties it finds in the |
| system properties to the configuration map passed into the framework |
| constructor, which allows you to set configuration properties on the |
| command line. This feature is <b>not</b> available if you are just using the Felix framework JAR file.</p> |
| |
| <p><a name="ApacheFelixFrameworkConfigurationProperties-framework"></a></p> |
| |
| <h2><a name="ApacheFelixFrameworkConfigurationProperties-Frameworkconfigurationproperties"></a>Framework configuration properties</h2> |
| |
| <p>The following configuration properties are for the framework (properties starting with "<tt>felix</tt>" are specific to Felix, while those starting with "<tt>org.osgi</tt>" are standard OSGi properties):</p> |
| |
| <ul> |
| <li><tt>org.osgi.framework.executionenvironment</tt> - Sets the |
| OSGi execution environment for the framework. The framework tries to |
| set this to a reasonable default value. If you specify a value, it |
| overrides the framework default. Refer to the OSGi specification for |
| appropriate execution environment values.</li> |
| <li><tt>org.osgi.framework.storage</tt> - Sets the directory to use as the bundle cache; by default the bundle cache directory is <tt>felix-cache</tt> |
| in the current working directory. The value should be a valid directory |
| name. The directory name can be either absolute or relative. Relative |
| directory names are relative to the current working directory. The |
| specified directory will be created if it does not exist.</li> |
| <li><tt>felix.cache.rootdir</tt> - Sets the root directory used to calculate the bundle cache directory for relative directory names. If <tt>org.osgi.framework.storage</tt> |
| is set to a relative name, by default it is relative to the current |
| working directory. If this property is set, then it will be calculated |
| as being relative to the specified root directory.</li> |
| <li><tt>org.osgi.framework.storage.clean</tt> - Determines whether the bundle cache is flushed. The value can either be "<tt>none</tt>" or "<tt>onFirstInit</tt>", where "<tt>none</tt>" does not flush the bundle cache and "<tt>onFirstInit</tt>" flushes the bundle cache when the framework instance is first initialized. The default value is "<tt>none</tt>".</li> |
| <li><tt>felix.cache.locking</tt> |
| - Enables or disables bundle cache locking, which is used to prevent |
| concurrent access to the bundle cache. This is enabled by default, but |
| on older/smaller JVMs file channel locking is not available; set this |
| property to <tt>false</tt> to disable it.</li> |
| <li><tt>felix.cache.bufsize</tt> |
| - Sets the buffer size to be used by the cache; the default value is |
| 4096. The integer value of this string provides control over the size |
| of the internal buffer of the disk cache for performance reasons.</li> |
| <li><tt>org.osgi.framework.system.packages</tt> |
| - Specifies a comma-delimited list of packages that should be exported |
| via the System Bundle from the framework class loader. The framework |
| will set this to a reasonable default. If the value is specified, it |
| replaces any default value.</li> |
| <li><tt>org.osgi.framework.system.packages.extra</tt> |
| - Specifies a comma-delimited list of packages that should be exported |
| via the System Bundle from the framework class loader in addition to |
| the packages in <tt>org.osgi.framework.system.packages</tt>. The default value is empty. If a value is specified, it is appended to the list of default or specified packages in <tt>org.osgi.framework.system.packages</tt>.</li> |
| <li><tt>org.osgi.framework.bootdelegation</tt> |
| - Specifies a comma-delimited list of packages that should be made |
| implicitly available to all bundles from the parent class loader. It is |
| recommended not to use this property since it breaks modularity. The |
| default value is empty.</li> |
| <li><tt>org.osgi.framework.bundle.parent</tt> - Specifies which class loader is used for boot delegation. Possible values are: <tt>boot</tt> for the boot class loader, <tt>app</tt> for the application class loader, <tt>ext</tt> for the extension class loader, and <tt>framework</tt> for the framework's class loader. The default is <tt>boot</tt>.</li> |
| <li><tt>felix.bootdelegation.implicit</tt> |
| - Specifies whether the framework should try to guess when to |
| implicitly boot delegate to ease integration with external code. The |
| default value is <tt>true</tt>.</li> |
| <li><tt>felix.systembundle.activators</tt> - A <tt>List</tt> of <tt>BundleActivator</tt> |
| instances that are started/stopped when the System Bundle is |
| started/stopped. The specified instances will receive the System |
| Bundle's <tt>BundleContext</tt> when invoked. (This property cannot be |
| set in the configuration file since it requires instances; it can only |
| be passed into Felix' constructor directly.)</li> |
| <li><tt>felix.log.logger</tt> - An instance of <tt>Logger</tt> |
| that the framework uses as its default logger. (This property cannot be |
| set in the configuration file since it requires an instance; it can |
| only be passed into Felix' constructor directly.)</li> |
| <li><tt>felix.log.level</tt> |
| - An integer value indicating the degree of logging reported by the |
| framework; the higher the value the more logging is reported. If zero |
| ('0') is specified, then logging is turned off completely. The log |
| levels match those specified in the OSGi Log Service (i.e., 1 = error, |
| 2 = warning, 3 = information, and 4 = debug). The default value is 1.</li> |
| <li><tt>org.osgi.framework.startlevel.beginning</tt> - The initial start level of the framework once it starts execution; the default value is 1.</li> |
| <li><tt>felix.startlevel.bundle</tt> - The default start level for newly installed bundles; the default value is 1.</li> |
| <li><tt>felix.service.urlhandlers</tt> - Flag to indicate whether to activate the URL Handlers service for the framework instance; the default value is <tt>true</tt>. Activating the URL Handlers service will result in the <tt>URL.setURLStreamHandlerFactory()</tt> and <tt>URLConnection.setContentHandlerFactory()</tt> being called.</li> |
| </ul> |
| |
| |
| <p><a name="ApacheFelixFrameworkConfigurationProperties-launcher"></a></p> |
| |
| <h2><a name="ApacheFelixFrameworkConfigurationProperties-Launcherconfigurationproperties"></a>Launcher configuration properties</h2> |
| |
| <p>The following configuration properties are for the launcher:</p> |
| |
| <ul> |
| <li><tt>felix.auto.deploy.dir</tt> - Specifies the auto-deploy directory from which bundles are automatically deployed at framework startup. The default is the <tt>bundle/</tt> directory of the current directory.</li> |
| <li><tt>felix.auto.deploy.action</tt> |
| - Specifies a comma-delimited list of actions to be performed on bundle |
| JAR files found in the auto-deploy directory. The possible actions are <tt>install</tt>, <tt>update</tt>, <tt>start</tt>, and <tt>uninstall</tt>. |
| An undefined or blank value is equivalent to disabling auto-deploy |
| processing; there is no default value, so this value must be defined to |
| enable it.</li> |
| <li><tt>felix.auto.install.<n></tt> - Space-delimited list of bundle URLs to automatically install when Felix is started, where <tt><n></tt> is the start level into which the bundle will be installed (e.g., <tt>felix.auto.install.2</tt>).</li> |
| <li><tt>felix.auto.start.<n></tt> - Space-delimited list of bundle URLs to automatically install and start when Felix is started, where <tt><n></tt> is the start level into which the bundle will be installed (e.g., <tt>felix.auto.start.2</tt>).</li> |
| <li><tt>felix.shutdown.hook</tt> |
| - Specifies whether the launcher should install a shutdown hook to |
| cleanly shutdown the framework on process exit. The default value is <tt>true</tt>.</li> |
| </ul> |
| |
| |
| <p><a name="ApacheFelixFrameworkConfigurationProperties-migrating"></a></p> |
| |
| <h2><a name="ApacheFelixFrameworkConfigurationProperties-MigratingfromEarlierVersions"></a>Migrating from Earlier Versions</h2> |
| |
| <p>Apache Felix Framework <tt>2.0.0</tt> introduced significant |
| configuration property changes. This section describes the differences |
| from older versions of the framework.</p> |
| |
| <ul> |
| <li><b>Removed</b> |
| <ul> |
| <li><tt>felix.embedded.execution</tt> - No longer needed, since the framework now never calls <tt>System.exit()</tt>; the creator of the framework is now always responsible for exiting the VM.</li> |
| <li><tt>felix.strict.osgi</tt> - No longer needed, since all non-specification features have been removed.</li> |
| <li><tt>felix.cache.dir</tt> - No longer needed, since Felix no longer uses bundle cache profiles for saving sets of bundles.</li> |
| <li><tt>felix.cache.profile</tt> - No longer needed, since the framework no longer uses bundle cache profiles for saving sets of bundles.</li> |
| <li><tt>felix.fragment.validation</tt> - No longer needed, since the framework supports fragments.</li> |
| </ul> |
| </li> |
| <li><b>Renamed</b> |
| <ul> |
| <li><tt>felix.cache.profiledir</tt> - The equivalent of this property is now named <tt>org.osgi.framework.storage</tt>.</li> |
| <li><tt>felix.startlevel.framework</tt> - The equivalent of this property is now named <tt>org.osgi.framework.startlevel.beginning</tt>.</li> |
| </ul> |
| </li> |
| <li><b>Introduced</b> |
| <ul> |
| <li><tt>org.osgi.framework.system.packages.extra</tt> - New property, as described above, added to align with standard framework API.</li> |
| <li><tt>org.osgi.framework.storage.clean</tt> - New property, as described above, added to align with standard framework API.</li> |
| <li><tt>felix.cache.rootdir</tt> - Introduced as a result of removing bundle profiles to help resolve relative bundle cache directories.</li> |
| </ul> |
| </li> |
| </ul> |
| |
| |
| <p>For the most part, these changes are minor and previous behavior |
| achieved from older configuration properties is either easily attained |
| with the new properties or no longer necessary.</p> |
| |
| <p><a name="ApacheFelixFrameworkConfigurationProperties-feedback"></a></p> |
| |
| <h2><a name="ApacheFelixFrameworkConfigurationProperties-Feedback"></a>Feedback</h2> |
| |
| <p>Subscribe to the Felix users mailing list by sending a message to <a href="mailto:users-subscribe@felix.apache.org" class="external-link" rel="nofollow">users-subscribe@felix.apache.org</a>; after subscribing, email questions or feedback to <a href="mailto:users@felix.apache.org" class="external-link" rel="nofollow">users@felix.apache.org</a>.</p> |
| </div> |
| </body></html> |