Modified: karaf/site/production/manual/latest/users-guide/provisioning.html
URL: 
http://svn.apache.org/viewvc/karaf/site/production/manual/latest/users-guide/provisioning.html?rev=1688715&r1=1688714&r2=1688715&view=diff
==============================================================================
--- karaf/site/production/manual/latest/users-guide/provisioning.html (original)
+++ karaf/site/production/manual/latest/users-guide/provisioning.html Wed Jul  
1 19:43:35 2015
@@ -8,7 +8,7 @@
     <link href="../css/style.css" rel="stylesheet" type="text/css"/>
     <link href="../css/pygmentize.css" rel="stylesheet" type="text/css"/>
     <title>
-      Apache Karaf 3.0.3-SNAPSHOT Guides
+      Apache Karaf 4.0.1-SNAPSHOT Guides
     </title>
   </head>
   <body>
@@ -101,8 +101,10 @@
               </td>
               <td height="100%" width="100%">
                 <div class="wiki-content">
-<h1 id="Provisioning">Provisioning</h1><p>Apache Karaf is OSGi powered 
container.</p><p>It natively supports the deployment of OSGi 
applications.</p><p>An OSGi application is a set of OSGi bundles. An OSGi 
bundles is a regular jar file, with additional metadata in the jar 
MANIFEST.</p><p>In OSGi, a bundle can depend to other bundles. So, it means 
that to deploy an OSGi application, most of the time, you have<br/>to firstly 
deploy a lot of other bundles required by the application.</p><p>So, you have 
to find these bundles first, install the bundles. Again, these "dependency" 
bundles may require other bundles<br/>to satisfy their own 
dependencies.</p><p>More over, typically, an application requires configuration 
(see the <a href="configuration.html">Configuration section</a> of the user 
guide).<br/>So, before being able to start your application, in addition of the 
dependency bundles, you have to create or deploy 
the<br/>configuration.</p><p>Deploying all the requirements (bundles and
  configurations) of an application into a container is called the 
"provisioning".</p><p>As we can see, the provisioning of an application can be 
very long and fastidious.</p><p>Apache Karaf provides a simple and flexible way 
to provision applications.</p><p>In Apache Karaf, the application provisioning 
is an Apache Karaf "feature".</p><p>A feature describes an application 
as:</p><ul><li>a name</li><li>a version</li><li>a optional description 
(eventually with a long description)</li><li>a set of 
bundles</li><li>optionally a set configurations or configuration 
files</li><li>optionally a set of dependency features</li></ul><p>When you 
install a feature, Apache Karaf installs all resources described in the 
feature. It means that it will<br/>automatically resolves and installs all 
bundles, configurations, and dependency features described in the 
feature.</p><h2 id="Featuresrepositories">Features repositories</h2><p>The 
features are described in a features XML descriptor. This XML file co
 ntains the description of a set of features.</p><p>A features XML descriptor 
is named a "features repository". Before being able to install a feature, you 
have to register<br/>the features repository that provides the feature (using 
<tt>feature:repo-add</tt> command or FeatureMBean as described 
later).</p><p>For instance, the following XML file (or "features repository") 
describes the <tt>feature1</tt> and <tt>feature2</tt> features:</p><pre>
-&lt;features xmlns="http://karaf.apache.org/xmlns/features/v1.2.0";>
+<h1 id="Provisioning">Provisioning</h1><p>Apache Karaf supports the 
provisioning of applications and modules using the concept of Karaf 
Features.</p><h2 id="Application">Application</h2><p>By provisioning 
application, it means install all modules, configuration, and transitive 
applications.</p><h2 id="OSGi">OSGi</h2><p>It natively supports the deployment 
of OSGi applications.</p><p>An OSGi application is a set of OSGi bundles. An 
OSGi bundles is a regular jar file, with additional metadata in the jar 
MANIFEST.</p><p>In OSGi, a bundle can depend to other bundles. So, it means 
that to deploy an OSGi application, most of the time, you have<br/>to firstly 
deploy a lot of other bundles required by the application.</p><p>So, you have 
to find these bundles first, install the bundles. Again, these "dependency" 
bundles may require other bundles<br/>to satisfy their own 
dependencies.</p><p>More over, typically, an application requires configuration 
(see the <a href="configuration.html">Config
 uration section</a> of the user guide).<br/>So, before being able to start 
your application, in addition of the dependency bundles, you have to create or 
deploy the<br/>configuration.</p><p>As we can see, the provisioning of an 
application can be very long and fastidious.</p><h2 
id="Featureandresolver">Feature and resolver</h2><p>Apache Karaf provides a 
simple and flexible way to provision applications.</p><p>In Apache Karaf, the 
application provisioning is an Apache Karaf "feature".</p><p>A feature 
describes an application as:</p><ul><li>a name</li><li>a version</li><li>a 
optional description (eventually with a long description)</li><li>a set of 
bundles</li><li>optionally a set configurations or configuration 
files</li><li>optionally a set of dependency features</li></ul><p>When you 
install a feature, Apache Karaf installs all resources described in the 
feature. It means that it will<br/>automatically resolves and installs all 
bundles, configurations, and dependency features descri
 bed in the feature.</p><p>The feature resolver checks the service 
requirements, and install the bundles providing the services matching the 
requirements.<br/>The default mode enables this behavior only for "new style" 
features repositories (basically, the features repositories XML with<br/>schema 
equal or greater to 1.3.0). It doesn't apply for "old style" features 
repositories (coming from Karaf 2 or 3).</p><p>You can change the service 
requirements enforcement mode in <tt>etc/org.apache.karaf.features.cfg</tt> 
file, using the <tt>serviceRequirements</tt> property.</p><pre>
+serviceRequirements=default
+</pre><p>The possible values are:</p><ul><li>disable: service requirements are 
completely ignored, for both "old style" and "new style" features 
repositories</li><li>default: service requirements are ignored for "old style" 
features repositories, and enabled for "new style" features 
repositories.</li><li>enforce: service requirements are always verified, for 
"old style" and "new style" features repositories.</li></ul><p>Additionally, a 
feature can also define requirements. In that case, Karaf can automatically 
additional bundles or features<br/>providing the capabilities to satisfy the 
requirements.</p><p>A feature has a complete lifecycle: install, start, stop, 
update, uninstall.</p><h2 id="Featuresrepositories">Features 
repositories</h2><p>The features are described in a features XML descriptor. 
This XML file contains the description of a set of features.</p><p>A features 
XML descriptor is named a "features repository". Before being able to install a 
feature, you have to register<
 br/>the features repository that provides the feature (using 
<tt>feature:repo-add</tt> command or FeatureMBean as described 
later).</p><p>For instance, the following XML file (or "features repository") 
describes the <tt>feature1</tt> and <tt>feature2</tt> features:</p><pre>
+&lt;features xmlns="http://karaf.apache.org/xmlns/features/v1.3.0";>
   &lt;feature name="feature1" version="1.0.0">
     &lt;bundle>...&lt;/bundle>
     &lt;bundle>...&lt;/bundle>
@@ -112,17 +114,17 @@
     &lt;bundle>...&lt;/bundle>
   &lt;/feature>
 &lt;/features>
