Added: servicemix/site/production/docs/7.x/users-guide/jre-tuning.html
URL: 
http://svn.apache.org/viewvc/servicemix/site/production/docs/7.x/users-guide/jre-tuning.html?rev=1730131&view=auto
==============================================================================
--- servicemix/site/production/docs/7.x/users-guide/jre-tuning.html (added)
+++ servicemix/site/production/docs/7.x/users-guide/jre-tuning.html Fri Feb 12 
22:27:08 2016
@@ -0,0 +1,426 @@
+
+<!DOCTYPE html>
+<html>
+<head>
+  <title>Apache ServiceMix Documentation - </title>
+
+  <link href="../theme/master.css" rel="stylesheet" type="text/css" />
+  <link href="../theme/pygmentize.css" rel="stylesheet" type="text/css" />
+  
+  <script type="text/javascript" src="../scripts/jquery.js"></script>
+  <script type="text/javascript" src="../scripts/jquery.cookie.js"></script>
+  <script type="text/javascript" src="../scripts/jquery.jstree.js"></script>
+
+  <script>
+    $(document).ready(function(){
+         $("#nav").jstree({
+               "themes": {
+                 "theme": "apple", "dots": false
+               },
+               "plugins" : [ "themes", "html_data", "cookies", "themes" ]
+         });
+    });
+  </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-398545-1']);
+    _gaq.push(['_trackPageview']);
+
+    (function() {
+      var ga = document.createElement('script'); ga.type = 'text/javascript'; 
ga.async = true;
+      ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 
'http://www') + '.google-analytics.com/ga.js';
+      var s = document.getElementsByTagName('script')[0]; 
s.parentNode.insertBefore(ga, s);
+    })();
+  </script>
+</head>
+<body>
+  <div id="page">
+    <div id="siteHeader">
+      <table width="100%">
+      <tr valign="middle">
+        <td align="left">
+            <a href="http://servicemix.apache.org/"; title="An open source ESB">
+            <img border="0" src="../images/logodesign.png" height="80"/><img 
border="0" height="80" src="../images/new-logo.png" />
+            </a>
+          </td>
+          <td align="right">
+            <a href="http://www.apache.org/"; title="The Apache Sofware 
Foundation">
+              <img border="0" height="60" src="../images/ASF-logo.png">
+            </a>
+            <ul class="siteNav">
+              <li><a href="../index.html" title="Overview">Guides 
Overview</a></li>
+              <li><a href="../contribute.html" 
title="Contributing?">Contributing?</a></li>
+              <li>
+                <form action="http://www.google.com/search"; method="get" 
style="font-size: 10px;">
+                  <input name="ie" type="hidden" value="UTF-8"></input>
+                  <input name="oe" type="hidden" value="UTF-8"></input>
+                  <input maxlength="255" name="q" size="15" type="text" 
value=""></input>
+                  <input name="btnG" type="submit" value="Search"></input>
+                  <input name="domains" type="hidden" 
value="servicemix.apache.org/docs/4.4.x"></input>
+                  <input name="sitesearch" type="hidden" 
value="servicemix.apache.org/docs/4.4.x"></input>
+                </form>
+              </li>
+            </ul>
+          </td>
+        </tr>
+      </table>
+    </div>
+    <div id="content">
+              <div id="nav">
+            <ul>
+  <li id="karaf-users-guide">
+    <a href="#">User's Guide</a>
+    <ul>
+      <li id="karaf-installation">
+        <a href="installation.html">Installation</a>
+      </li>
+      <li id="karaf-directory-structure">
+        <a href="directory-structure.html">Directory structure</a>
+      </li>
+      <li id="karaf-starting-and-stopping">
+        <a href="start-stop.html">Starting and stopping Karaf</a>
+      </li>
+      <li id="using-console">
+        <a href="using-console.html">Using the console</a>
+      </li>
+      <li id="web-console">
+        <a href="web-console.html">Web console</a>
+      </li>
+      <li id="remote-console">
+        <a href="remote-console.html">Remote console</a>
+      </li>
+      <li id="child-instances">
+        <a href="child-instances.html">Child instances</a>
+      </li>
+      <li id="security">
+        <a href="security.html">Security</a>
+      </li>
+      <li id="failover">
+        <a href="failover.html">Failover deployments</a>
+      </li>
+      <li id="logging-system">
+        <a href="logging-system.html">Logging system</a>
+      </li>
+      <li id="deployer">
+        <a href="deployer.html">Deployer</a>
+      </li>
+      <li id="configuration">
+        <a href="configuration.html">Configuration</a>
+      </li>
+    </ul>
+  </li>
+</ul>
+
+        </div>
+        <div id="body">
+                              <h1 id="JREandsystempackagestuning">JRE and 
system packages tuning</h1><p>Some packages are part of the JRE, but could be 
provided by tier libraries.</p><p>Some examples of package in this case 
are:</p><ul><li><p><tt>javax.xml.stream</tt> package is provided by the JRE, 
but also by Apache Geronimo Spec bundles (and the implementation of provided by 
Woodstox).</p></li><li><p><tt>com.sun.org.apache.xerces.internal.dom</tt> 
package is provided by the JRE, but also by Apache 
Xerces.</p></li><li><p><tt>javax.activation</tt> package is provided by the 
JRE, but also by Apache Geronimo Spec 
bundles.</p></li><li><p><tt>javax.annotation</tt> package is provided by the 
JRE, but also by Apache Geronimo Spec bundles.</p></li><li><p>etc 
...</p></li></ul><p>We should define in the Karaf instance which packages 
should be provided by the JRE or by tier bundles.</p><p>Moreover, we should 
manage the exported packages of JRE depending of the JRE version: the JRE 1.6 
provid
 es more packages<br/>than the 1.5 one.</p><p>To customize this in Karaf, you 
