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> -<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> +<features xmlns="http://karaf.apache.org/xmlns/features/v1.3.0"> <feature name="feature1" version="1.0.0"> <bundle>...</bundle> <bundle>...</bundle> @@ -112,17 +114,17 @@ <bundle>...</bundle> </feature> </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><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><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><feature/></tt> element (<tt><feature version="1.0.0" >feature1</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><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><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><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><feature/></tt> element (<tt><feature version="1.0.0" >feature1</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><bundle/></tt> element, in the features XML.</p><pre> <feature name="my-project" version="1.0.0"> <bundle start-level="80">mvn:com.mycompany.myproject/myproject-dao</bundle> <bundle start-level="85">mvn:com.mycompany.myproject/myproject-service</bundle> </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><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><bundle/></tt> element:</p><pre> <feature name="my-project" version="1.0.0"> <bundle start-level="80" start="false">mvn:com.mycompany.myproject/myproject-dao</bundle> <bundle start-level="85" start="false">mvn:com.mycompany.myproject/myproject-service</bundle> </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><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><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> <feature name="my-project" version="1.0.0"> <feature>other</feature> <bundle start-level="80" start="false">mvn:com.mycompany.myproject/myproject-dao</bundle> @@ -139,28 +141,28 @@ </config> </pre><p>The <tt>name</tt> attribute of the <tt><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><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><config/></tt> element, a feature can specify <tt><configfile/></tt> elements.</p><pre> <configfile finalname="/etc/myfile.cfg" override="false">URL</configfile> -</pre><p>Instead of directly manipulating the Apache Karaf configuration layer (as when using the <tt><config/></tt> element), the<br/><tt><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> -<feature name="my-project" version="1.0.0" resolver="(obr)"> -... -</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><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><config/></tt> element), the<br/><tt><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> +<requirement>osgi.ee;filter:="&osgi.ee=JavaSE)(!(version>1.8)))"/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> <?xml version="1.0" encoding="UTF-8"?> -<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"> +<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"> <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"> - © 2008-2011 The Apache Software Foundation + © 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 '<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 '<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 '<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"> - © 2008-2011 The Apache Software Foundation + © 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"> - © 2008-2011 The Apache Software Foundation + © 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 '<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 '<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 '<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 '<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 '<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"> - © 2008-2011 The Apache Software Foundation + © 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> <Call name="addConnector"> <Arg> <New class="org.eclipse.jetty.server.nio.SelectChannelConnector"> @@ -144,7 +144,7 @@ <td id="cell-3-2"> <div id="footer"> <div id="site-footer"> - © 2008-2011 The Apache Software Foundation + © 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"> - © 2008-2011 The Apache Software Foundation + © 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"> - © 2008-2011 The Apache Software Foundation + © 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"> - © 2008-2011 The Apache Software Foundation + © 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 </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&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"> - © 2008-2011 The Apache Software Foundation + © 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"> - © 2008-2011 The Apache Software Foundation + © 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>