-</pre><p>We can note that the features XML has a schema. Take a look on <a 
href="provisioning-schema.html">Features XML Schema section</a> of the user 
guide<br/>for details.<br/>The <tt>feature1</tt> feature is available in 
version <tt>1.0.0</tt>, and contains two bundles. The <tt>&lt;bundle/></tt> 
element contains a URL<br/>to the bundle artifact (see <a 
href="urls.html">Artifacts repositories and URLs section</a> for details). If 
you install the <tt>feature1</tt> feature<br/>(using <tt>feature:install</tt> 
or the FeatureMBean as described later), Apache Karaf will automatically 
installs the two bundles<br/>described.<br/>The <tt>feature2</tt> feature is 
available in version <tt>1.1.0</tt>, and contains a reference to the 
<tt>feature1</tt> feature and a bundle.<br/>The <tt>&lt;feature/></tt> element 
contains the name of a feature. A specific feature version can be defined using 
the <tt>version</tt><br/>attribute to the <tt>&lt;feature/></tt> element 
(<tt>&lt;feature version="1.0.0"
 >feature1&lt;/feature></tt>). If the <tt>version</tt> attribute is<br/>not 
 >specified, Apache Karaf will install the latest version available. If you 
 >install the <tt>feature2</tt> feature (using <tt>feature:install</tt><br/>or 
 >the FeatureMBean as described later), Apache Karaf will automatically 
 >installs <tt>feature1</tt> (if it's not already installed)<br/>and the 
 >bundle.</p><p>A feature repository is registered using the URL to the 
 >features XML file.</p><p>The features state is stored in the Apache Karaf 
 >cache (in the <tt>KARAF_DATA</tt> folder). You can restart Apache Karaf, 
 >the<br/>previously installed features remain installed and available after 
 >restart.<br/>If you do a clean restart or you delete the Apache Karaf cache 
 >(delete the <tt>KARAF_DATA</tt> folder), all previously 
 >features<br/>repositories registered and features installed will be lost: you 
 >will have to register the features repositories and install<br/>features by 
 >hand again.<br/>To prevent this behaviour, you can s
 pecify features as boot features.</p><h2 id="Bootfeatures">Boot 
features</h2><p>You can describe some features as boot features. A boot feature 
will be automatically install by Apache Karaf, even if it has<br/>not been 
previously installed using <tt>feature:install</tt> or 
FeatureMBean.</p><p>Apache Karaf features configuration is located in the 
<tt>etc/org.apache.karaf.features.cfg</tt> configuration file.</p><p>This 
configuration file contains the two properties to use to define boot 
features:</p><ul><li><tt>featuresRepositories</tt> contains a list (coma 
separated) of features repositories (features XML) 
URLs.</li><li><tt>featuresBoot</tt> contains a list (come separated) of 
features to install at boot.</li></ul><h2 id="Featuresupgrade">Features 
upgrade</h2><p>Right now, Apache Karaf doesn't provide complete upgrade cycle 
for features.</p><p>Basically, a feature upgrade means:</p><ul><li>Uninstall 
the features first (eventually providing the feature version to uninstall), and 
the
  features repository.</li><li>Register the new version of the features 
repository and install the features with the target version.</li></ul><h2 
id="Featurebundles">Feature bundles</h2><h3 id="StartLevel">Start 
Level</h3><p>By default, the bundles deployed by a feature will have a 
start-level equals to the value defined in the 
<tt>etc/config.properties</tt><br/>configuration file, in the 
<tt>karaf.startlevel.bundle</tt> property.</p><p>This value can be "overrided" 
by the <tt>start-level</tt> attribute of the <tt>&lt;bundle/></tt> element, in 
the features XML.</p><pre>
+</pre><p>We can note that the features XML has a schema. Take a look on <a 
href="provisioning-schema.html">Features XML Schema section</a> of the user 
guide<br/>for details.<br/>The <tt>feature1</tt> feature is available in 
version <tt>1.0.0</tt>, and contains two bundles. The <tt>&lt;bundle/></tt> 
element contains a URL<br/>to the bundle artifact (see <a 
href="urls.html">Artifacts repositories and URLs section</a> for details). If 
you install the <tt>feature1</tt> feature<br/>(using <tt>feature:install</tt> 
or the FeatureMBean as described later), Apache Karaf will automatically 
installs the two bundles<br/>described.<br/>The <tt>feature2</tt> feature is 
available in version <tt>1.1.0</tt>, and contains a reference to the 
<tt>feature1</tt> feature and a bundle.<br/>The <tt>&lt;feature/></tt> element 
contains the name of a feature. A specific feature version can be defined using 
the <tt>version</tt><br/>attribute to the <tt>&lt;feature/></tt> element 
(<tt>&lt;feature version="1.0.0"
 >feature1&lt;/feature></tt>). If the <tt>version</tt> attribute is<br/>not 
 >specified, Apache Karaf will install the latest version available. If you 
 >install the <tt>feature2</tt> feature (using <tt>feature:install</tt><br/>or 
 >the FeatureMBean as described later), Apache Karaf will automatically 
 >installs <tt>feature1</tt> (if it's not already installed)<br/>and the 
 >bundle.</p><p>A feature repository is registered using the URL to the 
 >features XML file.</p><p>The features state is stored in the Apache Karaf 
 >cache (in the <tt>KARAF_DATA</tt> folder). You can restart Apache Karaf, 
 >the<br/>previously installed features remain installed and available after 
 >restart.<br/>If you do a clean restart or you delete the Apache Karaf cache 
 >(delete the <tt>KARAF_DATA</tt> folder), all previously 
 >features<br/>repositories registered and features installed will be lost: you 
 >will have to register the features repositories and install<br/>features by 
 >hand again.<br/>To prevent this behaviour, you can s
 pecify features as boot features.</p><h2 id="Bootfeatures">Boot 
features</h2><p>You can describe some features as boot features. A boot feature 
will be automatically install by Apache Karaf, even if it has<br/>not been 
previously installed using <tt>feature:install</tt> or 
FeatureMBean.</p><p>Apache Karaf features configuration is located in the 
<tt>etc/org.apache.karaf.features.cfg</tt> configuration file.</p><p>This 
configuration file contains the two properties to use to define boot 
features:</p><ul><li><tt>featuresRepositories</tt> contains a list (coma 
separated) of features repositories (features XML) 
URLs.</li><li><tt>featuresBoot</tt> contains a list (come separated) of 
features to install at boot.</li></ul><h2 id="Featuresupgrade">Features 
upgrade</h2><p>You can update a release by installing the same feature (with 
the same SNAPSHOT version or a different version).</p><p>Thanks to the features 
lifecycle, you can control the status of the feature (started, stopped, 
etc).</p>
 <p>You can also use a simulation to see what the update will do.</p><h2 
id="Featurebundles">Feature bundles</h2><h3 id="StartLevel">Start 
Level</h3><p>By default, the bundles deployed by a feature will have a 
start-level equals to the value defined in the 
<tt>etc/config.properties</tt><br/>configuration file, in the 
<tt>karaf.startlevel.bundle</tt> property.</p><p>This value can be "overrided" 
by the <tt>start-level</tt> attribute of the <tt>&lt;bundle/></tt> element, in 
the features XML.</p><pre>
   &lt;feature name="my-project" version="1.0.0">
     &lt;bundle 
start-level="80">mvn:com.mycompany.myproject/myproject-dao&lt;/bundle>
     &lt;bundle 
start-level="85">mvn:com.mycompany.myproject/myproject-service&lt;/bundle>
   &lt;/feature>
-</pre><p>The start-level attribute insure that the <tt>myproject-dao</tt> 
bundle is started before the bundles that use it.</p><p>Instead of using 
start-level, a better solution is to simply let the OSGi framework know what 
your dependencies are by<br/>defining the packages or services you need. It is 
more robust than setting start levels.</p><h3 id="Startandstop">Start and 
stop</h3><p>You can install a bundle without starting it. By default, the 
bundles in a feature are automatically started.</p><p>A feature can specify 
that a bundle should not be started automatically (the bundle stays in resolved 
state).<br/>To do so, a feature can specify the <tt>start</tt> attribute to 
false in the <tt>&lt;bundle/></tt> element:</p><pre>
+</pre><p>The start-level attribute insure that the <tt>myproject-dao</tt> 
bundle is started before the bundles that use it.</p><p>Instead of using 
start-level, a better solution is to simply let the OSGi framework know what 
your dependencies are by<br/>defining the packages or services you need. It is 
more robust than setting start levels.</p><h3 
id="SimulateStartandstop">Simulate, Start and stop</h3><p>You can simulate the 
installation of a feature using the <tt>-t</tt> option to 
<tt>feature:install</tt> command.</p><p>You can install a bundle without 
starting it. By default, the bundles in a feature are automatically 
started.</p><p>A feature can specify that a bundle should not be started 
automatically (the bundle stays in resolved state).<br/>To do so, a feature can 
specify the <tt>start</tt> attribute to false in the <tt>&lt;bundle/></tt> 
element:</p><pre>
   &lt;feature name="my-project" version="1.0.0">
     &lt;bundle start-level="80" 
start="false">mvn:com.mycompany.myproject/myproject-dao&lt;/bundle>
     &lt;bundle start-level="85" 
start="false">mvn:com.mycompany.myproject/myproject-service&lt;/bundle>
   &lt;/feature>
-</pre><div class="warning" style="border: 1px solid #c00;background-color: 
#fcc;margin: 20px;padding: 0px 6px 0px 6px;"><p>Before Apache Karaf 3.0.0 the 
start-level was not considered during the feature startup, but only the order 
in which bundles<br/>are defined in your feature.xml.<br/>Starting with Apache 
Karaf 3.0.0, the start-level is considered correctly.<br/>If you need to use 
the old behavior you can uncomment and set the 
<tt>respectStartLvlDuringFeatureStartup</tt> property to false 
in<br/><tt>etc/org.apache.karaf.features.xml</tt> configuration file.<br/>Note 
that it will be removed in 4.0 and should therefore be used only 
temporarily.</p></div><h3 id="Dependency">Dependency</h3><p>A bundle can be 
flagged as being a dependency, using the <tt>dependency</tt> attribute set to 
true on the <tt>&lt;bundle/></tt> element.</p><p>This information can be used 
by resolvers to compute the full list of bundles to be installed.</p><h2 
id="Dependentfeatures">Dependent features</h2><p>A 
 feature can depend to a set of other features:</p><pre>
+</pre><h3 id="Dependency">Dependency</h3><p>A bundle can be flagged as being a 
dependency, using the <tt>dependency</tt> attribute set to true on the 
<tt>&lt;bundle/></tt> element.</p><p>This information can be used by resolvers 
to compute the full list of bundles to be installed.</p><h2 
id="Dependentfeatures">Dependent features</h2><p>A feature can depend to a set 
of other features:</p><pre>
   &lt;feature name="my-project" version="1.0.0">
     &lt;feature>other&lt;/feature>
     &lt;bundle start-level="80" 
start="false">mvn:com.mycompany.myproject/myproject-dao&lt;/bundle>
@@ -139,28 +141,28 @@
 &lt;/config>
 </pre><p>The <tt>name</tt> attribute of the <tt>&lt;config/></tt> element 
corresponds to the configuration PID (see the <a 
href="configuration.html">Configuration section</a> for details).</p><p>The 
installation of the feature will have the same effect as dropping a file named 
<tt>com.foo.bar.cfg</tt> in the <tt>etc</tt> folder.</p><p>The content of the 
<tt>&lt;config/></tt> element is a set of properties, following the key=value 
standard.</p><h2 id="Featureconfigurationfiles">Feature configuration 
files</h2><p>Instead of using the <tt>&lt;config/></tt> element, a feature can 
specify <tt>&lt;configfile/></tt> elements.</p><pre>
 &lt;configfile finalname="/etc/myfile.cfg" override="false">URL&lt;/configfile>
-</pre><p>Instead of directly manipulating the Apache Karaf configuration layer 
(as when using the <tt>&lt;config/></tt> element), 
the<br/><tt>&lt;configfile/></tt> element takes directly a file specified by a 
URL, and copy the file in the location specified by the<br/><tt>finalname</tt> 
attribute. The location is relative from the <tt>KARAF_BASE</tt> variable. If 
the file is already present at<br/>the desired location it is kept and the 
deployment of the configuration file is skipped, as a already existing file 
might<br/>contain customization. This behaviour can be overriden by 
<tt>override</tt> set to true. </p><p>The file URL is any URL supported by 
Apache Karaf (see the <a href="urls.html">Artifacts repositories and URLs</a> 
of the user guide for details).</p><h2 id="Featureresolver">Feature 
resolver</h2><p>A feature accepts a <tt>resolver</tt> attribute:</p><pre>
-&lt;feature name="my-project" version="1.0.0" resolver="(obr)">
-...
-&lt;/feature>
-</pre><p>This <tt>resolver</tt> attribute forces the usage of a specific 
resolver, instead of the default resolution process.</p><p>A resolver is used 
to obtain the list of bundles to install, when installing the 
feature.</p><p>The default resolver simply returns the list of bundles as 
described by the <tt>&lt;bundle/></tt> elements in a feature.</p><p>You can 
install a OBR (OSGi Bundle Repository) resolver instead of the default 
one.<br/>The OBR resolver use the OBR service to get the list of bundles to 
install (see the <a href="obr.html">OBR section</a> of the user guide for 
details).</p><h2 id="Commands">Commands</h2><h3 
id="featurerepolist"><tt>feature:repo-list</tt></h3><p>The 
<tt>feature:repo-list</tt> command lists all registered features 
repository:</p><pre>
+</pre><p>Instead of directly manipulating the Apache Karaf configuration layer 
(as when using the <tt>&lt;config/></tt> element), 
the<br/><tt>&lt;configfile/></tt> element takes directly a file specified by a 
URL, and copy the file in the location specified by the<br/><tt>finalname</tt> 
attribute. The location is relative from the <tt>KARAF_BASE</tt> variable. If 
the file is already present at<br/>the desired location it is kept and the 
deployment of the configuration file is skipped, as a already existing file 
might<br/>contain customization. This behaviour can be overriden by 
<tt>override</tt> set to true. </p><p>The file URL is any URL supported by 
Apache Karaf (see the <a href="urls.html">Artifacts repositories and URLs</a> 
of the user guide for details).</p><h3 id="Requirements">Requirements</h3><p>A 
feature can also specify expected requirements. The feature resolver will try 
to satisfy the requirements. For that, it checks<br/>the features and bundles 
capabilities and will au
 tomatically install the bundles to satisfy the requirements.</p><p>For 
instance, a feature can contain:</p><pre>
+&lt;requirement>osgi.ee;filter:=&quot;&amp;osgi.ee=JavaSE)(!(version&gt;1.8)))&quot;/requirement>
+</pre><p>The requirement specifies that the feature will work by only if the 
JDK version is not 1.8 (so basically 1.7).</p><p>The features resolver is also 
able to refresh the bundles when an optional dependency is satisfy, rewiring 
the optional import.</p><h2 id="Commands">Commands</h2><h3 
id="featurerepolist"><tt>feature:repo-list</tt></h3><p>The 
<tt>feature:repo-list</tt> command lists all registered features 
repository:</p><pre>
 karaf@root()> feature:repo-list