can tune the <tt>etc/jre.properties</tt> file.</p><p>In the 
<tt>etc/jre.properties</tt> file, you have two properties <tt>jre-1.5</tt> and 
<tt>jre-1.6</tt>.</p><p>They allow you to define the packages exported by the 
JRE (in function of the runtime version).<br/>Each property provide the 
exhaustive list of packages provided by the JRE (and so part of the sytem 
packages).</p><p>For instance, a "standard" Karaf distribution provides the 
following <tt>etc/jre.properties</tt>:</p><pre>
+#
+# Java platform package export properties.
+#
+
+# Standard package set.  Note that:
+#   - javax.transaction* is exported with a mandatory attribute
+jre-1.5= \
+ javax.accessibility, \
+ javax.activity, \
+ javax.crypto, \
+ javax.crypto.interfaces, \
+ javax.crypto.spec, \
+ javax.imageio, \
+ javax.imageio.event, \
+ javax.imageio.metadata, \
+ javax.imageio.plugins.bmp, \
+ javax.imageio.plugins.jpeg, \
+ javax.imageio.spi, \
+ javax.imageio.stream, \
+ javax.management, \
+ javax.management.loading, \
+ javax.management.modelmbean, \
+ javax.management.monitor, \
+ javax.management.openmbean, \
+ javax.management.relation, \
+ javax.management.remote, \
+ javax.management.remote.rmi, \
+ javax.management.timer, \
+ javax.naming, \
+ javax.naming.directory, \
+ javax.naming.event, \
+ javax.naming.ldap, \
+ javax.naming.spi, \
+ javax.net, \
+ javax.net.ssl, \
+ javax.print, \
+ javax.print.attribute, \
+ javax.print.attribute.standard, \
+ javax.print.event, \
+ javax.rmi, \
+ javax.rmi.CORBA, \
+ javax.rmi.ssl, \
+ javax.security.auth, \
+ javax.security.auth.callback, \
+ javax.security.auth.kerberos, \
+ javax.security.auth.login, \
+ javax.security.auth.spi, \
+ javax.security.auth.x500, \
+ javax.security.cert, \
+ javax.security.sasl, \
+ javax.sound.midi, \
+ javax.sound.midi.spi, \
+ javax.sound.sampled, \
+ javax.sound.sampled.spi, \
+ javax.sql, \
+ javax.sql.rowset, \
+ javax.sql.rowset.serial, \
+ javax.sql.rowset.spi, \
+ javax.swing, \
+ javax.swing.border, \
+ javax.swing.colorchooser, \
+ javax.swing.event, \
+ javax.swing.filechooser, \
+ javax.swing.plaf, \
+ javax.swing.plaf.basic, \
+ javax.swing.plaf.metal, \
+ javax.swing.plaf.multi, \
+ javax.swing.plaf.synth, \
+ javax.swing.table, \
+ javax.swing.text, \
+ javax.swing.text.html, \
+ javax.swing.text.html.parser, \
+ javax.swing.text.rtf, \
+ javax.swing.tree, \
+ javax.swing.undo, \
+ javax.transaction; javax.transaction.xa; partial=true; mandatory:=partial, \
+ javax.xml, \
+ javax.xml.datatype, \
+ javax.xml.namespace, \
+ javax.xml.parsers, \
+ javax.xml.transform, \
+ javax.xml.transform.dom, \
+ javax.xml.transform.sax, \
+ javax.xml.transform.stream, \
+ javax.xml.validation, \
+ javax.xml.xpath, \
+ org.ietf.jgss, \
+ org.omg.CORBA, \
+ org.omg.CORBA_2_3, \
+ org.omg.CORBA_2_3.portable, \
+ org.omg.CORBA.DynAnyPackage, \
+ org.omg.CORBA.ORBPackage, \
+ org.omg.CORBA.portable, \
+ org.omg.CORBA.TypeCodePackage, \
+ org.omg.CosNaming, \
+ org.omg.CosNaming.NamingContextExtPackage, \
+ org.omg.CosNaming.NamingContextPackage, \
+ org.omg.Dynamic, \
+ org.omg.DynamicAny, \
+ org.omg.DynamicAny.DynAnyFactoryPackage, \
+ org.omg.DynamicAny.DynAnyPackage, \
+ org.omg.IOP, \
+ org.omg.IOP.CodecFactoryPackage, \
+ org.omg.IOP.CodecPackage, \
+ org.omg.Messaging, \
+ org.omg.PortableInterceptor, \
+ org.omg.PortableInterceptor.ORBInitInfoPackage, \
+ org.omg.PortableServer, \
+ org.omg.PortableServer.CurrentPackage, \
+ org.omg.PortableServer.POAManagerPackage, \
+ org.omg.PortableServer.POAPackage, \
+ org.omg.PortableServer.portable, \
+ org.omg.PortableServer.ServantLocatorPackage, \
+ org.omg.SendingContext, \
+ org.omg.stub.java.rmi, \
+ org.omg.stub.javax.management.remote.rmi, \
+ org.w3c.dom, \
+ org.w3c.dom.bootstrap, \
+ org.w3c.dom.css, \
+ org.w3c.dom.events, \
+ org.w3c.dom.html, \
+ org.w3c.dom.ls, \
+ org.w3c.dom.ranges, \
+ org.w3c.dom.stylesheets, \
+ org.w3c.dom.traversal, \
+ org.w3c.dom.views, \
+ org.xml.sax, \
+ org.xml.sax.ext, \
+ org.xml.sax.helpers
+
+# Standard package set.  Note that:
+#   - javax.transaction* is exported with a mandatory attribute
+jre-1.6= \
+ javax.accessibility, \
+ javax.activation, \
+ javax.activity, \
+ javax.annotation, \
+ javax.annotation.processing, \
+ javax.crypto, \
+ javax.crypto.interfaces, \
+ javax.crypto.spec, \
+ javax.imageio, \
+ javax.imageio.event, \
+ javax.imageio.metadata, \
+ javax.imageio.plugins.bmp, \
+ javax.imageio.plugins.jpeg, \
+ javax.imageio.spi, \
+ javax.imageio.stream, \
+ javax.jws, \
+ javax.jws.soap, \
+ javax.lang.model, \
+ javax.lang.model.element, \
+ javax.lang.model.type, \
+ javax.lang.model.util, \
+ javax.management, \
+ javax.management.loading, \
+ javax.management.modelmbean, \
+ javax.management.monitor, \
+ javax.management.openmbean, \
+ javax.management.relation, \
+ javax.management.remote, \
+ javax.management.remote.rmi, \
+ javax.management.timer, \
+ javax.naming, \
+ javax.naming.directory, \
+ javax.naming.event, \
+ javax.naming.ldap, \
+ javax.naming.spi, \
+ javax.net, \
+ javax.net.ssl, \
+ javax.print, \
+ javax.print.attribute, \
+ javax.print.attribute.standard, \
+ javax.print.event, \
+ javax.rmi, \
+ javax.rmi.CORBA, \
+ javax.rmi.ssl, \
+ javax.script, \
+ javax.security.auth, \
+ javax.security.auth.callback, \
+ javax.security.auth.kerberos, \
+ javax.security.auth.login, \
+ javax.security.auth.spi, \
+ javax.security.auth.x500, \
+ javax.security.cert, \
+ javax.security.sasl, \
+ javax.sound.midi, \
+ javax.sound.midi.spi, \
+ javax.sound.sampled, \
+ javax.sound.sampled.spi, \
+ javax.sql, \
+ javax.sql.rowset, \
+ javax.sql.rowset.serial, \
+ javax.sql.rowset.spi, \
+ javax.swing, \
+ javax.swing.border, \
+ javax.swing.colorchooser, \
+ javax.swing.event, \
+ javax.swing.filechooser, \
+ javax.swing.plaf, \
+ javax.swing.plaf.basic, \
+ javax.swing.plaf.metal, \
+ javax.swing.plaf.multi, \
+ javax.swing.plaf.synth, \
+ javax.swing.table, \
+ javax.swing.text, \
+ javax.swing.text.html, \
+ javax.swing.text.html.parser, \
+ javax.swing.text.rtf, \
+ javax.swing.tree, \
+ javax.swing.undo, \
+ javax.tools, \
+ javax.transaction; javax.transaction.xa; partial=true; mandatory:=partial, \
+ javax.xml, \
+ javax.xml.bind, \
+ javax.xml.bind.annotation, \
+ javax.xml.bind.annotation.adapters, \
+ javax.xml.bind.attachment, \
+ javax.xml.bind.helpers, \
+ javax.xml.bind.util, \
+ javax.xml.crypto, \
+ javax.xml.crypto.dom, \
+ javax.xml.crypto.dsig, \
+ javax.xml.crypto.dsig.dom, \
+ javax.xml.crypto.dsig.keyinfo, \
+ javax.xml.crypto.dsig.spec, \
+ javax.xml.datatype, \
+ javax.xml.namespace, \
+ javax.xml.parsers, \
+ javax.xml.soap, \
+ javax.xml.stream, \
+ javax.xml.stream.events, \
+ javax.xml.stream.util, \
+ javax.xml.transform, \
+ javax.xml.transform.dom, \
+ javax.xml.transform.sax, \
+ javax.xml.transform.stax, \
+ javax.xml.transform.stream, \
+ javax.xml.validation, \
+ javax.xml.ws, \
+ javax.xml.ws.handler, \
+ javax.xml.ws.handler.soap, \
+ javax.xml.ws.http, \
+ javax.xml.ws.soap, \
+ javax.xml.ws.spi, \
+ javax.xml.ws.wsaddressing, \
+ javax.xml.xpath, \
+ org.ietf.jgss, \
+ org.omg.CORBA, \
+ org.omg.CORBA_2_3, \
+ org.omg.CORBA_2_3.portable, \
+ org.omg.CORBA.DynAnyPackage, \
+ org.omg.CORBA.ORBPackage, \
+ org.omg.CORBA.portable, \
+ org.omg.CORBA.TypeCodePackage, \
+ org.omg.CosNaming, \
+ org.omg.CosNaming.NamingContextExtPackage, \
+ org.omg.CosNaming.NamingContextPackage, \
+ org.omg.Dynamic, \
+ org.omg.DynamicAny, \
+ org.omg.DynamicAny.DynAnyFactoryPackage, \
+ org.omg.DynamicAny.DynAnyPackage, \
+ org.omg.IOP, \
+ org.omg.IOP.CodecFactoryPackage, \
+ org.omg.IOP.CodecPackage, \
+ org.omg.Messaging, \
+ org.omg.PortableInterceptor, \
+ org.omg.PortableInterceptor.ORBInitInfoPackage, \
+ org.omg.PortableServer, \
+ org.omg.PortableServer.CurrentPackage, \
+ org.omg.PortableServer.POAManagerPackage, \
+ org.omg.PortableServer.POAPackage, \
+ org.omg.PortableServer.portable, \
+ org.omg.PortableServer.ServantLocatorPackage, \
+ org.omg.SendingContext, \
+ org.omg.stub.java.rmi, \
+ org.omg.stub.javax.management.remote.rmi, \
+ org.w3c.dom, \
+ org.w3c.dom.bootstrap, \
+ org.w3c.dom.css, \
+ org.w3c.dom.events, \
+ org.w3c.dom.html, \
+ org.w3c.dom.ls, \
+ org.w3c.dom.ranges, \
+ org.w3c.dom.stylesheets, \
+ org.w3c.dom.traversal, \
+ org.w3c.dom.views, \
+ org.w3c.dom.xpath, \
+ org.xml.sax, \
+ org.xml.sax.ext, \
+ org.xml.sax.helpers
+</pre><p>For instance, if we deploy the Apache Geronimo Specs bundle providing 
the <tt>javax.xml.stream</tt> package, we have to comment<br/>the 
<tt>javax.xml.stream</tt> package in the the jre-1.6 definition. Indeed, 
jre-1.5 doesn't provide <tt>javax.xml.stream</tt>, it's<br/>new in the JRE 
1.6:</p><pre>
+jre-1.6= \
+[...]
+# javax.xml.stream, \
+# javax.xml.stream.events, \
+# javax.xml.stream.util, \
+[...]
+</pre>
+        </div>
+      
+          </div>
+    <div id="siteFooter">
+      &copy; 2008-2014 The Apache Software Foundation - <a 
href="http://servicemix.apache.org/site/privacy-policy.html";>Privacy Policy</a>
+      <br/>
+      Apache ServiceMix, ServiceMix, Apache, the Apache feather logo, and the 
Apache ServiceMix project logo are trademarks of The Apache Software Foundation.
+    </div>
+  </div>
+</body>
+</html>
\ No newline at end of file

Added: servicemix/site/production/docs/7.x/users-guide/kar.html
URL: 
http://svn.apache.org/viewvc/servicemix/site/production/docs/7.x/users-guide/kar.html?rev=1730131&view=auto
==============================================================================
--- servicemix/site/production/docs/7.x/users-guide/kar.html (added)
+++ servicemix/site/production/docs/7.x/users-guide/kar.html Fri Feb 12 
22:27:08 2016
@@ -0,0 +1,179 @@
+
+<!DOCTYPE html>
+<html>
+<head>
+  <title>Apache ServiceMix Documentation - </title>
+
+  <link href="../theme/master.css" rel="stylesheet" type="text/css" />
+  <link href="../theme/pygmentize.css" rel="stylesheet" type="text/css" />
+  
+  <script type="text/javascript" src="../scripts/jquery.js"></script>
+  <script type="text/javascript" src="../scripts/jquery.cookie.js"></script>
+  <script type="text/javascript" src="../scripts/jquery.jstree.js"></script>
+
+  <script>
+    $(document).ready(function(){
+         $("#nav").jstree({
+               "themes": {
+                 "theme": "apple", "dots": false
+               },
+               "plugins" : [ "themes", "html_data", "cookies", "themes" ]
+         });
+    });
+  </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-398545-1']);
+    _gaq.push(['_trackPageview']);
+
+    (function() {
+      var ga = document.createElement('script'); ga.type = 'text/javascript'; 
ga.async = true;
+      ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 
'http://www') + '.google-analytics.com/ga.js';
+      var s = document.getElementsByTagName('script')[0]; 
s.parentNode.insertBefore(ga, s);
+    })();
+  </script>
+</head>
+<body>
+  <div id="page">
+    <div id="siteHeader">
+      <table width="100%">
+      <tr valign="middle">
+        <td align="left">
+            <a href="http://servicemix.apache.org/"; title="An open source ESB">
+            <img border="0" src="../images/logodesign.png" height="80"/><img 
border="0" height="80" src="../images/new-logo.png" />
+            </a>
+          </td>
+          <td align="right">
+            <a href="http://www.apache.org/"; title="The Apache Sofware 
Foundation">
+              <img border="0" height="60" src="../images/ASF-logo.png">
+            </a>
+            <ul class="siteNav">
+              <li><a href="../index.html" title="Overview">Guides 
Overview</a></li>
+              <li><a href="../contribute.html" 
title="Contributing?">Contributing?</a></li>
+              <li>
+                <form action="http://www.google.com/search"; method="get" 
style="font-size: 10px;">
+                  <input name="ie" type="hidden" value="UTF-8"></input>
+                  <input name="oe" type="hidden" value="UTF-8"></input>
+                  <input maxlength="255" name="q" size="15" type="text" 
value=""></input>
+                  <input name="btnG" type="submit" value="Search"></input>
+                  <input name="domains" type="hidden" 
value="servicemix.apache.org/docs/4.4.x"></input>
+                  <input name="sitesearch" type="hidden" 
value="servicemix.apache.org/docs/4.4.x"></input>
+                </form>
+              </li>
+            </ul>
+          </td>
+        </tr>
+      </table>
+    </div>
+    <div id="content">
+              <div id="nav">
+            <ul>
+  <li id="karaf-users-guide">
+    <a href="#">User's Guide</a>
+    <ul>
+      <li id="karaf-installation">
+        <a href="installation.html">Installation</a>
+      </li>
+      <li id="karaf-directory-structure">
+        <a href="directory-structure.html">Directory structure</a>
+      </li>
+      <li id="karaf-starting-and-stopping">
+        <a href="start-stop.html">Starting and stopping Karaf</a>
+      </li>
+      <li id="using-console">
+        <a href="using-console.html">Using the console</a>
+      </li>
+      <li id="web-console">
+        <a href="web-console.html">Web console</a>
+      </li>
+      <li id="remote-console">
+        <a href="remote-console.html">Remote console</a>
+      </li>
+      <li id="child-instances">
+        <a href="child-instances.html">Child instances</a>
+      </li>
+      <li id="security">
+        <a href="security.html">Security</a>
+      </li>
+      <li id="failover">
+        <a href="failover.html">Failover deployments</a>
+      </li>
+      <li id="logging-system">
+        <a href="logging-system.html">Logging system</a>
+      </li>
+      <li id="deployer">
+        <a href="deployer.html">Deployer</a>
+      </li>
+      <li id="configuration">
+        <a href="configuration.html">Configuration</a>
+      </li>
+    </ul>
+  </li>
+</ul>
+
+        </div>
+        <div id="body">
+                              <h1 id="KarafArchivesKAR">Karaf Archives 
(KAR)</h1><p>Karaf provides a specific archive format named the KAR (Karaf 
ARchive).</p><p>Basically, the kar format is a jar (so a zip file) which 
contains a set of feature descriptor and bundle jar files.</p><p>For instance, 
a kar looks 
like:</p><ul><li><p>my-features-1.xml</p></li><li><p>bundle1.jar</p></li><li><p>bundle2.jar</p></li><li><p>bundle3.jar</p></li></ul><p>all
 packaged in zip format.</p><h2 id="Createakararchive">Create a kar 
