felix-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From conflue...@apache.org
Subject [CONF] Apache Felix > Apache Felix Framework Configuration Properties
Date Fri, 24 Dec 2010 15:42:00 GMT
<html>
<head>
    <base href="https://cwiki.apache.org/confluence">
            <link rel="stylesheet" href="/confluence/s/1810/9/1/_/styles/combined.css?spaceKey=FELIX&amp;forWysiwyg=true"
type="text/css">
    </head>
<body style="background: white;" bgcolor="white" class="email-body">
<div id="pageContent">
<div id="notificationFormat">
<div class="wiki-content">
<div class="email">
    <h2><a href="https://cwiki.apache.org/confluence/display/FELIX/Apache+Felix+Framework+Configuration+Properties">Apache
Felix Framework Configuration Properties</a></h2>
    <h4>Page <b>edited</b> by             <a href="https://cwiki.apache.org/confluence/display/~heavy@ungoverned.org">Richard
S. Hall</a>
    </h4>
        <br/>
                         <h4>Changes (6)</h4>
                                 
    
<div id="page-diffs">
            <table class="diff" cellpadding="0" cellspacing="0">
            <tr><td class="diff-snipped" >...<br></td></tr>
            <tr><td class="diff-unchanged" >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 {{BundleContext.getProperty()}}, 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 *not* available if you are just using the
Felix framework JAR file. <br> <br></td></tr>
            <tr><td class="diff-deleted-lines" style="color:#999;background-color:#fdd;text-decoration:line-through;">The
following configuration properties are for the launcher: <br></td></tr>
            <tr><td class="diff-added-lines" style="background-color: #dfd;">{anchor:framework}
<br></td></tr>
            <tr><td class="diff-unchanged" > <br></td></tr>
            <tr><td class="diff-deleted-lines" style="color:#999;background-color:#fdd;text-decoration:line-through;">*
{{felix.auto.deploy.dir}} \- Specifies the auto-deploy directory from which bundles are automatically
deploy at framework startup. The default is the {{bundle/}} directory of the current directory.
<br>* {{felix.auto.deploy.action}} \- Specifies a comma-delimited list of actions to
be performed on bundle JAR files found in the auto-deploy directory. The possible actions
are {{install}}, {{update}}, {{start}}, and {{uninstall}}. An undefined or blank value is
equivalent to disabling auto-deploy processing. <br>* {{felix.auto.install.&lt;n&gt;}}
\- Space-delimited list of bundle URLs to automatically install when Felix is started, where
{{&lt;n&gt;}} is the start level into which the bundle will be installed (e.g., {{felix.auto.install.2}}).
<br>* {{felix.auto.start.&lt;n&gt;}} \- Space-delimited list of bundle URLs
to automatically install and start when Felix is started, where {{&lt;n&gt;}} is the
start level into which the bundle will be installed (e.g., {{felix.auto.start.2}}). <br>*
{{felix.shutdown.hook}} \- Specifies whether the launcher should install a shutdown hook to
cleanly shutdown the framework on process exit. The default value is {{true}}. <br></td></tr>
            <tr><td class="diff-added-lines" style="background-color: #dfd;">h2.
Framework configuration properties <br></td></tr>
            <tr><td class="diff-unchanged" > <br>The following configuration
properties are for the framework (properties starting with &quot;{{felix}}&quot; are
specific to Felix, while those starting with &quot;{{org.osgi}}&quot; are standard
OSGi properties): <br></td></tr>
            <tr><td class="diff-snipped" >...<br></td></tr>
            <tr><td class="diff-unchanged" >The Felix framework distribution contains
a default {{conf/config.properties}}. <br> <br></td></tr>
            <tr><td class="diff-added-lines" style="background-color: #dfd;">{anchor:laucher}
<br> <br>h2. Launcher configuration properties <br> <br>The following
configuration properties are for the launcher: <br> <br>* {{felix.auto.deploy.dir}}
\- Specifies the auto-deploy directory from which bundles are automatically deploy at framework
startup. The default is the {{bundle/}} directory of the current directory. <br>* {{felix.auto.deploy.action}}
\- Specifies a comma-delimited list of actions to be performed on bundle JAR files found in
the auto-deploy directory. The possible actions are {{install}}, {{update}}, {{start}}, and
{{uninstall}}. An undefined or blank value is equivalent to disabling auto-deploy processing.
<br>* {{felix.auto.install.&lt;n&gt;}} \- Space-delimited list of bundle URLs
to automatically install when Felix is started, where {{&lt;n&gt;}} is the start level
into which the bundle will be installed (e.g., {{felix.auto.install.2}}). <br>* {{felix.auto.start.&lt;n&gt;}}
\- Space-delimited list of bundle URLs to automatically install and start when Felix is started,
where {{&lt;n&gt;}} is the start level into which the bundle will be installed (e.g.,
{{felix.auto.start.2}}). <br>* {{felix.shutdown.hook}} \- Specifies whether the launcher
should install a shutdown hook to cleanly shutdown the framework on process exit. The default
value is {{true}}. <br> <br></td></tr>
            <tr><td class="diff-unchanged" >{anchor:migrating} <br> <br></td></tr>
            <tr><td class="diff-changed-lines" ><span class="diff-changed-words">h<span