-Repository                | URL
-------------------------------------------------------------------------------------------------
-standard-3.0.0            | 
mvn:org.apache.karaf.features/standard/3.0.0/xml/features
-enterprise-3.0.0          | 
mvn:org.apache.karaf.features/enterprise/3.0.0/xml/features
-org.ops4j.pax.web-3.0.5   | 
mvn:org.ops4j.pax.web/pax-web-features/3.0.5/xml/features
-spring-3.0.0              | 
mvn:org.apache.karaf.features/spring/3.0.0/xml/features
+Repository               | URL
+--------------------------------------------------------------------------------------
+org.ops4j.pax.cdi-0.12.0 | 
mvn:org.ops4j.pax.cdi/pax-cdi-features/0.12.0/xml/features
+org.ops4j.pax.web-4.1.4  | 
mvn:org.ops4j.pax.web/pax-web-features/4.1.4/xml/features
+standard-4.0.0           | 
mvn:org.apache.karaf.features/standard/4.0.0/xml/features
+enterprise-4.0.0         | 
mvn:org.apache.karaf.features/enterprise/4.0.0/xml/features
+spring-4.0.0             | 
mvn:org.apache.karaf.features/spring/4.0.0/xml/features
 </pre><p>Each repository has a name and the URL to the features 
XML.</p><p>Apache Karaf parses the features XML when you register the features 
repository URL (using <tt>feature:repo-add</tt> command<br/>or the FeatureMBean 
as described later). If you want to force Apache Karaf to reload the features 
repository URL (and<br/>so update the features definition), you can use the 
<tt>-r</tt> option:</p><pre>
 karaf@root()> feature:repo-list -r
 Reloading all repositories from their urls
 
-Repository                | URL
-------------------------------------------------------------------------------------------------
-standard-3.0.0            | 
mvn:org.apache.karaf.features/standard/3.0.0/xml/features
-org.ops4j.pax.web-3.0.5   | 
mvn:org.ops4j.pax.web/pax-web-features/3.0.5/xml/features
-enterprise-3.0.0          | 
mvn:org.apache.karaf.features/enterprise/3.0.0/xml/features
-spring-3.0.0              | 
mvn:org.apache.karaf.features/spring/3.0.0/xml/features
+Repository               | URL
+--------------------------------------------------------------------------------------
+org.ops4j.pax.cdi-0.12.0 | 
mvn:org.ops4j.pax.cdi/pax-cdi-features/0.12.0/xml/features
+org.ops4j.pax.web-4.1.4  | 
mvn:org.ops4j.pax.web/pax-web-features/4.1.4/xml/features
+standard-4.0.0           | 
mvn:org.apache.karaf.features/standard/4.0.0/xml/features
+enterprise-4.0.0         | 
mvn:org.apache.karaf.features/enterprise/4.0.0/xml/features
+spring-4.0.0             | 
mvn:org.apache.karaf.features/spring/4.0.0/xml/features
 </pre><h3 id="featurerepoadd"><tt>feature:repo-add</tt></h3><p>To register a 
features repository (and so having new features available in Apache Karaf), you 
have to use the<br/><tt>feature:repo-add</tt> command.</p><p>The 
<tt>feature:repo-add</tt> command requires the <tt>name/url</tt> argument. This 
argument accepts:</p><ul><li>a feature repository URL. It's an URL directly to 
the features XML file. Any URL described in the <a href="urls.html">Artifacts 
repositories and URLs section</a><p> of the user guide is 
supported.</p></li><li>a feature repository name defined in the 
<tt>etc/org.apache.karaf.features.repos.cfg</tt> configuration 
file.</li></ul><p>The <tt>etc/org.apache.karaf.features.repos.cfg</tt> defines 
a list of "pre-installed/available" features repositories:</p><pre>
 
################################################################################
 #
@@ -185,98 +187,136 @@ spring-3.0.0              | mvn:org.apac
 # This file describes the features repository URL
 # It could be directly installed using feature:repo-add command
 #
-
-cellar       = org.apache.karaf.cellar:apache-karaf-cellar:xml:features:(0,]
-camel        = org.apache.camel.karaf:apache-camel:xml:features:(0,]
-camel-extras = 
org.apache-extras.camel-extra.karaf:camel-extra:xml:features:(0,]
-cxf          = org.apache.cxf.karaf:apache-cxf:xml:features:(0,]
-cxf-dosgi    = org.apache.cxf.dosgi:cxf-dosgi:xml:features:(0,]
-activemq     = org.apache.activemq:activemq-karaf:xml:features:(0,]
-jclouds      = org.jclouds.karaf:jclouds-karaf:xml:features:(0,]
-openejb      = org.apache.openejb:openejb-feature:xml:features:(0,]
-wicket       = org.ops4j.pax.wicket:features:xml:features:(0,]
-hawtio       = io.hawt:hawtio-karaf:xml:features:(0,]
+enterprise=mvn:org.apache.karaf.features/enterprise/LATEST/xml/features
+spring=mvn:org.apache.karaf.features/spring/LATEST/xml/features
+cellar=mvn:org.apache.karaf.cellar/apache-karaf-cellar/LATEST/xml/features
+cave=mvn:org.apache.karaf.cave/apache-karaf-cave/LATEST/xml/features
+camel=mvn:org.apache.camel.karaf/apache-camel/LATEST/xml/features
+camel-extras=mvn:org.apache-extras.camel-extra.karaf/camel-extra/LATEST/xml/features
+cxf=mvn:org.apache.cxf.karaf/apache-cxf/LATEST/xml/features
+cxf-dosgi=mvn:org.apache.cxf.dosgi/cxf-dosgi/LATEST/xml/features
+cxf-xkms=mvn:org.apache.cxf.services.xkms/cxf-services-xkms-features/LATEST/xml
+activemq=mvn:org.apache.activemq/activemq-karaf/LATEST/xml/features
+jclouds=mvn:org.apache.jclouds.karaf/jclouds-karaf/LATEST/xml/features
+openejb=mvn:org.apache.openejb/openejb-feature/LATEST/xml/features
+wicket=mvn:org.ops4j.pax.wicket/features/LATEST/xml/features
+hawtio=mvn:io.hawt/hawtio-karaf/LATEST/xml/features
+pax-cdi=mvn:org.ops4j.pax.cdi/pax-cdi-features/LATEST/xml/features
+pax-jdbc=mvn:org.ops4j.pax.jdbc/pax-jdbc-features/LATEST/xml/features
+pax-jpa=mvn:org.ops4j.pax.jpa/pax-jpa-features/LATEST/xml/features
+pax-web=mvn:org.ops4j.pax.web/pax-web-features/LATEST/xml/features
+pax-wicket=mvn:org.ops4j.pax.wicket/pax-wicket-features/LATEST/xml/features
+ecf=http://download.eclipse.org/rt/ecf/latest/site.p2/karaf-features.xml
+decanter=mvn:org.apache.karaf.decanter/apache-karaf-decanter/LATEST/xml/features
 </pre><p>You can directly provide a features repository name to the 
<tt>feature:repo-add</tt> command. For install, to install Apache Karaf Cellar, 
you can do:</p><pre>
 karaf@root()> feature:repo-add cellar
 Adding feature url 
mvn:org.apache.karaf.cellar/apache-karaf-cellar/LATEST/xml/features
 </pre><p>When you don't provide the optional <tt>version</tt> argument, Apache 
Karaf installs the latest version of the features repository available.<br/>You 
can specify a target version with the <tt>version</tt> argument:</p><pre>
-karaf@root()> feature:repo-add cellar 2.3.1
-Adding feature url 
mvn:org.apache.karaf.cellar/apache-karaf-cellar/2.3.1/xml/features
+karaf@root()> feature:repo-add cellar 4.0.0.RC1
+Adding feature url 
mvn:org.apache.karaf.cellar/apache-karaf-cellar/4.0.0.RC1/xml/features
 </pre><p>Instead of providing a features repository name defined in the 
<tt>etc/org.apache.karaf.features.repos.cfg</tt> configuration file,<br/>you 
can directly provide the features repository URL to the 
<tt>feature:repo-add</tt> command:</p><pre>
-karaf@root()> feature:repo-add 
mvn:org.apache.karaf.cellar/apache-karaf-cellar/2.3.1/xml/features
-Adding feature url 
mvn:org.apache.karaf.cellar/apache-karaf-cellar/2.3.1/xml/features
+karaf@root()> feature:repo-add 
mvn:org.apache.karaf.cellar/apache-karaf-cellar/4.0.0.RC1/xml/features
+Adding feature url 
mvn:org.apache.karaf.cellar/apache-karaf-cellar/4.0.0.RC1/xml/features
 </pre><p>By default, the <tt>feature:repo-add</tt> command just registers the 
features repository, it doesn't install any feature.<br/>If you specify the 
<tt>-i</tt> option, the <tt>feature:repo-add</tt> command registers the 
features repository and installs all<br/>features described in this features 
repository:</p><pre>
 karaf@root()> feature:repo-add -i cellar
 </pre><h3 id="featurereporefresh"><tt>feature:repo-refresh</tt></h3><p>Apache 
Karaf parses the features repository XML when you register it (using 
<tt>feature:repo-add</tt> command or the FeatureMBean).<br/>If the features 
repository XML changes, you have to indicate to Apache Karaf to refresh the 
features repository to load the changes.</p><p>The 
<tt>feature:repo-refresh</tt> command refreshes the features 
repository.</p><p>Without argument, the command refreshes all features 
repository:</p><pre>
 karaf@root()> feature:repo-refresh
-Refreshing feature url 
mvn:org.apache.karaf.features/standard/3.0.0/xml/features
-Refreshing feature url 
mvn:org.apache.karaf.features/enterprise/3.0.0/xml/features
-Refreshing feature url 
mvn:org.ops4j.pax.web/pax-web-features/3.0.4/xml/features
-Refreshing feature url mvn:org.apache.karaf.features/spring/3.0.0/xml/features
+Refreshing feature url 
mvn:org.ops4j.pax.cdi/pax-cdi-features/0.12.0/xml/features
+Refreshing feature url 
mvn:org.ops4j.pax.web/pax-web-features/4.1.4/xml/features
+Refreshing feature url 
mvn:org.apache.karaf.features/standard/4.0.0/xml/features
+Refreshing feature url 
mvn:org.apache.karaf.features/enterprise/4.0.0/xml/features
+Refreshing feature url mvn:org.apache.karaf.features/spring/4.0.0/xml/features
 </pre><p>Instead of refreshing all features repositories, you can specify the 
features repository to refresh, by providing the URL<br/>or the features 
repository name (and optionally version):</p><pre>
-karaf@root()> feature:repo-refresh 
mvn:org.apache.karaf.features/standard/3.0.0-SNAPSHOT/xml/features
-Refreshing feature url 
mvn:org.apache.karaf.features/standard/3.0.0-SNAPSHOT/xml/features
+karaf@root()> feature:repo-refresh 
mvn:org.apache.karaf.features/standard/4.0.0/xml/features
+Refreshing feature url 
mvn:org.apache.karaf.features/standard/4.0.0/xml/features
 </pre><pre>
 karaf@root()> feature:repo-refresh cellar
 Refreshing feature url 
mvn:org.apache.karaf.cellar/apache-karaf-cellar/LATEST/xml/features
 </pre><h3 id="featurereporemove"><tt>feature:repo-remove</tt></h3><p>The 
<tt>feature:repo-remove</tt> command removes a features repository from the 
registered ones.</p><p>The <tt>feature:repo-remove</tt> command requires a 
argument:</p><ul><li>the features repository name (as displayed in the 
repository column of the <tt>feature:repo-list</tt> command output)</li><li>the 
features repository URL (as displayed in the URL column of the 
<tt>feature:repo-list</tt> command output)</li></ul><pre>
-karaf@root()> feature:repo-remove karaf-cellar-3.0.0
+karaf@root()> feature:repo-remove karaf-cellar-4.0.0.RC1
 </pre><pre>
 karaf@root()> feature:repo-remove 