archive</h2><p>You can create a kar file by hand, just by zip compressing a 
directory representing the kar content.</p><p>You can also use the Karaf 
features maven plugin. The features maven plugin provides an create-kar 
goal.</p><p>The kar-archive goal:<br/>1. Reads all features specified in the 
features descriptor.<br/>2. For each feature, it resolves the bundles defined 
in the feature.<br/>3. All bundles are packaged into the kar archive.</p><p>For 
instance, you can use the
  following POM to create a kar:</p><pre>
+&lt;?xml version="1.0" encoding="UTF-8"?>
+&lt;project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
+
+    &lt;modelVersion>4.0.0&lt;/modelVersion>
+
+    &lt;groupId>my.groupId&lt;/groupId>
+    &lt;artifactId>my-kar&lt;/artifactId>
+    &lt;version>1.0&lt;/version>
+    &lt;packaging>pom&lt;/packaging>
+
+    &lt;build>
+        &lt;plugins>
+            &lt;plugin>
+                &lt;groupId>org.apache.karaf.tooling&lt;/groupId>
+                &lt;artifactId>features-maven-plugin&lt;/artifactId>
+                &lt;version>2.2.8&lt;/version>
+                &lt;executions>
+                    &lt;execution>
+                        &lt;id>create-kar&lt;/id>
+                        &lt;goals>
+                            &lt;goal>create-kar&lt;/goal>
+                        &lt;/goals>
+                        &lt;configuration>
+                            
&lt;featuresFile>src/main/resources/features.xml&lt;/featuresFile>
+                        &lt;/configuration>
+                    &lt;/execution>
+                &lt;/executions>
+            &lt;/plugin>
+        &lt;/plugins>
+    &lt;/build>
+
+&lt;/project>
+</pre><p>For the example, the features descriptor is very simple:</p><pre>
+&lt;?xml version="1.0" encoding="UTF-8"?>
+&lt;features>
+
+   &lt;feature name="my" version="1.0">
+      &lt;bundle>mvn:commons-collections/commons-collections/3.2.1&lt;/bundle>
+   &lt;/feature>
+
+&lt;/features>
+</pre><p>To create the kar archive, simply type:</p><pre>
+mvn install
+</pre><p>and you will have your kar in the <tt>target</tt> directory.</p><h2 
id="Deployakararchive">Deploy a kar archive</h2><p>Karaf provides a KAR 
deployer:</p><pre>
+karaf@root> la|grep -i archive
+[  12] [Active     ] [Created     ] [   30] Apache Karaf :: Deployer :: Karaf 
Archive (.kar) (2.2.4)
+</pre><p>It's a core deployer (you don't need to install additional 
features).</p><p>To deploy a kar, simply drop the kar into the deploy 
directory. The KAR Deployer will deploy all the kar content starting<br/>from 
the features descriptor.</p><p>The KAR Deployer creates a repository dedicated 
to your kar (in the $/local-repo) and register the features<br/>descriptor. You 
can now see your feature available for installation:</p><pre>
+karaf@root> features:list|grep -i my
+[uninstalled] [1.0             ] my                            repo-0
+</pre><p>Now you can use any commands available on features:</p><pre>
+karaf@root> features:install my
+</pre>
+        </div>
+      
+          </div>
+    <div id="siteFooter">
+      &copy; 2008-2014 The Apache Software Foundation - <a 
href="http://servicemix.apache.org/site/privacy-policy.html";>Privacy Policy</a>
+      <br/>
+      Apache ServiceMix, ServiceMix, Apache, the Apache feather logo, and the 
Apache ServiceMix project logo are trademarks of The Apache Software Foundation.
+    </div>
+  </div>
+</body>
+</html>
\ No newline at end of file

Added: servicemix/site/production/docs/7.x/users-guide/logging-system.html
URL: 
http://svn.apache.org/viewvc/servicemix/site/production/docs/7.x/users-guide/logging-system.html?rev=1730131&view=auto
==============================================================================
--- servicemix/site/production/docs/7.x/users-guide/logging-system.html (added)
+++ servicemix/site/production/docs/7.x/users-guide/logging-system.html Fri Feb 
12 22:27:08 2016
@@ -0,0 +1,135 @@
+
+<!DOCTYPE html>
+<html>
+<head>
+  <title>Apache ServiceMix Documentation - </title>
+
+  <link href="../theme/master.css" rel="stylesheet" type="text/css" />
+  <link href="../theme/pygmentize.css" rel="stylesheet" type="text/css" />
+  
+  <script type="text/javascript" src="../scripts/jquery.js"></script>
+  <script type="text/javascript" src="../scripts/jquery.cookie.js"></script>
+  <script type="text/javascript" src="../scripts/jquery.jstree.js"></script>
+
+  <script>
+    $(document).ready(function(){
+         $("#nav").jstree({
+               "themes": {
+                 "theme": "apple", "dots": false
+               },
+               "plugins" : [ "themes", "html_data", "cookies", "themes" ]
+         });
+    });
+  </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-398545-1']);
+    _gaq.push(['_trackPageview']);
+
+    (function() {
+      var ga = document.createElement('script'); ga.type = 'text/javascript'; 
ga.async = true;
+      ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 
'http://www') + '.google-analytics.com/ga.js';
+      var s = document.getElementsByTagName('script')[0]; 
s.parentNode.insertBefore(ga, s);
+    })();
+  </script>
+</head>
+<body>
+  <div id="page">
+    <div id="siteHeader">
+      <table width="100%">
+      <tr valign="middle">
+        <td align="left">
+            <a href="http://servicemix.apache.org/"; title="An open source ESB">
+            <img border="0" src="../images/logodesign.png" height="80"/><img 
border="0" height="80" src="../images/new-logo.png" />
+            </a>
+          </td>
+          <td align="right">
+            <a href="http://www.apache.org/"; title="The Apache Sofware 
Foundation">
+              <img border="0" height="60" src="../images/ASF-logo.png">
+            </a>
+            <ul class="siteNav">
+              <li><a href="../index.html" title="Overview">Guides 
Overview</a></li>
+              <li><a href="../contribute.html" 
title="Contributing?">Contributing?</a></li>
+              <li>
+                <form action="http://www.google.com/search"; method="get" 
style="font-size: 10px;">
+                  <input name="ie" type="hidden" value="UTF-8"></input>
+                  <input name="oe" type="hidden" value="UTF-8"></input>
+                  <input maxlength="255" name="q" size="15" type="text" 
value=""></input>
+                  <input name="btnG" type="submit" value="Search"></input>
+                  <input name="domains" type="hidden" 
value="servicemix.apache.org/docs/4.4.x"></input>
+                  <input name="sitesearch" type="hidden" 
value="servicemix.apache.org/docs/4.4.x"></input>
+                </form>
+              </li>
+            </ul>
+          </td>
+        </tr>
+      </table>
+    </div>
+    <div id="content">
+              <div id="nav">
+            <ul>
+  <li id="karaf-users-guide">
+    <a href="#">User's Guide</a>
+    <ul>
+      <li id="karaf-installation">
+        <a href="installation.html">Installation</a>
+      </li>
+      <li id="karaf-directory-structure">
+        <a href="directory-structure.html">Directory structure</a>
+      </li>
+      <li id="karaf-starting-and-stopping">
+        <a href="start-stop.html">Starting and stopping Karaf</a>
+      </li>
+      <li id="using-console">
+        <a href="using-console.html">Using the console</a>
+      </li>
+      <li id="web-console">
+        <a href="web-console.html">Web console</a>
+      </li>
+      <li id="remote-console">
+        <a href="remote-console.html">Remote console</a>
+      </li>
+      <li id="child-instances">
+        <a href="child-instances.html">Child instances</a>
+      </li>
+      <li id="security">
+        <a href="security.html">Security</a>
+      </li>
+      <li id="failover">
+        <a href="failover.html">Failover deployments</a>
+      </li>
+      <li id="logging-system">
+        <a href="logging-system.html">Logging system</a>
+      </li>
+      <li id="deployer">
+        <a href="deployer.html">Deployer</a>
+      </li>
+      <li id="configuration">
+        <a href="configuration.html">Configuration</a>
+      </li>
+    </ul>
+  </li>
+</ul>
+
+        </div>
+        <div id="body">
+                              <h1 id="Loggingsystem">Logging 
system</h1><p>Karaf provides a powerful logging system based on <a 
href="http://team.ops4j.org/wiki/display/paxlogging/Pax+Logging";>OPS4j Pax 
Logging</a>. </p><p>In addition to being a standard OSGi Log service, it 
supports the following APIs:</p><ul><li><p>Apache Commons 
Logging</p></li><li><p>SLF4J</p></li><li><p>Apache Log4j</p></li><li><p>Java 
Util Logging</p></li></ul><p>Karaf also comes with a set of console commands 
that can be used to display, view and change the log levels.</p><h2 
id="Configuration">Configuration</h2><h3 id="Configurationfile">Configuration 
file</h3><p>The configuration of the logging system uses a <a 
href="http://logging.apache.org/log4j/1.2/manual.html";>standard Log4j 
configuration file</a> at the following location:</p><pre>
+[karaf_install_dir]/etc/org.ops4j.pax.logging.cfg
+</pre><p>You can edit this file at runtime and any change will be reloaded and 
be effective immediately.</p><h3 id="Configuringtheappenders">Configuring the 
appenders</h3><p>The default logging configuration defines three 
appenders:</p><ul><li><p>the <tt>stdout</tt> console appender is disabled by 
default.  If you plan to run Karaf in server mode only (i.e. with the locale 
console disabled), you can turn on this appender on by adding it to the list of 
configured appenders using the <tt>log4j.rootLogger</tt> 
property</p></li><li><p>the <tt>out</tt> appender is the one enabled by 
default. It logs events to a number of rotating log files of a fixed size.  You 
can easily change the parameters to control the number of files using 
<tt>maxBackupIndex</tt> and their size size 
<tt>maxFileSize</tt></p></li><li><p>the <tt>sift</tt> appender can be used 
instead to provide a per-bundle log file.  The default configuration uses the 
bundle symbolic name as the file name to log to</p></li></ul><h3 
 id="Changingtheloglevels">Changing the log levels</h3><p>The default logging 