class="diff-deleted-chars"style="color:#999;background-color:#fdd;text-decoration:line-through;">3</span><span
class="diff-added-chars"style="background-color: #dfd;">2</span>.</span> Migrating
from Earlier Versions <br></td></tr>
            <tr><td class="diff-unchanged" > <br>Apache Felix Framework
{{2.0.0}} introduced some configuration property changes. This section describes the differences
from older versions of the framework. <br></td></tr>
            <tr><td class="diff-snipped" >...<br></td></tr>
        </table>
</div>                            <h4>Full Content</h4>
                    <div class="notificationGreySide">
        <h1><a name="ApacheFelixFrameworkConfigurationProperties-ApacheFelixFrameworkConfigurationProperties"></a>Apache
Felix Framework Configuration Properties</h1>

<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., org.apache.felix.framework-x.y.x.jar), then
you can only use framework properties. On the other hand, if you are using the Felix launcher
JAR (i.e., felix.jar or org.apache.felix.main-x.y.z.jar), 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.storage</tt> &#45; Sets the directory to
use as the bundle cache; by default 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> &#45; 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> &#45; 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.bufsize</tt> &#45; 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> &#45; 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> &#45; 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> &#45; 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> &#45; 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> &#45; 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> &#45; 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> &#45; 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> &#45; 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> &#45; The initial
start level of the framework once it starts execution; the default value is 1.</li>
	<li><tt>felix.startlevel.bundle</tt> &#45; The default start level
for newly installed bundles; the default value is 1.</li>
	<li><tt>felix.service.urlhandlers</tt> &#45; 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>The Felix framework distribution contains a default <tt>conf/config.properties</tt>.</p>

<p><a name="ApacheFelixFrameworkConfigurationProperties-laucher"></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> &#45; Specifies the auto-deploy
directory from which bundles are automatically deploy at framework startup. The default is
the <tt>bundle/</tt> directory of the current directory.</li>
	<li><tt>felix.auto.deploy.action</tt> &#45; 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.</li>
	<li><tt>felix.auto.install.&lt;n&gt;</tt> &#45; Space-delimited
list of bundle URLs to automatically install when Felix is started, where <tt>&lt;n&gt;</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.&lt;n&gt;</tt> &#45; Space-delimited
list of bundle URLs to automatically install and start when Felix is started, where <tt>&lt;n&gt;</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> &#45; 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 some 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> &#45; 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> &#45; No longer needed, since all non-specification
features have been removed.</li>
		<li><tt>felix.cache.dir</tt> &#45; No longer needed, since Felix no
longer uses bundle cache profiles for saving sets of bundles.</li>
		<li><tt>felix.cache.profile</tt> &#45; No longer needed, since the
framework no longer uses bundle cache profiles for saving sets of bundles.</li>
		<li><tt>felix.fragment.validation</tt> &#45; No longer needed, since
the framework supports fragments.</li>
	</ul>
	</li>
	<li><b>Renamed</b>
	<ul>
		<li><tt>felix.cache.profiledir</tt> &#45; The equivalent of this property
is now named <tt>org.osgi.framework.storage</tt>.</li>
		<li><tt>felix.startlevel.framework</tt> &#45; 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> &#45; New property,
as described above, added to align with standard framework API.</li>
		<li><tt>org.osgi.framework.storage.clean</tt> &#45; New property,
as described above, added to align with standard framework API.</li>
		<li><tt>felix.cache.rootdir</tt> &#45; 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>
    </div>
        <div id="commentsSection" class="wiki-content pageSection">
        <div style="float: right;">
            <a href="https://cwiki.apache.org/confluence/users/viewnotifications.action"
class="grey">Change Notification Preferences</a>
        </div>
        <a href="https://cwiki.apache.org/confluence/display/FELIX/Apache+Felix+Framework+Configuration+Properties">View
Online</a>
        |
        <a href="https://cwiki.apache.org/confluence/pages/diffpagesbyversion.action?pageId=24191465&revisedVersion=2&originalVersion=1">View
Changes</a>
                |
        <a href="https://cwiki.apache.org/confluence/display/FELIX/Apache+Felix+Framework+Configuration+Properties?showComments=true&amp;showCommentArea=true#addcomment">Add
Comment</a>
            </div>
</div>
</div>
</div>
</div>
</body>
</html>

Mime
View raw message