mvn:org.apache.karaf.cellar/apache-karaf-cellar/LATEST/xml/features
 </pre><p>By default, the <tt>feature:repo-remove</tt> command just removes the 
features repository from the registered ones: it doesn't<br/>uninstall the 
features provided by the features repository.</p><p>If you use <tt>-u</tt> 
option, the <tt>feature:repo-remove</tt> command uninstalls all features 
described by the features repository:</p><pre>
-karaf@root()> feature:repo-remove -u karaf-cellar-3.0.0
+karaf@root()> feature:repo-remove -u karaf-cellar-4.0.0.RC1
 </pre><h3 id="featurelist"><tt>feature:list</tt></h3><p>The 
<tt>feature:list</tt> command lists all available features (provided by the 
different registered features repositories):</p><pre>
-karaf@root()> feature:list
-Name                          | Version         | Installed | Repository       
         | Description
---------------------------------------------------------------------------------------------------------------------------------------------
-standard                      | 3.0.0           | x         | standard-3.0.0   
         | Karaf standard feature
-aries-annotation              | 3.0.0           |           | standard-3.0.0   
         | Aries Annotations
-wrapper                       | 3.0.0           |           | standard-3.0.0   
         | Provide OS integration
-service-wrapper               | 3.0.0           |           | standard-3.0.0   
         | Provide OS integration (alias to wrapper feature)
-obr                           | 3.0.0           |           | standard-3.0.0   
         | Provide OSGi Bundle Repository (OBR) support
-config                        | 3.0.0           | x         | standard-3.0.0   
         | Provide OSGi ConfigAdmin support
-region                        | 3.0.0           | x         | standard-3.0.0   
         | Provide Region Support
+Name                          | Version                          | Required | 
State       | Repository               | Description
+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+pax-cdi                       | 0.12.0                           |          | 
Uninstalled | org.ops4j.pax.cdi-0.12.0 | Provide CDI support
+pax-cdi-1.1                   | 0.12.0                           |          | 
Uninstalled | org.ops4j.pax.cdi-0.12.0 | Provide CDI 1.1 support
+pax-cdi-1.2                   | 0.12.0                           |          | 
Uninstalled | org.ops4j.pax.cdi-0.12.0 | Provide CDI 1.2 support
+pax-cdi-weld                  | 0.12.0                           |          | 
Uninstalled | org.ops4j.pax.cdi-0.12.0 | Weld CDI support
+pax-cdi-1.1-weld              | 0.12.0                           |          | 
Uninstalled | org.ops4j.pax.cdi-0.12.0 | Weld CDI 1.1 support
+pax-cdi-1.2-weld              | 0.12.0                           |          | 
Uninstalled | org.ops4j.pax.cdi-0.12.0 | Weld CDI 1.2 support
+pax-cdi-openwebbeans          | 0.12.0                           |          | 
Uninstalled | org.ops4j.pax.cdi-0.12.0 | OpenWebBeans CDI support
+pax-cdi-web                   | 0.12.0                           |          | 
Uninstalled | org.ops4j.pax.cdi-0.12.0 | Web CDI support
+pax-cdi-1.1-web               | 0.12.0                           |          | 
Uninstalled | org.ops4j.pax.cdi-0.12.0 | Web CDI 1.1 support
 ...
 </pre><p>If you want to order the features by alphabetical name, you can use 
the <tt>-o</tt> option:</p><pre>
 karaf@root()> feature:list -o
-Name                          | Version         | Installed | Repository       
         | Description
---------------------------------------------------------------------------------------------------------------------------------------------
-aries-annotation              | 3.0.0-SNAPSHOT  |           | 
standard-3.0.0-SNAPSHOT   | Aries Annotations
-blueprint-web                 | 3.0.0-SNAPSHOT  |           | 
standard-3.0.0-SNAPSHOT   | Provides an OSGI-aware Servlet ContextListener for
-config                        | 3.0.0-SNAPSHOT  | x         | 
standard-3.0.0-SNAPSHOT   | Provide OSGi ConfigAdmin support
-eventadmin                    | 3.0.0-SNAPSHOT  |           | 
standard-3.0.0-SNAPSHOT   | OSGi Event Admin service specification for event-b
-http                          | 3.0.0-SNAPSHOT  |           | 
standard-3.0.0-SNAPSHOT   | Implementation of the OSGI HTTP Service
-http-whiteboard               | 3.0.0-SNAPSHOT  |           | 
standard-3.0.0-SNAPSHOT   | Provide HTTP Whiteboard pattern support
+Name                          | Version                          | Required | 
State       | Repository               | Description
+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+deltaspike-core               | 1.2.1                            |          | 
Uninstalled | org.ops4j.pax.cdi-0.12.0 | Apache Deltaspike core support
+deltaspike-data               | 1.2.1                            |          | 
Uninstalled | org.ops4j.pax.cdi-0.12.0 | Apache Deltaspike data support
+deltaspike-jpa                | 1.2.1                            |          | 
Uninstalled | org.ops4j.pax.cdi-0.12.0 | Apache Deltaspike jpa support
+deltaspike-partial-bean       | 1.2.1                            |          | 
Uninstalled | org.ops4j.pax.cdi-0.12.0 | Apache Deltaspike partial bean support
+pax-cdi                       | 0.12.0                           |          | 
Uninstalled | org.ops4j.pax.cdi-0.12.0 | Provide CDI support
+pax-cdi-1.1                   | 0.12.0                           |          | 
Uninstalled | org.ops4j.pax.cdi-0.12.0 | Provide CDI 1.1 support
+pax-cdi-1.1-web               | 0.12.0                           |          | 
Uninstalled | org.ops4j.pax.cdi-0.12.0 | Web CDI 1.1 support
+pax-cdi-1.1-web-weld          | 0.12.0                           |          | 
Uninstalled | org.ops4j.pax.cdi-0.12.0 | Weld Web CDI 1.1 support
+pax-cdi-1.1-weld              | 0.12.0                           |          | 
Uninstalled | org.ops4j.pax.cdi-0.12.0 | Weld CDI 1.1 support
+pax-cdi-1.2                   | 0.12.0                           |          | 
Uninstalled | org.ops4j.pax.cdi-0.12.0 | Provide CDI 1.2 support
 ...
 </pre><p>By default, the <tt>feature:list</tt> command displays all features, 
whatever their current state (installed or not installed).</p><p>Using the 
<tt>-i</tt> option displays only installed features:</p><pre>
 karaf@root()> feature:list -i
-Name       | Version        | Installed | Repository              | Description
-----------------------------------------------------------------------------------------------------------------------
-standard   | 3.0.0          | x         | standard-3.0.0          | Karaf 
standard feature
-config     | 3.0.0          | x         | standard-3.0.0          | Provide 
OSGi ConfigAdmin support
-region     | 3.0.0          | x         | standard-3.0.0          | Provide 
Region Support
-package    | 3.0.0          | x         | standard-3.0.0          | Package 
commands and mbeans
-kar        | 3.0.0          | x         | standard-3.0.0          | Provide 
KAR (KARaf archive) support
-ssh        | 3.0.0          | x         | standard-3.0.0          | Provide a 
SSHd server on Karaf
-management | 3.0.0          | x         | standard-3.0.0          | Provide a 
JMX MBeanServer and a set of MBeans in K
+Name            | Version | Required | State   | Repository     | Description
+-------------------------------------------------------------------------------------------------------------------
+aries-proxy     | 4.0.0   |          | Started | standard-4.0.0 | Aries Proxy
+aries-blueprint | 4.0.0   | x        | Started | standard-4.0.0 | Aries 
Blueprint
+feature         | 4.0.0   | x        | Started | standard-4.0.0 | Features 
Support
+shell           | 4.0.0   | x        | Started | standard-4.0.0 | Karaf Shell
+shell-compat    | 4.0.0   | x        | Started | standard-4.0.0 | Karaf Shell 
Compatibility
+deployer        | 4.0.0   | x        | Started | standard-4.0.0 | Karaf 
Deployer
+bundle          | 4.0.0   | x        | Started | standard-4.0.0 | Provide 
Bundle support
+config          | 4.0.0   | x        | Started | standard-4.0.0 | Provide OSGi 
ConfigAdmin support
+diagnostic      | 4.0.0   | x        | Started | standard-4.0.0 | Provide 
Diagnostic support
+instance        | 4.0.0   | x        | Started | standard-4.0.0 | Provide 
Instance support
+jaas            | 4.0.0   | x        | Started | standard-4.0.0 | Provide JAAS 
support
+log             | 4.0.0   | x        | Started | standard-4.0.0 | Provide Log 
support
+package         | 4.0.0   | x        | Started | standard-4.0.0 | Package 
commands and mbeans
+service         | 4.0.0   | x        | Started | standard-4.0.0 | Provide 
Service support
+system          | 4.0.0   | x        | Started | standard-4.0.0 | Provide 
System support
+kar             | 4.0.0   | x        | Started | standard-4.0.0 | Provide KAR 
(KARaf archive) support
+ssh             | 4.0.0   | x        | Started | standard-4.0.0 | Provide a 
SSHd server on Karaf
+management      | 4.0.0   | x        | Started | standard-4.0.0 | Provide a 
JMX MBeanServer and a set of MBeans in
+wrap            | 0.0.0   | x        | Started | standard-4.0.0 | Wrap URL 
handler
 </pre><h3 id="featureinstall"><tt>feature:install</tt></h3><p>The 
<tt>feature:install</tt> command installs a feature.</p><p>It requires the 
<tt>feature</tt> argument. The <tt>feature</tt> argument is the name of the 
feature, or the name/version of the feature.<br/>If only the name of the 
feature is provided (not the version), the latest version available will be 
installed.</p><pre>
 karaf@root()> feature:install eventadmin
-</pre><pre>
-karaf@root()> feature:install eventadmin/3.0.0
+</pre><p>We can simulate an installation using <tt>-t</tt> or 
<tt>--simulate</tt> option: it just displays what it would do, but it doesn't 
do it:</p><pre>
+karaf@root()> feature:install -t -v eventadmin
+Adding features: eventadmin/[4.0.0,4.0.0]
+No deployment change.
+  Managing bundle:
+    org.apache.felix.metatype / 1.0.12
+</pre><p>You can specify a feature version to install:</p><pre>
+karaf@root()> feature:install eventadmin/4.0.0
 </pre><p>By default, the <tt>feature:install</tt> command is not verbose. If 
you want to have some details about actions performed by the 
<tt>feature:install</tt><br/>command, you can use the <tt>-v</tt> 
option:</p><pre>
 karaf@root()> feature:install -v eventadmin
-Installing feature eventadmin 3.0.0
-Found installed bundle: org.apache.felix.eventadmin [80]
+Adding features: eventadmin/[4.0.0,4.0.0]
+No deployment change.
+Done.
 </pre><p>If a feature contains a bundle which is already installed, by 
default, Apache Karaf will refresh this bundle.<br/>Sometime, this refresh can 
cause issue to other running applications. If you want to disable the 
auto-refresh of installed<br/>bundles, you can use the <tt>-r</tt> 
option:</p><pre>
 karaf@root()> feature:install -v -r eventadmin