configuration sets the logging levels so that the log file will provide enough 
information to monitor the behavior of the runtime and provide clues about what 
caused a problem. However, the default configuration will not provide enough 
information to debug most problems.</p><p>The most useful logger to change when 
trying to debug an issue with Karaf is the root logger. You will want to set 
its logging level to <tt>DEBUG</tt> in the <tt>org.ops4j.pax.logging.cfg</tt> 
file.</p><div class="syntax"><div 
class="highlight"><pre>log4j.rootLogger=DEBUG, out, 
osgi:VmLogAppender&#x000A;...&#x000A;</pre></div>&#x000A;</div><p>When 
debugging a problem in Karaf you may want to change the level of logging 
information that is displayed on the console. The example below shows how to 
set the root logger to <tt>DEBUG</tt> but limiting the information displayed on 
the console to WARN.</p><div class="syntax"><div class="highli
 ght"><pre>log4j.rootLogger=DEBUG, out, stdout, 
osgi:VmLogAppender&#x000A;log4j.appender.stdout.threshold=WARN&#x000A;...&#x000A;</pre></div>&#x000A;</div><h2
 id="ConsoleLogCommands">Console Log Commands</h2><p>The log subshell comes 
with the following commands:</p><ul><li><p><a 
href="../commands/log-clear.html"><tt>log:clear</tt></a>: clear the 
log</p></li><li><p><a 
href="../commands/log-display.html"><tt>log:display</tt></a>: display the last 
log entries</p></li><li><p><a 
href="../commands/log-display-exception.html"><tt>log:display-exception</tt></a>:
 display the last exception from the log</p></li><li><p><a 
href="../commands/log-get.html"><tt>log:get</tt></a>: show the log 
levels</p></li><li><p><a href="../commands/log-set.html"><tt>log:set</tt></a>: 
set the log levels</p></li><li><p><a 
href="../commands/log-tail.html"><tt>log:tail</tt></a>: continuous display of 
the log entries</p></li></ul><p>For example, if you want to debug something, 
you might want to run the following comma
 nds:</p><pre>
+> log:set DEBUG
+... do something ...
+> log:display
+</pre><p>Note that the log levels set using the <tt>log:set</tt> commands are 
not persistent and will be lost upon restart.<br/>To configure those in a 
persistent way, you should edit the configuration file mentioned above using 
the config commands or directly using a text editor of your choice.</p><p>The 
log commands has a separate configure file:</p><pre>
+[karaf_install_dir]/etc/org.apache.karaf.log.cfg
+</pre><h2 id="Advancedconfiguration">Advanced configuration</h2><p>The logging 
backend uses Log4j, but offer a number of additional features.</p><h3 
id="Nestedfiltersappendersanderrorhandlers">Nested filters, appenders and error 
handlers</h3><h4 id="Filters">Filters</h4><p>Appender filters can be added 
using the following syntax:</p><div class="syntax"><div 
class="highlight"><pre>log4j.appender.[appender-name].filter.[filter-name]=[filter-class]&#x000A;log4j.appender.[appender-name].filter.[filter-name].[option]=[value]&#x000A;</pre></div>&#x000A;</div><p>Below
 is a real example:</p><div class="syntax"><div 
class="highlight"><pre>log4j.appender.out.filter.f1=org.apache.log4j.varia.LevelRangeFilter&#x000A;log4j.appender.out.filter.f1.LevelMax=FATAL&#x000A;log4j.appender.out.filter.f1.LevelMin=DEBUG&#x000A;</pre></div>&#x000A;</div><h4
 id="Nestedappenders">Nested appenders</h4><p>Nested appenders can be added 
using the following syntax:</p><div class="syntax"><div class="highlight"><p
 
re>log4j.appender.[appender-name].appenders=[comma-separated-list-of-appender-names]&#x000A;</pre></div>&#x000A;</div><p>Below
 is a real example:</p><div class="syntax"><div 
class="highlight"><pre>log4j.appender.async=org.apache.log4j.AsyncAppender&#x000A;log4j.appender.async.appenders=jms&#x000A;&#x000A;log4j.appender.jms=org.apache.log4j.net.JMSAppender&#x000A;...&#x000A;</pre></div>&#x000A;</div><h4
 id="Errorhandlers">Error handlers</h4><p>Error handlers can be added using the 
following syntax:</p><div class="syntax"><div 
class="highlight"><pre>log4j.appender.[appender-name].errorhandler=[error-handler-class]&#x000A;log4j.appender.[appender-name].errorhandler.root-ref=[true|false]&#x000A;log4j.appender.[appender-name].errorhandler.logger-ref=[logger-ref]&#x000A;log4j.appender.[appender-name].errorhandler.appender-ref=[appender-ref]&#x000A;</pre></div>&#x000A;</div><h3
 id="OSGispecificMDCattributes">OSGi specific MDC attributes</h3><p>Pax-Logging 
provides the following attributes 
 by default:</p><ul><li><p><tt>bundle.id</tt>: the id of the bundle from which 
the class is loaded</p></li><li><p><tt>bundle.name</tt>: the symbolic-name of 
the bundle</p></li><li><p><tt>bundle.version</tt>: the version of the 
bundle</p></li></ul><p>An MDC sifting appender is available to split the log 
events based on MDC attributes.  Below is a configuration example for this 
appender:</p><div class="syntax"><div 
class="highlight"><pre>log4j.appender.sift=org.apache.log4j.sift.MDCSiftingAppender&#x000A;log4j.appender.sift.key=bundle.name&#x000A;log4j.appender.sift.default=karaf&#x000A;log4j.appender.sift.appender=org.apache.log4j.FileAppender&#x000A;log4j.appender.sift.appender.layout=org.apache.log4j.PatternLayout&#x000A;log4j.appender.sift.appender.layout.ConversionPattern=%d{ABSOLUTE}
 | %-5.5p | %-16.16t | %-32.32c{1} | %-32.32C %4L | 
%m%n&#x000A;log4j.appender.sift.appender.file=${karaf.data}/log/$\\{bundle.name\\}.log&#x000A;log4j.appender.sift.appender.append=true&#x000A;</pre>
 </div>&#x000A;</div><h3 id="EnhancedOSGistacktracerenderer">Enhanced OSGi 
stack trace renderer</h3><p>This renderer is configured by default in Karaf and 
will give additional informations when printing stack traces.<br/>For each line 
of the stack trace, it will display OSGi specific informations related to the 
class on that line: the bundle id, the bundle symbolic name and the bundle 
version.  This information can greatly help diagnosing problems in some 
cases.<br/>The information is appended at the end of each line in the following 
format <tt><a href="id:name:version">id:name:version</a></tt> as shown 
below</p><div class="syntax"><div 
class="highlight"><pre>java.lang.IllegalArgumentException: Command not found:  
*:foo&#x000A;       at 
org.apache.felix.gogo.runtime.shell.Closure.execute(Closure.java:225)[21:org.apache.karaf.shell.console:2.1.0]&#x000A;
       at 
org.apache.felix.gogo.runtime.shell.Closure.executeStatement(Closure.java:162)[21:org.apache.karaf.shell.console:2.1.0]&#x000A;
      at org.
 
apache.felix.gogo.runtime.shell.Pipe.run(Pipe.java:101)[21:org.apache.karaf.shell.console:2.1.0]&#x000A;
       at 
org.apache.felix.gogo.runtime.shell.Closure.execute(Closure.java:79)[21:org.apache.karaf.shell.console:2.1.0]&#x000A;
        at 
org.apache.felix.gogo.runtime.shell.CommandSessionImpl.execute(CommandSessionImpl.java:71)[21:org.apache.karaf.shell.console:2.1.0]&#x000A;
  at 
org.apache.karaf.shell.console.jline.Console.run(Console.java:169)[21:org.apache.karaf.shell.console:2.1.0]&#x000A;
  at 
java.lang.Thread.run(Thread.java:637)[:1.6.0_20]&#x000A;</pre></div>&#x000A;</div><h3
 id="Usingyourownappenders">Using your own appenders</h3><p>If you plan to use 
your own appenders, you need to create an OSGi bundle and attach it as a 
fragment to the bundle with a symbolic name of 
<br/><tt>org.ops4j.pax.logging.pax-logging-service</tt>.  This way, the 
underlying logging system will be able to see and use your appenders.</p><p>So 
for example you write a log4j appender:<br/>class MyAppender extends Ap
 penderSkeleton {<br/>...<br/>}</p><p>Then you need to package the appender in 
a jar with a Manifest like this:</p><p>Manifest:<br/>Bundle-SymbolicName: 
org.mydomain.myappender       <br/>Fragment-Host: 
org.ops4j.pax.logging.pax-logging-service<br/>...</p><p>Copy the new appender 
fragment into the ${karaf.home}/system directory. Karaf uses a virtual maven 
repository to access resources in the system<br/>directory, so the jar path 
should use the standard maven groupId/artifactId/version/ convention, where the 
groupId is a directory structure.</p><p>Edit 
${karaf.home}/etc/startup.properties and add the new fragment bundle to the 
list before the pax-logging-service bundle.</p><p>Restart karaf with a clean 
run to reload the system bundles, and now you can use the appender in your 
log4j config file like shown in the config<br/>examples above.</p>
+        </div>
+      
+          </div>
+    <div id="siteFooter">
+      &copy; 2008-2014 The Apache Software Foundation - <a 
href="http://servicemix.apache.org/site/privacy-policy.html";>Privacy Policy</a>
+      <br/>
+      Apache ServiceMix, ServiceMix, Apache, the Apache feather logo, and the 
Apache ServiceMix project logo are trademarks of The Apache Software Foundation.
+    </div>
+  </div>
+</body>
+</html>
\ No newline at end of file

Added: servicemix/site/production/docs/7.x/users-guide/provisioning.html
URL: 
http://svn.apache.org/viewvc/servicemix/site/production/docs/7.x/users-guide/provisioning.html?rev=1730131&view=auto
==============================================================================
--- servicemix/site/production/docs/7.x/users-guide/provisioning.html (added)
+++ servicemix/site/production/docs/7.x/users-guide/provisioning.html Fri Feb 
12 22:27:08 2016
@@ -0,0 +1,240 @@
+
+<!DOCTYPE html>
+<html>
+<head>
+  <title>Apache ServiceMix Documentation - </title>
+
+  <link href="../theme/master.css" rel="stylesheet" type="text/css" />
+  <link href="../theme/pygmentize.css" rel="stylesheet" type="text/css" />
+  
+  <script type="text/javascript" src="../scripts/jquery.js"></script>
+  <script type="text/javascript" src="../scripts/jquery.cookie.js"></script>
+  <script type="text/javascript" src="../scripts/jquery.jstree.js"></script>
+
+  <script>
+    $(document).ready(function(){
+         $("#nav").jstree({
+               "themes": {
+                 "theme": "apple", "dots": false
+               },
+               "plugins" : [ "themes", "html_data", "cookies", "themes" ]
+         });
+    });
+  </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-398545-1']);
+    _gaq.push(['_trackPageview']);
+
+    (function() {
+      var ga = document.createElement('script'); ga.type = 'text/javascript'; 
ga.async = true;
+      ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 
'http://www') + '.google-analytics.com/ga.js';
+      var s = document.getElementsByTagName('script')[0]; 
s.parentNode.insertBefore(ga, s);
+    })();
+  </script>
+</head>
+<body>
+  <div id="page">
+    <div id="siteHeader">
+      <table width="100%">
+      <tr valign="middle">
+        <td align="left">
+            <a href="http://servicemix.apache.org/"; title="An open source ESB">
+            <img border="0" src="../images/logodesign.png" height="80"/><img 
border="0" height="80" src="../images/new-logo.png" />
+            </a>
+          </td>
+          <td align="right">
+            <a href="http://www.apache.org/"; title="The Apache Sofware 
Foundation">
+              <img border="0" height="60" src="../images/ASF-logo.png">
+            </a>
+            <ul class="siteNav">
+              <li><a href="../index.html" title="Overview">Guides 
Overview</a></li>
+              <li><a href="../contribute.html" 
title="Contributing?">Contributing?</a></li>
+              <li>
+                <form action="http://www.google.com/search"; method="get" 
style="font-size: 10px;">
+                  <input name="ie" type="hidden" value="UTF-8"></input>
+                  <input name="oe" type="hidden" value="UTF-8"></input>
+                  <input maxlength="255" name="q" size="15" type="text" 
value=""></input>
+                  <input name="btnG" type="submit" value="Search"></input>
+                  <input name="domains" type="hidden" 
value="servicemix.apache.org/docs/4.4.x"></input>
+                  <input name="sitesearch" type="hidden" 
value="servicemix.apache.org/docs/4.4.x"></input>
+                </form>
+              </li>
+            </ul>
+          </td>
+        </tr>
+      </table>
+    </div>
+    <div id="content">
+              <div id="nav">
+            <ul>
+  <li id="karaf-users-guide">
+    <a href="#">User's Guide</a>
+    <ul>
+      <li id="karaf-installation">
+        <a href="installation.html">Installation</a>
+      </li>
+      <li id="karaf-directory-structure">
+        <a href="directory-structure.html">Directory structure</a>
+      </li>
+      <li id="karaf-starting-and-stopping">
+        <a href="start-stop.html">Starting and stopping Karaf</a>
+      </li>
+      <li id="using-console">
+        <a href="using-console.html">Using the console</a>
+      </li>
+      <li id="web-console">
+        <a href="web-console.html">Web console</a>
+      </li>
+      <li id="remote-console">
+        <a href="remote-console.html">Remote console</a>
+      </li>
+      <li id="child-instances">
+        <a href="child-instances.html">Child instances</a>
+      </li>
+      <li id="security">
+        <a href="security.html">Security</a>
+      </li>
+      <li id="failover">
+        <a href="failover.html">Failover deployments</a>
+      </li>
+      <li id="logging-system">
+        <a href="logging-system.html">Logging system</a>
+      </li>
+      <li id="deployer">
+        <a href="deployer.html">Deployer</a>
+      </li>
+      <li id="configuration">
+        <a href="configuration.html">Configuration</a>
+      </li>
+    </ul>
+  </li>
+</ul>
+
+        </div>
+        <div id="body">
+                              <h1 id="Provisioning">Provisioning</h1><p>Karaf 
provides a simple, yet flexible, way to provision applications or "features".  
Such a mechanism is mainly provided by a set of commands available in the 
<tt>features</tt> shell.  The provisioning system uses xml "repositories" that 
define a set of features.</p><h2 id="Repositories">Repositories</h2><p>The 
complete xml schema for feature descriptor are available on <a 
href="provisioning-schema.html">Features XML Schema</a> page. We recommend 
using this XML schema. It will allow Karaf to validate your repository before 
parsing. You may also verify your descriptor before adding it to Karaf by 
simply validation, even from IDE level.</p><p>Here is an example of such a 
repository:</p><pre>
+&lt;features xmlns="http://karaf.apache.org/xmlns/features/v1.0.0";>
+    &lt;feature name="spring" version="3.0.4.RELEASE">
+        
&lt;bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.aopalliance/1.0_1&lt;/bundle>
+        
&lt;bundle>mvn:org.springframework/spring-core/3.0.4.RELEASE&lt;/bundle>
+        
&lt;bundle>mvn:org.springframework/spring-beans/3.0.4.RELEASE&lt;/bundle>
+        &lt;bundle>mvn:org.springframework/spring-aop/3.0.4.RELEASE&lt;/bundle>
+        
&lt;bundle>mvn:org.springframework/spring-context/3.0.4.RELEASE&lt;/bundle>
+        
&lt;bundle>mvn:org.springframework/spring-context-support/3.0.4.RELEASE&lt;/bundle>
+    &lt;/feature>
+&lt;/features>
+</pre><p>A repository includes a list of <tt>feature</tt> elements, each one 
representing an application that can be installed.  The feature is identified 
by its <tt>name</tt> which must be unique amongst all the repositories used and 
consists of a set of bundles that need to be installed along with some optional 
dependencies on other features and some optional configurations for the 
Configuration Admin OSGi service.</p><p>References to features define in other 
repositories are allow and can be achieved by adding a list of 
repository.</p><pre class="xml code-xml">
+&lt;features xmlns="http://karaf.apache.org/xmlns/features/v1.0.0";>
+  
&lt;repository>mvn:org.apache.servicemix.nmr/apache-servicemix-nmr/1.3.0/xml/features&lt;/repository>
+  
&lt;repository>mvn:org.apache.camel.karaf/apache-camel/2.5.0/xml/features&lt;/repository>
+  
&lt;repository>mvn:org.apache.karaf/apache-karaf/2.1.2/xml/features&lt;/repository>
+  ...
+</pre><div class="warning" style="border: 1px solid #c00;background-color: 
#fcc;margin: 20px;padding: 0px 6px 0px 6px;"><p>Be careful when you define them 
as there is a risk of 'cycling' dependencies.</p></div><p>Remark: By default, 
all the features defined in a repository are not installed at the launch of 
Apache Karaf (see section hereafter 'h2. Service configuration' for more 
info).</p><h3 id="Bundles">Bundles</h3><p>The main information provided by a 
feature is the set of OSGi bundles that defines the application.  Such bundles 
are URLs pointing to the actual bundle jars.  For example, one would write the 
following definition:</p><pre>
+&lt;bundle>http://repo1.maven.org/maven2/org/apache/servicemix/nmr/org.apache.servicemix.nmr.api/1.0.0-m2/org.apache.servicemix.nmr.api-1.0.0-m2.jar&lt;/bundle>
+</pre><p>Doing this will make sure the above bundle is installed while 
installing the feature.</p><p>However, Karaf provides several URL handlers, in 
addition to the usual ones (file, http, etc...). One of these is the Maven URL 
handler, which allow reusing Maven repositories to point to the bundles.</p><h4 
id="MavenURLHandler">Maven URL Handler</h4><p>The equivalent of the above 
bundle would be:</p><pre>
+&lt;bundle>mvn:org.apache.servicemix.nmr/org.apache.servicemix.nmr.api/1.0.0-m2&lt;/bundle>
+</pre><p>In addition to being less verbose, the Maven url handlers can also 
resolve snapshots and can use a local copy of the jar if one is available in 
your Maven local repository.</p><p>The <tt>org.ops4j.pax.url.mvn</tt> bundle 
resolves <tt>mvn</tt> URLs. This flexible tool can be configured through the 
configuration service. For example, to find the current repositories 
type:</p><pre>
+karaf@root:/> config:list
+...
+----------------------------------------------------------------
+Pid:            org.ops4j.pax.url.mvn
+BundleLocation: mvn:org.ops4j.pax.url/pax-url-mvn/0.3.3
+Properties:
+   service.pid = org.ops4j.pax.url.mvn
+   org.ops4j.pax.url.mvn.defaultRepositories = 
file:/opt/development/karaf/assembly/target/apache-felix-karaf-1.2.0-SNAPSHOT/system@snapshots
+   org.ops4j.pax.url.mvn.repositories = http://repo1.maven.org/maven2, 
+                                         
http://svn.apache.org/repos/asf/servicemix/m2-repo 
+   below = list of repositories and even before the local repository
+</pre><p>The repositories checked are controlled by these configuration 
properties. </p><p>For example, <tt>org.ops4j.pax.url.mvn.repositories</tt> is 
a comma separate list of repository URLs specifying those remote repositories 
to be checked. So, to replace the defaults with a new repository at 
<tt>http://www.example.org/repo</tt> on the local machine:</p><pre>
+karaf@root:/> config:edit org.ops4j.pax.url.mvn
+karaf@root:/> config:proplist                  
+   service.pid = org.ops4j.pax.url.mvn
+   org.ops4j.pax.url.mvn.defaultRepositories = 
file:/opt/development/karaf/assembly/target/apache-felix-karaf-1.2.0-SNAPSHOT/system@snapshots
+   org.ops4j.pax.url.mvn.repositories = http://repo1.maven.org/maven2,
+                                        
http://svn.apache.org/repos/asf/servicemix/m2-repo
+   below = list of repositories and even before the local repository
+karaf@root:/> config:propset org.ops4j.pax.url.mvn.repositories 
http://www.example.org/repo
+karaf@root:/> config:update
+</pre><p>By default, snapshots are disabled. To enable an URL for snapshots 
append @snapshots. For example</p><pre>
+http://www.example.org/repo@snapshots
+</pre><p>Repositories on the local machine are supported through 
<tt>file:/</tt> URLs</p><h4 id="Bundlestartlevel">Bundle 
start-level</h4><p><strong>Available since Karaf 2.0</strong></p><p>By default, 
the bundles deployed through the feature mechanism will have a start-level 
equals to the value defined in the configuration file 
<tt>config.properties</tt><br/>with the variable 
<tt>karaf.startlevel.bundle=80</tt>. This value can be changed using the xml 
attribute start-level. </p><pre class="xml code-xml">
+  &lt;feature name='my-project' version='1.0.0'>
+    &lt;feature version='2.4.0'>camel-spring&lt;/feature>
+    &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;bundle 
start-level='85'>mvn:com.mycompany.myproject/myproject-camel-routing&lt;/bundle>
+  &lt;/feature> 
+</pre><p>  </p><p>The advantage in defining the bundle start-level is that you 
can deploy all your bundles including any required 'infrastructure' bundles 
(e.g Camel, ActiveMQ)<br/>at the same time and you will have the guarantee when 
using Spring Dynamic Modules or Blueprint that the Spring context will not 
be<br/>created without all the required services installed.</p><h4 
id="Bundlestopstart">Bundle 'stop/start'</h4><p>The OSGI specification allows 
for installing a bundle without starting it. To use this functionality, simply 
add the following attribute in your &lt;bundle> definition</p><pre class="xml 
code-xml">
+  &lt;feature name='my-project' version='1.0.0'>
+    &lt;feature version='2.4.0'>camel-spring&lt;/feature>
+    &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;bundle start-level='85' 
start='false'>mvn:com.mycompany.myproject/myproject-camel-routing&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 Karaf 3.0 the 
start-level was NOT considered during the feature startup, but only the order 
in which bundles are defined in your feature.xml. Starting with 3.0 the 
start-level is no considered correctly. If you need to use the old behavior you 
can uncomment and change the respectStartLvlDuringFeatureStartup variable in 
org.apache.karaf.features.xml to false. But please be aware that it will be 
removed in 4.0 and should therefore be used only temporarily.</p></div><h4 
id="Bundledependency">Bundle 'dependency'</h4><p>A bundle can be flagged as 
being a dependency.  Such information can be used by resolvers to compute the 
full list of bundles to be installed.</p><h3 id="Dependentfeatures">Dependent 
features</h3><p>Dependent features are useful when a given feature depends on 
another feature to be installed.  Such a dependency can be expressed easily in 
the fe
 ature definition:</p><pre>