-Installing feature eventadmin 3.0.0
-Installing bundle mvn:org.apache.felix/org.apache.felix.eventadmin/1.3.2
-</pre><p>If the installation of a failure fails (for any reason), by default, 
Apache Karaf will uninstall all bundles installed by the feature.<br/>It will 
go back in the state before the installation of the feature.</p><p>If you want 
to keep the bundles in the feature successfully installed, you can use the 
<tt>-c</tt> option. Even if the complete feature<br/>installation fails, the 
feature successfully installed bundles remain installed.</p><h3 
id="featureuninstall"><tt>feature:uninstall</tt></h3><p>The 
<tt>feature:uninstall</tt> command uninstalls a feature. As the 
<tt>feature:install</tt> command, the <tt>feature:uninstall</tt> 
command<br/>requires the <tt>feature</tt> argument. The <tt>feature</tt> 
argument is the name of the feature, or the name/version of the feature.<br/>If 
only the name of the feature is provided (not the version), the latest version 
available will be installed.</p><pre>
+Adding features: eventadmin/[4.0.0,4.0.0]
+No deployment change.
+Done.
+</pre><p>You can decide to not start the bundles installed by a feature using 
the <tt>-s</tt> or <tt>--no-auto-start</tt> option:</p><pre>
+karaf@root()> feature:install -s eventadmin
+</pre><h3 id="featurestart"><tt>feature:start</tt></h3><p>By default, when you 
install a feature, it's automatically installed. However, you can specify the 
<tt>-s</tt> option to the <tt>feature:install</tt> command.</p><p>As soon as 
you install a feature (started or not), all packages provided by the bundles 
defined in the feature will be available, and can be used for<br/>the wiring in 
other bundles.</p><p>When starting a feature, all bundles are started, and so, 
the feature also exposes the services.</p><h3 
id="featurestop"><tt>feature:stop</tt></h3><p>You can also stop a feature: it 
means that all services provided by the feature will be stop and removed from 
the service registry. However, the packages<br/>are still available for the 
wiring (the bundles are in resolved state).</p><h3 
id="featureuninstall"><tt>feature:uninstall</tt></h3><p>The 
<tt>feature:uninstall</tt> command uninstalls a feature. As the 
<tt>feature:install</tt> command, the <tt>feature:uninstall</tt> command<b
 r/>requires the <tt>feature</tt> argument. The <tt>feature</tt> argument is 
the name of the feature, or the name/version of the feature.<br/>If only the 
name of the feature is provided (not the version), the latest version available 
will be installed.</p><pre>
 karaf@root()> feature:uninstall eventadmin
-</pre><h2 id="Deployer">Deployer</h2><p>You can "hot deploy" a features XML by 
dropping the file directly in the <tt>deploy</tt> folder.</p><p>Apache Karaf 
provides a features deployer.</p><p>When you drop a features XML in the deploy 
folder, the features deployer does:</p><ul><li>register the features XML as a 
features repository</li><li>the features with <tt>install</tt> attribute set to 
"auto" will be automatically installed by the features 
deployer.</li></ul><p>For instance, dropping the following XML in the deploy 
folder will automatically install feature1 and feature2, whereas<br/>feature3 
won't be installed:</p><pre>
+</pre><p>The features resolver is involved during feature uninstallation: 
transitive features installed by the uninstalled feature can be 
uninstalled<br/>themselves if not used by other feature.</p><h2 
id="Deployer">Deployer</h2><p>You can "hot deploy" a features XML by dropping 
the file directly in the <tt>deploy</tt> folder.</p><p>Apache Karaf provides a 
features deployer.</p><p>When you drop a features XML in the deploy folder, the 
features deployer does:</p><ul><li>register the features XML as a features 
repository</li><li>the features with <tt>install</tt> attribute set to "auto" 
will be automatically installed by the features deployer.</li></ul><p>For 
instance, dropping the following XML in the deploy folder will automatically 
install feature1 and feature2, whereas<br/>feature3 won't be installed:</p><pre>
 &lt;?xml version="1.0" encoding="UTF-8"?>
-&lt;features name="my-features" 
xmlns="http://karaf.apache.org/xmlns/features/v1.2.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
-        xsi:schemaLocation="http://karaf.apache.org/xmlns/features/v1.2.0 
http://karaf.apache.org/xmlns/features/v1.2.0";>
+&lt;features name="my-features" 
xmlns="http://karaf.apache.org/xmlns/features/v1.3.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+        xsi:schemaLocation="http://karaf.apache.org/xmlns/features/v1.3.0 
http://karaf.apache.org/xmlns/features/v1.3.0";>
 
     &lt;feature name="feature1" version="1.0" install="auto">
         ...
@@ -311,7 +351,7 @@ karaf@root()> feature:uninstall eventadm
         <td id="cell-3-2">
           <div id="footer">
             <div id="site-footer">
-              &copy; 2008-2011 The Apache Software Foundation
+              &copy; 2008-2014 The Apache Software Foundation
               <br/>
               Apache Karaf, Karaf, Apache, the Apache feather logo, and the 
Apache Karaf project logo are trademarks of The Apache Software Foundation.
             </div>

Modified: karaf/site/production/manual/latest/users-guide/remote.html
URL: 
http://svn.apache.org/viewvc/karaf/site/production/manual/latest/users-guide/remote.html?rev=1688715&r1=1688714&r2=1688715&view=diff
==============================================================================
--- karaf/site/production/manual/latest/users-guide/remote.html (original)
+++ karaf/site/production/manual/latest/users-guide/remote.html Wed Jul  1 
19:43:35 2015
@@ -8,7 +8,7 @@
     <link href="../css/style.css" rel="stylesheet" type="text/css"/>
     <link href="../css/pygmentize.css" rel="stylesheet" type="text/css"/>
     <title>
-      Apache Karaf 3.0.3-SNAPSHOT Guides
+      Apache Karaf 4.0.1-SNAPSHOT Guides
     </title>
   </head>
   <body>
@@ -148,17 +148,22 @@ sshRealm = karaf
 #
 hostKey = ${karaf.etc}/host.key
 
+#
+# Role name used for SSH access authorization
+# If not set, this defaults to the ${karaf.admin.role} configured in 
etc/system.properties
+#
+# sshRole = admin
 
 #
 # Self defined key size in 1024, 2048, 3072, or 4096
-# If not set, this defaults to 1024.
+# If not set, this defaults to 4096.
 #
-# keySize = 1024
+# keySize = 4096
 
 #
-# Specify host key algorithm, defaults to DSA
+# Specify host key algorithm, defaults to RSA
 #
-# algorithm = DSA
+# algorithm = RSA
 
 #
 # Defines the completion mode on the Karaf shell console. The possible values 
are:
@@ -172,7 +177,7 @@ hostKey = ${karaf.etc}/host.key
 # You can change the completion mode directly in the shell console, using 
shell:completion command.
 #
 completionMode = GLOBAL