+&lt;feature name="jbi">
+  &lt;feature>nmr&lt;/feature>
+  ...
+&lt;/feature>
+</pre><p>The effect of such a dependency is to automatically install the 
required <tt>nmr</tt> feature when the <tt>jbi</tt> feature is 
installed.</p><p>A version range can be specified on the feature 
dependency:</p><pre>
+&lt;feature name="spring-dm">
+  &lt;feature version="[2.5.6,4)">spring&lt;/feature>
+  ...
+&lt;/feature>
+</pre><p>In such a case, if no matching feature is already installed, the 
feature with the highest version available in the range will be installed.  If 
a single version is specified, this version will be chosen.  If nothing is 
specified, the highest available will be installed.</p><h3 
id="Configurations">Configurations</h3><p>The configuration section allows for 
declaring deployment configuration of the OSGi Configuration Admin service 
along a set of bundles.<br/>Here is an example of such a configuration:</p><pre>
+&lt;config name="com.foo.bar">
+  myProperty = myValue
+&lt;/config>
+</pre><p>The <tt>name</tt> attribute of the <tt>configuration</tt> element 
will be used as the ManagedService PID for the configuration set in the 
Configuration Admin service.  When using a ManagedServiceFactory, the 
<tt>name</tt> attribute is <em>servicePid</em>-_aliasId_, where 
<em>servicePid</em> is the PID of the ManagedServiceFactory and 
<em>aliasId</em> is a label used to uniquely identify a particular service (an 
alias to the factory generated service PID).</p><p>Deploying such a 
configuration has the same effect as dropping a file named 
<tt>com.foo.bar.cfg</tt> into the <tt>etc</tt> folder.</p><p>The content of the 
<tt>configuration</tt> element is set of properties parsed using the <a 
href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Properties.html#load(java.io.InputStream)">standard
 java property mechanism</a>.</p><p>Such configuration as usually used with 
Spring-DM or Blueprint support for the Configuration Admin service, as in the 
following example, but using plai
 n OSGi APIs will of course work the same way:</p><pre>
+&lt;bean ...>
+    &lt;property name="propertyName" value="${myProperty}" />
+&lt;/bean>
+
+&lt;osgix:cm-properties id="cmProps" persistent-id="com.foo.bar">
+    &lt;prop key="myProperty">myValue&lt;/prop>
+&lt;/osgix:cm-properties>
+&lt;ctx:property-placeholder properties-ref="cmProps" />
+</pre><p>There may also be cases where you want to make the properties from 
multiple configuration files available to your bundle context. This is 
something you may<br/>want to do if you have a multi-bundle application where 
there are application properties used by multiple bundles, and each bundle has 
its own specific<br/>properties. In that case, 
<tt>&lt;ctx:property-placeholder></tt> won't work as it was designed to make 
only one configuration file available to a bundle context.<br/> To make more 
than one configuration file available to your bundle-context you would do 
something like this:</p><pre>
+&lt;beans:bean id="myBundleConfigurer"
+            
class="org.springframework.beans.factory.config.PropertyPlaceholderConfig">
+    &lt;beans:property name="ignoreUnresolvablePlaceholders" value="true"/>
+    &lt;beans:property name="propertiesArray">
+        &lt;osgix:cm-properties id="myAppProps" persistent-id="myApp.props"/>
+        &lt;osgix:cm-properties id="myBundleProps" 
persistent-id="my.bundle.props"/>
+    &lt;/beans:property>
+&lt;/beans:bean>
+</pre><p>In this example, we are using SpringDM with osgi as the primary 
namespace. Instead of using ctx:context-placeholder we are using the 
"PropertyPlaceholderConfig"<br/>class. Then we are passing in a beans array and 
inside of that array is where we set our osgix:cm-properties elements. This 
element "returns" a properties bean.</p><p>For more information about using the 
Configuration Admin service in Spring-DM, see the <a 
href="http://static.springframework.org/osgi/docs/1.2.0-m2/reference/html/compendium.html#compendium:cm:props";>Spring-DM
 documentation</a>.</p><h3 id="Configurationfiles">Configuration 
files</h3><p>In certain cases it is needed not only to provide configurations 
for the configuration admin service but to add additional<br/>configuration 
files e.g. a configuration file for jetty (jetty.xml). It even might be helpful 
to deploy a configuration<br/>file instead of a configuration for the config 
admin service since. To achieve this the attribute <tt>finalname</tt> 
 shows the<br/>final destination of the <tt>configfile</tt>, while the value 
references the Maven artifact to deploy.</p><pre>
+&lt;configfile 
finalname="/etc/jetty.xml">mvn:org.apache.karaf/apache-karaf/2.3.0/xml/jettyconfig&lt;/configfile>
+</pre><h3 id="Featureresolver">Feature resolver</h3><p>The resolver attribute 
on a feature can be set to force the use of a given resolver instead of the 
default resolution process.  A resolver will be use to obtain the list of 
bundles to actually install for a given feature.<br/>The default resolver will 
simply return the list of bundles provided in the feature description.<br/>The 
OBR resolver can be installed and used instead of the standard one.  In that 
case, the resolver will use the OBR service<br/>to determine the list of 
bundles to install (bundles flagged as dependency will only be used as possible 
candidates to solve<br/>various constraints).</p><h2 
id="Commands">Commands</h2><h3 id="Repositorymanagement">Repository 
management</h3><p>The following commands can be used to manage the list of 
descriptors known by Karaf.  They use URLs pointing to features descriptors.  
These URLs can use any protocol known to the Apache Karaf, the most common ones 
being http, file and mvn.</
 p><pre>
+features:addUrl      Add a list of repository URLs to the features service
+features:removeUrl   Remove a list of repository URLs from the features service
+features:listUrl     Display the repository URLs currently associated with the 
features service.
+features:refreshUrl  Reload the repositories to obtain a fresh list of features
+</pre><p>Karaf maintains a persistent list of these repositories so that if 
you add one URL and restart Karaf, the features will still be 
available.</p><p>The <tt>refreshUrl</tt> command is mostly used when developing 
features descriptors: when changing the descriptor, it can be<br/>handy to 
reload it in the Kernel without having to restart it or to remove then add the 
URL again.</p><h3 id="Featuresmanagement">Features management</h3><pre>
+features:install
+features:uninstall
+features:list
+</pre><h3 id="Examples">Examples</h3><p>1. Install features using mvn 
handler</p><pre>
+features:addUrl 
mvn:org.apache.servicemix.nmr/apache-servicemix-nmr/1.0.0-m2/xml/features
+features:install nmr
+</pre><p>2. Use file handler to deploy features file</p><pre>
+features:addUrl file:base/features/features.xml
+</pre><p>Note: The path is relative to the Apache Karaf installation 
directory</p><p>3. Deploy bundles from file system without using Maven</p><p>As 
we can use file:// as protocol handler to deploy bundles, you can use the 
following syntax to deploy bundles when they are <br/>located in a directory 
which is not available using Maven</p><pre class="xml code-xml">
+&lt;features xmlns="http://karaf.apache.org/xmlns/features/v1.0.0";>
+   &lt;feature name="spring-web" version="2.5.6.SEC01">
+      &lt;bundle>file:base/bundles/spring-web-2.5.6.SEC01.jar&lt;/bundle>
+   &lt;/feature>
+&lt;/features>
+</pre><p>Note: The path is relative to the Apache Karaf installation 
directory</p><h2 id="Serviceconfiguration">Service configuration</h2><p>A 
simple configuration file located in 
<tt>[FELIX:karaf]/etc/org.apache.karaf.features.cfg</tt> can be modified to 
customize the behavior when starting the Kernel for the first time.<br/>This 
configuration file contains two 
properties:</p><ul><li><p><tt>featuresBoot</tt>: a comma separated list of 
features to install at startup</p></li><li><p><tt>featuresRepositories</tt>: a 
comma separated list of feature repositories to load at 
startup</p></li></ul><p>This configuration file is of interest if you plan to 
distribute a customized Karaf distribution having pre-installed features.  Such 
a process is detailed in the <a href="6.2. Building custom distributions">6.2. 
Building custom distributions</a> section.</p>
+        </div>
+      
+          </div>
+    <div id="siteFooter">
+      &copy; 2008-2014 The Apache Software Foundation - <a 
href="http://servicemix.apache.org/site/privacy-policy.html";>Privacy Policy</a>
+      <br/>
+      Apache ServiceMix, ServiceMix, Apache, the Apache feather logo, and the 
Apache ServiceMix project logo are trademarks of The Apache Software Foundation.
+    </div>
+  </div>
+</body>
+</html>
\ No newline at end of file

Added: servicemix/site/production/docs/7.x/users-guide/remote-console.html
URL: 
http://svn.apache.org/viewvc/servicemix/site/production/docs/7.x/users-guide/remote-console.html?rev=1730131&view=auto
==============================================================================
--- servicemix/site/production/docs/7.x/users-guide/remote-console.html (added)
+++ servicemix/site/production/docs/7.x/users-guide/remote-console.html Fri Feb 
12 22:27:08 2016
@@ -0,0 +1,174 @@
+
+<!DOCTYPE html>
+<html>
+<head>
+  <title>Apache ServiceMix Documentation - </title>
+
+  <link href="../theme/master.css" rel="stylesheet" type="text/css" />
+  <link href="../theme/pygmentize.css" rel="stylesheet" type="text/css" />
+  
+  <script type="text/javascript" src="../scripts/jquery.js"></script>
+  <script type="text/javascript" src="../scripts/jquery.cookie.js"></script>
+  <script type="text/javascript" src="../scripts/jquery.jstree.js"></script>
+
+  <script>
+    $(document).ready(function(){
+         $("#nav").jstree({
+               "themes": {
+                 "theme": "apple", "dots": false
+               },
+               "plugins" : [ "themes", "html_data", "cookies", "themes" ]
+         });
+    });
+  </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-398545-1']);
+    _gaq.push(['_trackPageview']);
+
+    (function() {
+      var ga = document.createElement('script'); ga.type = 'text/javascript'; 
ga.async = true;
+      ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 
'http://www') + '.google-analytics.com/ga.js';
+      var s = document.getElementsByTagName('script')[0]; 
s.parentNode.insertBefore(ga, s);
+    })();
+  </script>
+</head>
+<body>
+  <div id="page">
+    <div id="siteHeader">
+      <table width="100%">
+      <tr valign="middle">
+        <td align="left">
+            <a href="http://servicemix.apache.org/"; title="An open source ESB">
+            <img border="0" src="../images/logodesign.png" height="80"/><img 
border="0" height="80" src="../images/new-logo.png" />
+            </a>
+          </td>
+          <td align="right">
+            <a href="http://www.apache.org/"; title="The Apache Sofware 
Foundation">
+              <img border="0" height="60" src="../images/ASF-logo.png">
+            </a>
+            <ul class="siteNav">
+              <li><a href="../index.html" title="Overview">Guides 
Overview</a></li>
+              <li><a href="../contribute.html" 
title="Contributing?">Contributing?</a></li>
+              <li>
+                <form action="http://www.google.com/search"; method="get" 
style="font-size: 10px;">
+                  <input name="ie" type="hidden" value="UTF-8"></input>
+                  <input name="oe" type="hidden" value="UTF-8"></input>
+                  <input maxlength="255" name="q" size="15" type="text" 
value=""></input>
+                  <input name="btnG" type="submit" value="Search"></input>
+                  <input name="domains" type="hidden" 
value="servicemix.apache.org/docs/4.4.x"></input>
+                  <input name="sitesearch" type="hidden" 
value="servicemix.apache.org/docs/4.4.x"></input>
+                </form>
+              </li>
+            </ul>
+          </td>
+        </tr>
+      </table>
+    </div>
+    <div id="content">
+              <div id="nav">
+            <ul>
+  <li id="karaf-users-guide">
+    <a href="#">User's Guide</a>
+    <ul>
+      <li id="karaf-installation">
+        <a href="installation.html">Installation</a>
+      </li>
+      <li id="karaf-directory-structure">
+        <a href="directory-structure.html">Directory structure</a>
+      </li>
+      <li id="karaf-starting-and-stopping">
+        <a href="start-stop.html">Starting and stopping Karaf</a>
+      </li>
+      <li id="using-console">
+        <a href="using-console.html">Using the console</a>
+      </li>
+      <li id="web-console">
+        <a href="web-console.html">Web console</a>
+      </li>
+      <li id="remote-console">
+        <a href="remote-console.html">Remote console</a>
+      </li>
+      <li id="child-instances">
+        <a href="child-instances.html">Child instances</a>
+      </li>
+      <li id="security">
+        <a href="security.html">Security</a>
+      </li>
+      <li id="failover">
+        <a href="failover.html">Failover deployments</a>
+      </li>
+      <li id="logging-system">
+        <a href="logging-system.html">Logging system</a>
+      </li>
+      <li id="deployer">
+        <a href="deployer.html">Deployer</a>
+      </li>
+      <li id="configuration">
+        <a href="configuration.html">Configuration</a>
+      </li>
+    </ul>
+  </li>
+</ul>
+
+        </div>
+        <div id="body">
+                              <h1 id="Usingremoteinstances">Using remote 
instances</h1><h2 id="Configuringremoteinstances">Configuring remote 
instances</h2><p>It does not always make sense to manage an instance of Karaf 
using its local console. You can manage Karaf remotely using a remote 
console.</p><p>When you start Karaf, it enables a remote console that can be 
accessed over SSH from any other Karaf console or plain SSH client.  The remote 
console provides all the features of the local console and gives a remote user 
complete control over the container and services running inside of 
it.</p><p>The SSH hostname and port number is configured in the 
<tt>[karaf_install_dir]/etc/org.apache.karaf.shell.cfg</tt> configuration file 
with the following default values:</p><pre>
+sshPort=8101
+sshHost=0.0.0.0
+sshRealm=karaf
+hostKey=${karaf.base}/etc/host.key
+</pre><p>You can change this configuration using the <a 
href="configuration.html">config commands</a> or by editing the above file, but 
you'll need to restart the ssh console in order for it to use the new 
parameters.</p><pre>
+# define helper functions
+bundle-by-sn = { bm = new java.util.HashMap ;  each (bundles) { $bm put ($it 
symbolicName) $it } ; $bm get $1 }
+bundle-id-by-sn = { b = (bundle-by-sn $1) ; if { $b } { $b bundleId } { -1 } }
+# edit config
+config:edit org.apache.karaf.shell
+config:propset sshPort 8102
+config:update 
+# force a restart
+osgi:restart --force (bundle-id-by-sn org.apache.karaf.shell.ssh)
+</pre><h2 id="Connectinganddisconnectingremotely">Connecting and disconnecting 
remotely</h2><h3 id="Usingthesshsshcommand">Using the <tt>ssh:ssh</tt> 
command</h3><p>You can connect to a remote Karaf's console using the <a 
href="../commands/ssh-ssh.html"><tt>ssh:ssh</tt></a> command.</p><pre>
+karaf@root> ssh:ssh -l karaf -P karaf -p 8101 hostname
+</pre><div class="warning" style="border: 1px solid #c00;background-color: 
#fcc;margin: 20px;padding: 0px 6px 0px 6px;"><p>The default password is 
<tt>karaf</tt> but we recommend changing it. See the <a 
href="security.html">security</a> section for more informations.</p></div><p>To 
confirm that you have connected to the correct Karaf instance, type <a 
href="../commands/shell-info.html"><tt>shell:info</tt></a> at the 
<tt>karaf></tt> prompt. Information about the currently connected instance is 
returned, as shown.</p><pre>
+Karaf
+  Karaf home                  /local/apache-karaf-2.0.0
+  Karaf base                  /local/apache-karaf-2.0.0
+  OSGi Framework              org.eclipse.osgi - 3.5.1.R35x_v20090827
+JVM
+  Java Virtual Machine        Java HotSpot(TM) Server VM version 14.1-b02
+  ...
+</pre><h3 id="UsingtheKarafclient">Using the Karaf client</h3><p>The Karaf 
client allows you to securely connect to a remote Karaf instance without having 
to launch a Karaf instance locally.</p><p>For example, to quickly connect to a 
Karaf instance running in server mode on the same machine, run the following 
command from the <tt><a 
href="karaf-install-dir.html">karaf-install-dir</a></tt> directory:</p><pre>
+bin/client
+</pre><p>More commonly, you would provide a hostname, port, username and 
password to connect to a remote instance.  And, if you were using the client 
within a larger script, you could append console commands as follows:</p><pre>
+bin/client -a 8101 -h hostname -u karaf -p karaf features:install wrapper
+</pre><p>To display the available options for the client, type:</p><pre>
+> bin/client --help
+Apache Karaf client
+  -a [port]     specify the port to connect to
+  -h [host]     specify the host to connect to
+  -u [user]     specify the user name
+  -p [password] specify the password
+  --help        shows this help message
+  -v            raise verbosity
+  -r [attempts] retry connection establishment (up to attempts times)
+  -d [delay]    intra-retry delay (defaults to 2 seconds)
+  [commands]    commands to run
+If no commands are specified, the client will be put in an interactive mode
+</pre><h3 id="UsingaplainSSHclient">Using a plain SSH client</h3><p>You can 
also connect using a plain SSH client from your *nix system or Windows SSH 
client like Putty.</p><pre>
+~$ ssh -p 8101 karaf@localhost
+karaf@localhost's password: 
+</pre><h3 id="Disconnectingfromaremoteconsole">Disconnecting from a remote 
console</h3><p>To disconnect from a remote console, press <tt>Ctrl+D</tt>, 
<tt>shell:logout</tt> or simply <tt>logout</tt> at the Karaf prompt.</p><h2 
id="Stoppingaremoteinstance">Stopping a remote instance</h2><h3 
id="Usingtheremoteconsole">Using the remote console </h3><p>If you have 
connected to a remote console using the <a 
href="../commands/ssh-ssh.html"><tt>ssh:ssh</tt></a> command or the Karaf 
client, you can stop the remote instance using the <a 
href="../commands/osgi-shutdown.html"><tt>osgi:shutdown</tt></a> 
command.</p><div class="info" style="border: 1px solid 
#3c78b5;background-color: #D8E4F1;margin: 20px;padding: 0px 6px 0px 
6px;"><p>Pressing <tt>Ctrl+D</tt> in a remote console simply closes the remote 
connection and returns you to the local shell.</p></div><h3 
id="UsingtheKarafclient2">Using the Karaf client</h3><p>To stop a remote 
instance using the Karaf client, run the following from the <tt>
 <a href="karaf-install-dir.html">karaf-install-dir</a>/lib</tt> 