-</pre><p>The <tt>etc/org.apache.karaf.shell.cfg</tt> configuration file 
contains different properties to configure the SSHd 
server:</p><ul><li><tt>sshPort</tt> is the port number where the SSHd server is 
bound (by default, it's 8101).</li><li><tt>sshHost</tt> is the address of the 
network interface where the SSHd server is bound. The default value is 
0.0.0.0,<p> meaning that the SSHd server is bound on all network interfaces. 
You can bind on a target interface providing the IP<br/> address of the network 
interface.</p></li><li><tt>hostKey</tt> is the location of the 
<tt>host.key</tt> file. By defaut, it uses <tt>etc/host.key</tt>. This file 
stores the public<p> and private key pair of the SSHd server.<br/> defined in 
<tt>etc/system.properties</tt>. See the <a href="security.html">Security 
section</a> of this user guide for details.</p></li><li><tt>keySize</tt> is the 
key size used by the SSHd server. The possible values are 1024, 2048, 3072, or 
4096. The default<p> value is 1024.</p
 ></li><li><tt>algorithm</tt> is the host key algorithm used by the SSHd 
 >server. The possible values are DSA or RSA. The default<p> value is 
 >DSA.</p><p>The SSHd server configuration can be changed at 
 >runtime:</p></li><li>by editing the <tt>etc/org.apache.karaf.shell.cfg</tt> 
 >configuration file</li><li>by using the <tt>config:*</tt> 
 >commands</li></ul><p>At runtime, when you change the SSHd server 
 >configuration, you have to restart the SSHd server to load the 
 >changes.<br/>You can do it with:</p><pre>
+</pre><p>The <tt>etc/org.apache.karaf.shell.cfg</tt> configuration file 
contains different properties to configure the SSHd 
server:</p><ul><li><tt>sshPort</tt> is the port number where the SSHd server is 
bound (by default, it's 8101).</li><li><tt>sshHost</tt> is the address of the 
network interface where the SSHd server is bound. The default value is 
0.0.0.0,<p> meaning that the SSHd server is bound on all network interfaces. 
You can bind on a target interface providing the IP<br/> address of the network 
interface.</p></li><li><tt>hostKey</tt> is the location of the 
<tt>host.key</tt> file. By defaut, it uses <tt>etc/host.key</tt>. This file 
stores the public<p> and private key pair of the SSHd 
server.</p></li><li><tt>sshRole</tt> is the default role used for SSH access. 
The default value is the value of <tt>karaf.admin.role</tt> property<p> defined 
in <tt>etc/system.properties</tt>. See the <a href="security.html">Security 
section</a> of this user guide for details.</p></li><li><tt>
 keySize</tt> is the key size used by the SSHd server. The possible values are 
1024, 2048, 3072, or 4096. The default<p> value is 
1024.</p></li><li><tt>algorithm</tt> is the host key algorithm used by the SSHd 
server. The possible values are DSA or RSA. The default<p> value is 
DSA.</p><p>The SSHd server configuration can be changed at 
runtime:</p></li><li>by editing the <tt>etc/org.apache.karaf.shell.cfg</tt> 
configuration file</li><li>by using the <tt>config:*</tt> 
commands</li></ul><p>At runtime, when you change the SSHd server configuration, 
you have to restart the SSHd server to load the changes.<br/>You can do it 
with:</p><pre>
 karaf@root()> bundle:restart -f org.apache.karaf.shell.ssh
 </pre><p>The Apache Karaf SSHd server supports key/agent authentication and 
password authentication.</p><h3 id="Consoleclients">Console clients</h3><h4 
id="Systemnativeclients">System native clients</h4><p>The Apache Karaf SSHd 
server is a pure SSHd server, similar to OpenSSH daemon.</p><p>It means that 
you can use directly a SSH client from your system.</p><p>For instance, on 
Unix, you can directly use OpenSSH:</p><pre>
 ~$ ssh -p 8101 karaf@localhost
@@ -187,7 +192,7 @@ Password:
      / /| |/ /_/ / /  / /_/ / __/
     /_/ |_|\__,_/_/   \__,_/_/
 
-  Apache Karaf (3.0.0)
+  Apache Karaf (4.0.0)
 
 Hit '&lt;tab>' for a list of available commands
 and '[cmd] --help' for help on a specific command.
@@ -236,7 +241,7 @@ Connected
      / /| |/ /_/ / /  / /_/ / __/
     /_/ |_|\__,_/_/   \__,_/_/
 
-  Apache Karaf (3.0.0)
+  Apache Karaf (4.0.0)
 
 Hit '&lt;tab>' for a list of available commands
 and '[cmd] --help' for help on a specific command.
@@ -281,7 +286,7 @@ Logging in as karaf
      / /| |/ /_/ / /  / /_/ / __/
     /_/ |_|\__,_/_/   \__,_/_/
 
-  Apache Karaf (3.0.0)
+  Apache Karaf (4.0.0)
 
 Hit '&lt;tab>' for a list of available commands
 and '[cmd] --help' for help on a specific command.
@@ -352,7 +357,7 @@ mvn deploy:deploy-file -Dfile=org.apache
         <td id="cell-3-2">
           <div id="footer">
             <div id="site-footer">
-              &copy; 2008-2011 The Apache Software Foundation
+              &copy; 2008-2014 The Apache Software Foundation
               <br/>
               Apache Karaf, Karaf, Apache, the Apache feather logo, and the 
Apache Karaf project logo are trademarks of The Apache Software Foundation.
             </div>

Modified: karaf/site/production/manual/latest/users-guide/security.html
URL: 
http://svn.apache.org/viewvc/karaf/site/production/manual/latest/users-guide/security.html?rev=1688715&r1=1688714&r2=1688715&view=diff
==============================================================================
--- karaf/site/production/manual/latest/users-guide/security.html (original)
+++ karaf/site/production/manual/latest/users-guide/security.html Wed Jul  1 
19:43:35 2015
@@ -8,7 +8,7 @@
     <link href="../css/style.css" rel="stylesheet" type="text/css"/>
     <link href="../css/pygmentize.css" rel="stylesheet" type="text/css"/>
     <title>
-      Apache Karaf 3.0.3-SNAPSHOT Guides
+      Apache Karaf 4.0.1-SNAPSHOT Guides
     </title>
   </head>
   <body>
@@ -305,7 +305,7 @@ org.osgi.framework.bootdelegation = ...,
         <td id="cell-3-2">
           <div id="footer">
             <div id="site-footer">
-              &copy; 2008-2011 The Apache Software Foundation
+              &copy; 2008-2014 The Apache Software Foundation
               <br/>
               Apache Karaf, Karaf, Apache, the Apache feather logo, and the 
Apache Karaf project logo are trademarks of The Apache Software Foundation.
             </div>

Modified: karaf/site/production/manual/latest/users-guide/start-stop.html
URL: 
http://svn.apache.org/viewvc/karaf/site/production/manual/latest/users-guide/start-stop.html?rev=1688715&r1=1688714&r2=1688715&view=diff
==============================================================================
--- karaf/site/production/manual/latest/users-guide/start-stop.html (original)
+++ karaf/site/production/manual/latest/users-guide/start-stop.html Wed Jul  1 
19:43:35 2015
@@ -8,7 +8,7 @@
     <link href="../css/style.css" rel="stylesheet" type="text/css"/>
     <link href="../css/pygmentize.css" rel="stylesheet" type="text/css"/>
     <title>
-      Apache Karaf 3.0.3-SNAPSHOT Guides
+      Apache Karaf 4.0.1-SNAPSHOT Guides
     </title>
   </head>
   <body>
@@ -109,7 +109,7 @@ bin/karaf
      / /| |/ /_/ / /  / /_/ / __/
     /_/ |_|\__,_/_/   \__,_/_/
 
-  Apache Karaf (3.0.0)
+  Apache Karaf (4.0.0)
 
 Hit '&lt;tab>' for a list of available commands
 and '[cmd] --help' for help on a specific command.
@@ -124,7 +124,7 @@ bin\karaf.bat
      / /| |/ /_/ / /  / /_/ / __/
     /_/ |_|\__,_/_/   \__,_/_/
 
-  Apache Karaf (3.0.0)
+  Apache Karaf (4.0.0)
 
 Hit '&lt;tab>' for a list of available commands
 and '[cmd] --help' for help on a specific command.
@@ -167,7 +167,7 @@ Logging in as karaf
      / /| |/ /_/ / /  / /_/ / __/
     /_/ |_|\__,_/_/   \__,_/_/
 
-  Apache Karaf (3.0.0)
+  Apache Karaf (4.0.0)
 
 Hit '&lt;tab>' for a list of available commands
 and '[cmd] --help' for help on a specific command.
@@ -185,7 +185,7 @@ Logging in as karaf
      / /| |/ /_/ / /  / /_/ / __/
     /_/ |_|\__,_/_/   \__,_/_/
 
-  Apache Karaf (3.0.0-SNAPSHOT)
+  Apache Karaf (4.0.0-SNAPSHOT)
 
 Hit '&lt;tab>' for a list of available commands
 and '[cmd] --help' for help on a specific command.
@@ -234,7 +234,7 @@ Password:
      / /| |/ /_/ / /  / /_/ / __/
     /_/ |_|\__,_/_/   \__,_/_/
 
-  Apache Karaf (3.0.0-SNAPSHOT)
+  Apache Karaf (4.0.0-SNAPSHOT)
 
 Hit '&lt;tab>' for a list of available commands
 and '[cmd] --help' for help on a specific command.
@@ -313,7 +313,7 @@ karaf@root()> system:shutdown -r
         <td id="cell-3-2">
           <div id="footer">
             <div id="site-footer">
-              &copy; 2008-2011 The Apache Software Foundation
+              &copy; 2008-2014 The Apache Software Foundation
               <br/>
               Apache Karaf, Karaf, Apache, the Apache feather logo, and the 
Apache Karaf project logo are trademarks of The Apache Software Foundation.
             </div>

Modified: karaf/site/production/manual/latest/users-guide/tuning.html
URL: 
http://svn.apache.org/viewvc/karaf/site/production/manual/latest/users-guide/tuning.html?rev=1688715&r1=1688714&r2=1688715&view=diff
==============================================================================
--- karaf/site/production/manual/latest/users-guide/tuning.html (original)
+++ karaf/site/production/manual/latest/users-guide/tuning.html Wed Jul  1 
19:43:35 2015
@@ -8,7 +8,7 @@
     <link href="../css/style.css" rel="stylesheet" type="text/css"/>
     <link href="../css/pygmentize.css" rel="stylesheet" type="text/css"/>
     <title>
-      Apache Karaf 3.0.3-SNAPSHOT Guides
+      Apache Karaf 4.0.1-SNAPSHOT Guides
     </title>
   </head>
   <body>
@@ -101,7 +101,7 @@
               </td>
               <td height="100%" width="100%">
                 <div class="wiki-content">
-<h1 id="Tuning">Tuning</h1><h2 id="GarbageCollection">Garbage 
Collection</h2><p>Like any Java applications, Apache Karaf uses a JVM. An 
important feature of the JVM is the Garbage Collector.</p><p>Apache Karaf 
default configuration is sized for small to medium needs and to work on most 
machine.</p><p>That's why this default configuration may appear like 
"small".</p><p>By default, Apache Karaf 
uses:</p><ul><li><tt>-Xms128M</tt></li><li><tt>-Xmx512M</tt></li><li><tt>-XX:+UnlockDiagnosticVMOptions</tt></li><li><tt>-XX:+UnsyncloadClass</tt></li></ul><p>On
 Sun/Oracle JVM:</p><ul><li>the Perm size is the JVM default</li></ul><p>On IBM 
JVM and AIX 
system:</p><ul><li><tt>-Xverify:none</tt></li><li><tt>-Xdump:heap</tt></li><li><tt>-Xlp</tt></li></ul><p>For
 any container, it's always difficult to predict the usage of the resources and 
the behaviour of the artifacts deployed.</p><p>Generally speaking, a good 
approach for tuning is to enable <tt>-verbose:gc</tt> and use tools like 
VisualVM to i
 dentify the potentials<br/>memory leaks, and see the possible optimisation of 
the spaces and GC.</p><p>You can find introduction about GC here: <a 
href="http://www.oracle.com/webfolder/technetwork/tutorials/obe/java/gc01/index.html";>http://www.oracle.com/webfolder/technetwork/tutorials/obe/java/gc01/index.html</a>.</p><h3
 id="Java6">Java 6</h3><p>If you have enough resources available on the 
machine, a good configuration may 
be:</p><ul><li><tt>-server</tt></li><li><tt>-Xmx1024M</tt></li><li><tt>-XX:MaxPermSize=640M</tt></li><li><tt>-XX:+UseConcMarkSweepGC</tt></li><li><tt>-XX:+UseParNewGC</tt></li><li><tt>-XX:+CMSClassUnloadingEnabled</tt></li></ul><p>It
 will give more resources to Apache Karaf, and avoid some perm space saturation 
if you do a lot of bundles refresh.</p><p>See <a 
href="http://www.oracle.com/technetwork/java/javase/gc-tuning-6-140523.html";>http://www.oracle.com/technetwork/java/javase/gc-tuning-6-140523.html</a>
 for details about Java 6 tuning.</p><h3 id="Java7">Java
  7</h3><p>Java 7 introduces a new GC algorithm: the GC1.</p><p>Depending of 
the use cases (and usage of the heap), the new GC1 algorithm can give good 
performance 
improvements:</p><ul><li><tt>-XX:+UseG1GC</tt></li><li><tt>-XX:-UseAdaptiveSizePolicy</tt></li></ul><p>See
 <a 
href="http://docs.oracle.com/javase/7/docs/technotes/guides/vm/G1.html";>http://docs.oracle.com/javase/7/docs/technotes/guides/vm/G1.html</a>
 for details about Java 7 GC1 tuning.</p><p>You can find a good article about 
Java 7 tuning here: <a 
href="http://java-is-the-new-c.blogspot.de/2013/07/tuning-and-benchmarking-java-7s-garbage.html";>http://java-is-the-new-c.blogspot.de/2013/07/tuning-and-benchmarking-java-7s-garbage.html</a>.</p><h2
 id="Threads">Threads</h2><p>In high loaded system, the number of threads can 
be very large.</p><h3 id="WebContainer">WebContainer</h3><p>If you use the 
Apache Karaf WebContainer, the Jetty connectors create threads to handle the 
incoming HTTP requests.</p><p>The <tt>etc/jetty.xml</tt
 > configuration file allows you to tune the Jetty connector.</p><p>For 
 > instance, the following connector configuration:</p><pre>
+<h1 id="Tuning">Tuning</h1><h2 id="GarbageCollection">Garbage 
Collection</h2><p>Like any Java applications, Apache Karaf uses a JVM. An 
important feature of the JVM is the Garbage Collector.</p><p>Apache Karaf 
default configuration is sized for small to medium needs and to work on most 
machine.</p><p>That's why this default configuration may appear like 
"small".</p><p>By default, Apache Karaf 
uses:</p><ul><li><tt>-Xms128M</tt></li><li><tt>-Xmx512M</tt></li><li><tt>-XX:+UnlockDiagnosticVMOptions</tt></li><li><tt>-XX:+UnsyncloadClass</tt></li></ul><p>On
 Sun/Oracle JVM:</p><ul><li>the Perm size is the JVM default (for Java 
7)</li></ul><p>On IBM JVM and AIX 
system:</p><ul><li><tt>-Xverify:none</tt></li><li><tt>-Xdump:heap</tt></li><li><tt>-Xlp</tt></li></ul><p>For
 any container, it's always difficult to predict the usage of the resources and 
the behaviour of the artifacts deployed.</p><p>Generally speaking, a good 
approach for tuning is to enable <tt>-verbose:gc</tt> and use tools like 
 VisualVM to identify the potentials<br/>memory leaks, and see the possible 
optimisation of the spaces and GC.</p><p>You can find introduction about GC 
here: <a 
href="http://www.oracle.com/webfolder/technetwork/tutorials/obe/java/gc01/index.html";>http://www.oracle.com/webfolder/technetwork/tutorials/obe/java/gc01/index.html</a>.</p><h3
 id="Java6">Java 6</h3><p>If you have enough resources available on the 
machine, a good configuration may 
be:</p><ul><li><tt>-server</tt></li><li><tt>-Xmx1024M</tt></li><li><tt>-XX:MaxPermSize=640M</tt></li><li><tt>-XX:+UseConcMarkSweepGC</tt></li><li><tt>-XX:+UseParNewGC</tt></li><li><tt>-XX:+CMSClassUnloadingEnabled</tt></li></ul><p>It
 will give more resources to Apache Karaf, and avoid some perm space saturation 
if you do a lot of bundles refresh.</p><p>See <a 
href="http://www.oracle.com/technetwork/java/javase/gc-tuning-6-140523.html";>http://www.oracle.com/technetwork/java/javase/gc-tuning-6-140523.html</a>
 for details about Java 6 tuning.</p><h3 id
 ="Java7">Java 7</h3><p>Java 7 introduces a new GC algorithm: the 
GC1.</p><p>Depending of the use cases (and usage of the heap), the new GC1 
algorithm can give good performance 
improvements:</p><ul><li><tt>-XX:+UseG1GC</tt></li><li><tt>-XX:-UseAdaptiveSizePolicy</tt></li></ul><p>See
 <a 
href="http://docs.oracle.com/javase/7/docs/technotes/guides/vm/G1.html";>http://docs.oracle.com/javase/7/docs/technotes/guides/vm/G1.html</a>
 for details about Java 7 GC1 tuning.</p><p>You can find a good article about 
Java 7 tuning here: <a 
href="http://java-is-the-new-c.blogspot.de/2013/07/tuning-and-benchmarking-java-7s-garbage.html";>http://java-is-the-new-c.blogspot.de/2013/07/tuning-and-benchmarking-java-7s-garbage.html</a>.</p><h2
 id="Threads">Threads</h2><p>In high loaded system, the number of threads can 
be very large.</p><h3 id="WebContainer">WebContainer</h3><p>If you use the 
Apache Karaf WebContainer, the Jetty connectors create threads to handle the 
incoming HTTP requests.</p><p>The <tt>etc/
 jetty.xml</tt> configuration file allows you to tune the Jetty 
connector.</p><p>For instance, the following connector configuration:</p><pre>
     &lt;Call name="addConnector">
         &lt;Arg>
             &lt;New 
class="org.eclipse.jetty.server.nio.SelectChannelConnector">
@@ -144,7 +144,7 @@
         <td id="cell-3-2">
           <div id="footer">
             <div id="site-footer">
-              &copy; 2008-2011 The Apache Software Foundation
+              &copy; 2008-2014 The Apache Software Foundation
               <br/>
               Apache Karaf, Karaf, Apache, the Apache feather logo, and the 
Apache Karaf project logo are trademarks of The Apache Software Foundation.
             </div>

Modified: karaf/site/production/manual/latest/users-guide/update.html
URL: 
http://svn.apache.org/viewvc/karaf/site/production/manual/latest/users-guide/update.html?rev=1688715&r1=1688714&r2=1688715&view=diff
==============================================================================
--- karaf/site/production/manual/latest/users-guide/update.html (original)
+++ karaf/site/production/manual/latest/users-guide/update.html Wed Jul  1 
19:43:35 2015
@@ -8,7 +8,7 @@
     <link href="../css/style.css" rel="stylesheet" type="text/css"/>
     <link href="../css/pygmentize.css" rel="stylesheet" type="text/css"/>
     <title>
-      Apache Karaf 3.0.3-SNAPSHOT Guides
+      Apache Karaf 4.0.1-SNAPSHOT Guides
     </title>
   </head>
   <body>
@@ -101,7 +101,7 @@
               </td>
               <td height="100%" width="100%">
                 <div class="wiki-content">
-<h1 id="Updateprocedure">Update procedure</h1><h2 
id="FromKaraf3.0.xtoKaraf3.0.x">From Karaf 3.0.x to Karaf 3.0.x</h2><h2 
id="FromKaraf2.2.xtoKaraf3.0.x">From Karaf 2.2.x to Karaf 3.0.x</h2>
+<h1 id="Updateprocedure">Update procedure</h1><h2 
id="FromKaraf4.0.xtoKaraf4.0.x">From Karaf 4.0.x to Karaf 4.0.x</h2><h2 
id="FromKaraf3.0.xtoKaraf4.0.x">From Karaf 3.0.x to Karaf 4.0.x</h2>
                 </div>
               </td>
             </tr>
@@ -121,7 +121,7 @@
         <td id="cell-3-2">
           <div id="footer">
             <div id="site-footer">
-              &copy; 2008-2011 The Apache Software Foundation
+              &copy; 2008-2014 The Apache Software Foundation
               <br/>
               Apache Karaf, Karaf, Apache, the Apache feather logo, and the 
Apache Karaf project logo are trademarks of The Apache Software Foundation.
             </div>

Modified: karaf/site/production/manual/latest/users-guide/urls.html
URL: 
http://svn.apache.org/viewvc/karaf/site/production/manual/latest/users-guide/urls.html?rev=1688715&r1=1688714&r2=1688715&view=diff
==============================================================================
--- karaf/site/production/manual/latest/users-guide/urls.html (original)
+++ karaf/site/production/manual/latest/users-guide/urls.html Wed Jul  1 
19:43:35 2015
@@ -8,7 +8,7 @@
     <link href="../css/style.css" rel="stylesheet" type="text/css"/>
     <link href="../css/pygmentize.css" rel="stylesheet" type="text/css"/>
     <title>
-      Apache Karaf 3.0.3-SNAPSHOT Guides
+      Apache Karaf 4.0.1-SNAPSHOT Guides
     </title>
   </head>
   <body>
@@ -129,7 +129,7 @@ http://www.example.org/repo@snapshots
         <td id="cell-3-2">
           <div id="footer">
             <div id="site-footer">
-              &copy; 2008-2011 The Apache Software Foundation
+              &copy; 2008-2014 The Apache Software Foundation
               <br/>
               Apache Karaf, Karaf, Apache, the Apache feather logo, and the 
Apache Karaf project logo are trademarks of The Apache Software Foundation.
             </div>

Modified: karaf/site/production/manual/latest/users-guide/webconsole.html
URL: 
http://svn.apache.org/viewvc/karaf/site/production/manual/latest/users-guide/webconsole.html?rev=1688715&r1=1688714&r2=1688715&view=diff
==============================================================================
--- karaf/site/production/manual/latest/users-guide/webconsole.html (original)
+++ karaf/site/production/manual/latest/users-guide/webconsole.html Wed Jul  1 
19:43:35 2015
@@ -8,7 +8,7 @@
     <link href="../css/style.css" rel="stylesheet" type="text/css"/>
     <link href="../css/pygmentize.css" rel="stylesheet" type="text/css"/>
     <title>
-      Apache Karaf 3.0.3-SNAPSHOT Guides
+      Apache Karaf 4.0.1-SNAPSHOT Guides
     </title>
   </head>
   <body>
@@ -123,7 +123,7 @@ karaf@root()> feature:install webconsole
         <td id="cell-3-2">
           <div id="footer">
             <div id="site-footer">
-              &copy; 2008-2011 The Apache Software Foundation
+              &copy; 2008-2014 The Apache Software Foundation
               <br/>
               Apache Karaf, Karaf, Apache, the Apache feather logo, and the 
Apache Karaf project logo are trademarks of The Apache Software Foundation.
             </div>

Modified: karaf/site/production/manual/latest/users-guide/webcontainer.html
URL: 
http://svn.apache.org/viewvc/karaf/site/production/manual/latest/users-guide/webcontainer.html?rev=1688715&r1=1688714&r2=1688715&view=diff
==============================================================================
--- karaf/site/production/manual/latest/users-guide/webcontainer.html (original)
+++ karaf/site/production/manual/latest/users-guide/webcontainer.html Wed Jul  
1 19:43:35 2015
@@ -8,7 +8,7 @@
     <link href="../css/style.css" rel="stylesheet" type="text/css"/>
     <link href="../css/pygmentize.css" rel="stylesheet" type="text/css"/>
     <title>
-      Apache Karaf 3.0.3-SNAPSHOT Guides
+      Apache Karaf 4.0.1-SNAPSHOT Guides
     </title>
   </head>
   <body>
@@ -193,7 +193,7 @@ DTD Configure//EN" "http://jetty.mortbay
 
 &lt;/Configure>
 </pre><p>The <tt>SelectChannelConnector</tt> defines the default connector of 
the WebContainer.</p><p>This connector defines the 8181 port number for the 
HTTP protocol (<tt>port</tt> property), and the 8443 port number for 
the<br/>HTTPS protocol (<tt>confidentialPort</tt> property).</p><p>By default, 
Apache Karaf bind these ports on all network interfaces (<tt>0.0.0.0</tt>). You 
can config the <tt>host</tt> property<br/>to bind on a specific network 
interface (with a given IP address).</p><p>The following resources give you 
details about advanced <tt>etc/jetty.xml</tt> configurations:</p><ul><li><a 
href="http://wiki.eclipse.org/Jetty/Howto/Configure_Jetty";>Standard 
configuration</a></li><li><a 
href="http://wiki.eclipse.org/Jetty/Howto/Configure_SSL";>Enable 
SSL</a></li><li><a 
href="http://wiki.eclipse.org/Jetty/Reference/jetty.xml_syntax";>Reference</a></li></ul><h2
 id="Deploy">Deploy</h2><p>Apache Karaf WebContainer is able to 
deploy:</p><ul><li>pure OSGi WebApplication Bundle (WAB)<
 /li><li>"classical" standard WebApplication aRchive (WAR)</li></ul><h3 
id="WABWebApplicationBundle">WAB (WebApplication Bundle)</h3><p>A WAB is a 
standard WAR or JAR archive containing at least the following properties in the 
MANIFEST:</p><ul><li><tt>Bundle-ManifestVersion: 2</tt> defines that the bundle 
follows the rules of R4 specification.</li><li><tt>Bundle-SymbolicName</tt> 
specifies a unique, non-localizable name for the bundle. This name should be 
based on the<p> reverse domain name 
convention.</p></li><li><tt>Web-ContextPath</tt> specifies the location of the 
web application.</li></ul><p>WAB can be deployed directly in Apache Karaf, for 
instance, by dropping the archive in the <tt>deploy</tt> folder, or using 
the<br/><tt>bundle:install</tt> command.</p><p>For instance, the Apache Karaf 
manual (documentation) is available as a WAB that you can deploy directly in a 
running instance:</p><pre>
-karaf@root()> bundle:install -s mvn:org.apache.karaf/manual/3.0.0/war
+karaf@root()> bundle:install -s mvn:org.apache.karaf/manual/4.0.0/war
 </pre><h3 id="WARWebApplicationaRchive">WAR (WebApplication 
aRchive)</h3><p>Apache Karaf allows you to deploy directly WAR files without 
repackaging as WAB.</p><p>Using the <tt>webbundle</tt> prefix and providing 
headers directly on the URL, Apache Karaf creates a WAB "on the fly".</p><p>For 
instance, you can deploy the Apache Tomcat sample non-OSGi "classical" WAR with 
the following command:</p><pre>
 karaf@root()> bundle:install -s 
"webbundle:http://tomcat.apache.org/tomcat-7.0-doc/appdev/sample/sample.war?Bundle-SymbolicName=tomcat-sample&amp;Web-ContextPath=/sample";
 </pre><p>You can note the <tt>webbundle</tt> prefix, and the 
<tt>Bundle-SymbolicName</tt> and <tt>Web-ContextPath</tt> headers on the 
URL.</p><h2 id="Commands">Commands</h2><h3 
id="httplist"><tt>http:list</tt></h3><p>The <tt>http:list</tt> lists the 
available Servlets deployed in the WebContainer.</p><p>For instance, if you 
have installed the Apache Karaf WebConsole, you can see the WebConsole 
Servlets:</p><pre>
@@ -207,7 +207,7 @@ ID  | Servlet          | Servlet-Name
 karaf@root()> web:list
 ID  | State       | Web-State   | Level | Web-ContextPath | Name
 
---------------------------------------------------------------------------------------------------
-111 | Active      | Deployed    | 80    | /karaf-doc      | Apache Karaf :: 
Manual (3.0.0)
+111 | Active      | Deployed    | 80    | /karaf-doc      | Apache Karaf :: 
Manual (4.0.0)
 </pre><h3 id="webstop"><tt>web:stop</tt></h3><p>The <tt>web:stop</tt> command 
stops a web application in the WebContainer. The <tt>web:stop</tt> command 
expects a <tt>id</tt> argument<br/>corresponding to the bundle ID (as displayed 
by the <tt>web:list</tt> command).</p><p>For instance, to stop the Apache Karaf 
manual web application:</p><pre>
 karaf@root()> web:stop 111
 </pre><h3 id="webstart"><tt>web:start</tt></h3><p>The <tt>web:start</tt> 
command starts a web application in the WebContainer. The <tt>web:start</tt> 
command expects a <tt>id</tt> argument<br/>corresponding to the bundle ID (as 
displayed by the <tt>web:list</tt> command).</p><p>For instance, to start the 
Apache Karaf manual web application:</p><pre>
@@ -232,7 +232,7 @@ karaf@root()> web:start 111
         <td id="cell-3-2">
           <div id="footer">
             <div id="site-footer">
-              &copy; 2008-2011 The Apache Software Foundation
+              &copy; 2008-2014 The Apache Software Foundation
               <br/>
               Apache Karaf, Karaf, Apache, the Apache feather logo, and the 
Apache Karaf project logo are trademarks of The Apache Software Foundation.
             </div>

Modified: karaf/site/production/manual/latest/users-guide/wrapper.html
URL: 
http://svn.apache.org/viewvc/karaf/site/production/manual/latest/users-guide/wrapper.html?rev=1688715&r1=1688714&r2=1688715&view=diff
==============================================================================
--- karaf/site/production/manual/latest/users-guide/wrapper.html (original)
+++ karaf/site/production/manual/latest/users-guide/wrapper.html Wed Jul  1 
19:43:35 2015
@@ -8,7 +8,7 @@
     <link href="../css/style.css" rel="stylesheet" type="text/css"/>
     <link href="../css/pygmentize.css" rel="stylesheet" type="text/css"/>
     <title>
-      Apache Karaf 3.0.3-SNAPSHOT Guides
+      Apache Karaf 4.0.1-SNAPSHOT Guides
     </title>
   </head>
   <body>
@@ -156,21 +156,22 @@ OPTIONS
                 (defaults to )
 </pre><p>The <tt>wrapper:install</tt> command detects the running Operating 
Service and provide the service/daemon ready to be integrated in your 
system.</p><p>For instance, on a Ubuntu/Debian Linux system:</p><pre>
 karaf@root()> wrapper:install
-Creating file: /opt/apache-karaf-3.0.0/bin/karaf-wrapper
-Creating file: /opt/apache-karaf-3.0.0/bin/karaf-service
-Creating file: /opt/apache-karaf-3.0.0/etc/karaf-wrapper.conf
-Creating file: /opt/apache-karaf-3.0.0/lib/libwrapper.so
-Creating file: /opt/apache-karaf-3.0.0/lib/karaf-wrapper.jar
-Creating file: /opt/apache-karaf-3.0.0/lib/karaf-wrapper-main.jar
+Creating file: /opt/apache-karaf-4.0.0/bin/karaf-wrapper
+Creating file: /opt/apache-karaf-4.0.0/bin/karaf-service
+Creating file: /opt/apache-karaf-4.0.0/etc/karaf-wrapper.conf
+Creating missing directory: /opt/apache-karaf-4.0.0/lib/wrapper
+Creating file: /opt/apache-karaf-4.0.0/lib/wrapper/libwrapper.so
+Creating file: /opt/apache-karaf-4.0.0/lib/wrapper/karaf-wrapper.jar
+Creating file: /opt/apache-karaf-4.0.0/lib/wrapper/karaf-wrapper-main.jar
 
 Setup complete.  You may wish to tweak the JVM properties in the wrapper 
configuration file:
-        /opt/apache-karaf-3.0.0/etc/karaf-wrapper.conf
+        /opt/apache-karaf-4.0.0/etc/karaf-wrapper.conf
 before installing and starting the service.
 
 
 Ubuntu/Debian Linux system detected:
   To install the service:
-    $ ln -s /opt/apache-karaf-3.0.0/bin/karaf-service /etc/init.d/
+    $ ln -s /opt/apache-karaf-4.0.0/bin/karaf-service /etc/init.d/
 
   To start the service when the machine is rebooted:
     $ update-rc.d karaf-service defaults
@@ -188,7 +189,7 @@ Ubuntu/Debian Linux system detected:
     $ rm /etc/init.d/karaf-service
 
 </pre><p>You can note that <tt>wrapper:install</tt> command detected the 
running operating system ("Ubuntu/Debian Linux system detected").</p><p>You 
have a complete explanation and list of system commands to perform to integrate 
Apache Karaf in your system:</p><pre>
-ln -s /opt/apache-karaf-3.0.0/bin/karaf-service /etc/init.d/
+ln -s /opt/apache-karaf-4.0.0/bin/karaf-service /etc/init.d/
 update-rc.d karaf-service defaults
 </pre><h2 id="Uninstall">Uninstall</h2><p>The <tt>wrapper:install</tt> 
provides the system commands to perform to uninstall the 
service/daemon).</p><p>For instance, on Ubuntu/Debian, to uninstall the Apache 
Karaf service, you have to remove the <tt>karaf-service</tt> script from the 
runlevel scripts:</p><pre>
 rm /etc/init.d/karaf-service
@@ -229,10 +230,10 @@ launchctl remove org.apache.karaf.KARAF
 # Wrapper Properties
 #********************************************************************
 set.default.JAVA_HOME=/opt/jdk/1.7.0_21
-set.default.KARAF_HOME=/home/jbonofre/workspace/karaf/karaf/assemblies/apache-karaf/target/apache-karaf-3.0.0-SNAPSHOT
-set.default.KARAF_BASE=/home/jbonofre/workspace/karaf/karaf/assemblies/apache-karaf/target/apache-karaf-3.0.0-SNAPSHOT
-set.default.KARAF_DATA=/home/jbonofre/workspace/karaf/karaf/assemblies/apache-karaf/target/apache-karaf-3.0.0-SNAPSHOT/data
-set.default.KARAF_ETC=/home/jbonofre/workspace/karaf/karaf/assemblies/apache-karaf/target/apache-karaf-3.0.0-SNAPSHOT/etc
+set.default.KARAF_HOME=/opt/apache-karaf-4.0.0
+set.default.KARAF_BASE=/opt/apache-karaf-4.0.0
+set.default.KARAF_DATA=/opt/apache-karaf-4.0.0/data
+set.default.KARAF_ETC=/opt/apache-karaf-4.0.0/etc
 
 # Java Application
 wrapper.working.dir=%KARAF_BASE%
@@ -240,10 +241,9 @@ wrapper.java.command=%JAVA_HOME%/bin/jav
 wrapper.java.mainclass=org.apache.karaf.wrapper.internal.Main
 wrapper.java.classpath.1=%KARAF_HOME%/lib/karaf-wrapper.jar
 wrapper.java.classpath.2=%KARAF_HOME%/lib/karaf.jar
-wrapper.java.classpath.3=%KARAF_HOME%/lib/karaf-jmx-boot.jar
-wrapper.java.classpath.4=%KARAF_HOME%/lib/karaf-jaas-boot.jar
-wrapper.java.classpath.5=%KARAF_HOME%/lib/karaf-wrapper-main.jar
-wrapper.java.classpath.6=%KARAF_HOME%/lib/karaf-org.osgi.core.jar
+wrapper.java.classpath.3=%KARAF_HOME%/lib/karaf-jaas-boot.jar
+wrapper.java.classpath.4=%KARAF_HOME%/lib/karaf-wrapper-main.jar
+wrapper.java.classpath.5=%KARAF_HOME%/lib/karaf-org.osgi.core.jar
 wrapper.java.library.path.1=%KARAF_HOME%/lib/
 
 # Application Parameters.  Add parameters as needed starting from 1
@@ -256,11 +256,10 @@ wrapper.java.additional.2=-Dkaraf.base=%
 wrapper.java.additional.3=-Dkaraf.data=%KARAF_DATA%
 wrapper.java.additional.4=-Dkaraf.etc=%KARAF_ETC%
 wrapper.java.additional.5=-Dcom.sun.management.jmxremote
-wrapper.java.additional.6=-Djavax.management.builder.initial=org.apache.karaf.management.boot.KarafMBeanServerBuilder
-wrapper.java.additional.7=-Dkaraf.startLocalConsole=false
-wrapper.java.additional.8=-Dkaraf.startRemoteShell=true
-wrapper.java.additional.9=-Djava.endorsed.dirs=%JAVA_HOME%/jre/lib/endorsed:%JAVA_HOME%/lib/endorsed:%KARAF_HOME%/lib/endorsed
-wrapper.java.additional.10=-Djava.ext.dirs=%JAVA_HOME%/jre/lib/ext:%JAVA_HOME%/lib/ext:%KARAF_HOME%/lib/ext
+wrapper.java.additional.6=-Dkaraf.startLocalConsole=false
+wrapper.java.additional.7=-Dkaraf.startRemoteShell=true
+wrapper.java.additional.8=-Djava.endorsed.dirs=%JAVA_HOME%/jre/lib/endorsed:%JAVA_HOME%/lib/endorsed:%KARAF_HOME%/lib/endorsed
+wrapper.java.additional.9=-Djava.ext.dirs=%JAVA_HOME%/jre/lib/ext:%JAVA_HOME%/lib/ext:%KARAF_HOME%/lib/ext
 
 # Uncomment to enable jmx
 #wrapper.java.additional.n=-Dcom.sun.management.jmxremote.port=1616
@@ -363,7 +362,7 @@ wrapper.ntservice.interactive=false
         <td id="cell-3-2">
           <div id="footer">
             <div id="site-footer">
-              &copy; 2008-2011 The Apache Software Foundation
+              &copy; 2008-2014 The Apache Software Foundation
               <br/>
               Apache Karaf, Karaf, Apache, the Apache feather logo, and the 
Apache Karaf project logo are trademarks of The Apache Software Foundation.
             </div>


Reply via email to