directory:</p><pre>
+bin/client -u karaf -p karaf -a 8101 hostname osgi:shutdown
+</pre>
+        </div>
+      
+          </div>
+    <div id="siteFooter">
+      &copy; 2008-2014 The Apache Software Foundation - <a 
href="http://servicemix.apache.org/site/privacy-policy.html";>Privacy Policy</a>
+      <br/>
+      Apache ServiceMix, ServiceMix, Apache, the Apache feather logo, and the 
Apache ServiceMix project logo are trademarks of The Apache Software Foundation.
+    </div>
+  </div>
+</body>
+</html>
\ No newline at end of file

Added: servicemix/site/production/docs/7.x/users-guide/security.html
URL: 
http://svn.apache.org/viewvc/servicemix/site/production/docs/7.x/users-guide/security.html?rev=1730131&view=auto
==============================================================================
--- servicemix/site/production/docs/7.x/users-guide/security.html (added)
+++ servicemix/site/production/docs/7.x/users-guide/security.html Fri Feb 12 
22:27:08 2016
@@ -0,0 +1,144 @@
+
+<!DOCTYPE html>
+<html>
+<head>
+  <title>Apache ServiceMix Documentation - </title>
+
+  <link href="../theme/master.css" rel="stylesheet" type="text/css" />
+  <link href="../theme/pygmentize.css" rel="stylesheet" type="text/css" />
+  
+  <script type="text/javascript" src="../scripts/jquery.js"></script>
+  <script type="text/javascript" src="../scripts/jquery.cookie.js"></script>
+  <script type="text/javascript" src="../scripts/jquery.jstree.js"></script>
+
+  <script>
+    $(document).ready(function(){
+         $("#nav").jstree({
+               "themes": {
+                 "theme": "apple", "dots": false
+               },
+               "plugins" : [ "themes", "html_data", "cookies", "themes" ]
+         });
+    });
+  </script>
+  <script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-398545-1']);
+    _gaq.push(['_trackPageview']);
+
+    (function() {
+      var ga = document.createElement('script'); ga.type = 'text/javascript'; 
ga.async = true;
+      ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 
'http://www') + '.google-analytics.com/ga.js';
+      var s = document.getElementsByTagName('script')[0]; 
s.parentNode.insertBefore(ga, s);
+    })();
+  </script>
+</head>
+<body>
+  <div id="page">
+    <div id="siteHeader">
+      <table width="100%">
+      <tr valign="middle">
+        <td align="left">
+            <a href="http://servicemix.apache.org/"; title="An open source ESB">
+            <img border="0" src="../images/logodesign.png" height="80"/><img 
border="0" height="80" src="../images/new-logo.png" />
+            </a>
+          </td>
+          <td align="right">
+            <a href="http://www.apache.org/"; title="The Apache Sofware 
Foundation">
+              <img border="0" height="60" src="../images/ASF-logo.png">
+            </a>
+            <ul class="siteNav">
+              <li><a href="../index.html" title="Overview">Guides 
Overview</a></li>
+              <li><a href="../contribute.html" 
title="Contributing?">Contributing?</a></li>
+              <li>
+                <form action="http://www.google.com/search"; method="get" 
style="font-size: 10px;">
+                  <input name="ie" type="hidden" value="UTF-8"></input>
+                  <input name="oe" type="hidden" value="UTF-8"></input>
+                  <input maxlength="255" name="q" size="15" type="text" 
value=""></input>
+                  <input name="btnG" type="submit" value="Search"></input>
+                  <input name="domains" type="hidden" 
value="servicemix.apache.org/docs/4.4.x"></input>
+                  <input name="sitesearch" type="hidden" 
value="servicemix.apache.org/docs/4.4.x"></input>
+                </form>
+              </li>
+            </ul>
+          </td>
+        </tr>
+      </table>
+    </div>
+    <div id="content">
+              <div id="nav">
+            <ul>
+  <li id="karaf-users-guide">
+    <a href="#">User's Guide</a>
+    <ul>
+      <li id="karaf-installation">
+        <a href="installation.html">Installation</a>
+      </li>
+      <li id="karaf-directory-structure">
+        <a href="directory-structure.html">Directory structure</a>
+      </li>
+      <li id="karaf-starting-and-stopping">
+        <a href="start-stop.html">Starting and stopping Karaf</a>
+      </li>
+      <li id="using-console">
+        <a href="using-console.html">Using the console</a>
+      </li>
+      <li id="web-console">
+        <a href="web-console.html">Web console</a>
+      </li>
+      <li id="remote-console">
+        <a href="remote-console.html">Remote console</a>
+      </li>
+      <li id="child-instances">
+        <a href="child-instances.html">Child instances</a>
+      </li>
+      <li id="security">
+        <a href="security.html">Security</a>
+      </li>
+      <li id="failover">
+        <a href="failover.html">Failover deployments</a>
+      </li>
+      <li id="logging-system">
+        <a href="logging-system.html">Logging system</a>
+      </li>
+      <li id="deployer">
+        <a href="deployer.html">Deployer</a>
+      </li>
+      <li id="configuration">
+        <a href="configuration.html">Configuration</a>
+      </li>
+    </ul>
+  </li>
+</ul>
+
+        </div>
+        <div id="body">
+                              <h1 id="Security">Security</h1><h2 
id="Managingusersandpasswords">Managing users and passwords</h2><p>The default 
security configuration uses a property file located at <tt><a 
href="karaf-install-dir.html">karaf-install-dir</a>/etc/users.properties</tt> 
to store authorized users and their passwords.</p><p>The default user name is 
<tt>karaf</tt> and the associated password is <tt>karaf</tt> too.  We strongly 
encourage you to change the default password by editing the above file before 
moving Karaf into production.</p><p>The users are currently used in three 
different places in Karaf:</p><ul><li><p>access to the SSH 
console</p></li><li><p>access to the JMX management layer</p></li><li><p>access 
to the Web console<br/>Those three ways all delegate to the same JAAS based 
security authentication.</p></li></ul><p>The <tt>users.properties</tt> file 
contains one or more lines, each line defining a user, its password and the 
associated roles.</p><pre>
+user=password[,role][,role]...
+</pre><h2 id="Managingroles">Managing roles</h2><p>JAAS roles can be used by 
various components. The three management layers (SSH, JMX and WebConsole) all 
use a global role based authorization system. The default role name is 
configured in the <tt>etc/system.properties</tt> using the 
<tt>karaf.admin.role</tt> system property and the default value is 
<tt>admin</tt>. All users authenticating for the management layer must have 
this role defined.</p><p>The syntax for this value is the following:</p><pre>
+[classname:]principal
+</pre><p>where classname is the class name of the principal object (defaults 
to org.apache.karaf.jaas.modules.RolePrincipal) and principal is the name of 
the principal of that class (defaults to admin).</p><p>Note that roles can be 
changed for a given layer using ConfigAdmin in the following 
configurations:</p><div class="table-wrap"><table 
class="confluenceTable"><tr><th class="confluenceTh"> Layer </th><th 
class="confluenceTh"> PID                        </th><th class="confluenceTh"> 
Value  </th></tr><tr><td class="confluenceTd"> SSH     </td><td 
class="confluenceTd"> org.apache.karaf.shell      </td><td 
class="confluenceTd"> sshRole </td></tr><tr><td class="confluenceTd"> JMX     
</td><td class="confluenceTd"> org.apache.karaf.management </td><td 
class="confluenceTd"> jmxRole </td></tr><tr><td class="confluenceTd"> Web     
</td><td class="confluenceTd"> org.apache.karaf.webconsole </td><td 
class="confluenceTd"> role    </td></tr></table></div><h2 
id="Enablingpasswordencryption">
 Enabling password encryption</h2><p>In order to not keep the passwords in 
plain text, the passwords can be stored encrypted in the configuration 
file.<br/>This can be easily enabled using the following commands:</p><pre>
+# edit config
+config:edit org.apache.karaf.jaas
+config:propset encryption.enabled true
+config:update 
+# force a restart
+dev:restart
+</pre><p>The passwords will be encrypted automatically in the 
<tt>etc/users.properties</tt> configuration file the first time the user logs 
in.<br/>Encrypted passwords are prepended with <tt>{CRYPT}</tt> so that are 
easy to recognize.</p><h2 id="Managingrealms">Managing realms</h2><p>More 
information about modifying the default realm or deploying new realms is 
provided in the <a 
href="../developers-guide/security-framework.html">developers guide</a>.</p><h2 
id="Deployingsecurityproviders">Deploying security providers</h2><p>Some 
applications require specific security providers to be available, such as <a 
href="http://www.bouncycastle.org";>BouncyCastle</a>.  The JVM impose some 
restrictions about the use of such jars: they have to be signed and be 
available on the boot classpath.  One way to deploy those providers is to put 
them in the JRE folder at <tt>$JAVA_HOME/jre/lib/ext</tt> and modify the 
security policy configuration 
(<tt>$JAVA_HOME/jre/lib/security/java.security</tt>) in ord
 er to register such providers.</p><p>While this approach works fine, it has a 
global effect and requires you to configure all your servers 
accordingly.</p><p>Karaf offers a simple way to configure additional security 
providers:</p><ul><li><p>put your provider jar in <tt><a 
href="karaf-install-dir.html">karaf-install-dir</a>/lib/ext</tt></p></li><li><p>modify
 the <tt><a 
href="karaf-install-dir.html">karaf-install-dir</a>/etc/config.properties</tt> 
configuration file to add the following property</p></li></ul><pre>
+org.apache.karaf.security.providers = xxx,yyy
+</pre><p>The value of this property is a comma separated list of the provider 
class names to register.<br/>For example:</p><pre>
+org.apache.karaf.security.providers = 
org.bouncycastle.jce.provider.BouncyCastleProvider
+</pre><p>In addition, you may want to provide access to the classes from those 
providers from the system bundle so that all bundles can access those.  It can 
be done by modifying the <tt>org.osgi.framework.bootdelegation</tt> property in 
the same configuration file:</p><pre>
+org.osgi.framework.bootdelegation = ...,org.bouncycastle*
+</pre>
+        </div>
+      
+          </div>
+    <div id="siteFooter">
+      &copy; 2008-2014 The Apache Software Foundation - <a 
href="http://servicemix.apache.org/site/privacy-policy.html";>Privacy Policy</a>
+      <br/>
+      Apache ServiceMix, ServiceMix, Apache, the Apache feather logo, and the 
Apache ServiceMix project logo are trademarks of The Apache Software Foundation.
+    </div>
+  </div>
+</body>
+</html>
\ No newline at end of file


Reply via email to