servicemix-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ge...@apache.org
Subject svn commit: r1388647 [23/28] - in /servicemix/site/production/docs/4.4.x: ./ activemq/ architecture/ camel/ camel/deployment/ commands/ images/ jbi/ jbi/components/ jbi/intro/ karaf/ karaf/developers-guide/ karaf/users-guide/ nmr/ quickstart/ quickstar...
Date Fri, 21 Sep 2012 19:46:06 GMT
Added: servicemix/site/production/docs/4.4.x/karaf/users-guide/kar.html
URL: http://svn.apache.org/viewvc/servicemix/site/production/docs/4.4.x/karaf/users-guide/kar.html?rev=1388647&view=auto
==============================================================================
--- servicemix/site/production/docs/4.4.x/karaf/users-guide/kar.html (added)
+++ servicemix/site/production/docs/4.4.x/karaf/users-guide/kar.html Fri Sep 21 19:45:57 2012
@@ -0,0 +1,122 @@
+
+<!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">
+            <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>my-features-1.xml</li><li>bundle1.jar</li><li>bundle2.jar</li><li>bundle3.jar</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><pr
 e>
+&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.4&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:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-collections/3.2.1_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>
\ No newline at end of file

Added: servicemix/site/production/docs/4.4.x/karaf/users-guide/logging-system.html
URL: http://svn.apache.org/viewvc/servicemix/site/production/docs/4.4.x/karaf/users-guide/logging-system.html?rev=1388647&view=auto
==============================================================================
--- servicemix/site/production/docs/4.4.x/karaf/users-guide/logging-system.html (added)
+++ servicemix/site/production/docs/4.4.x/karaf/users-guide/logging-system.html Fri Sep 21 19:45:57 2012
@@ -0,0 +1,78 @@
+
+<!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">
+            <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>Apache Commons Logging</li><li>SLF4J</li><li>Apache Log4j</li><li>Java Util Logging</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>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</li><li>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></li><li>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</li></ul><h3 id="Changingt
 heloglevels">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="highlight">
 <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><a href="../../commands/log-clear.html"><tt>log:clear</tt></a>: clear the log</li><li><a href="../../commands/log-display.html"><tt>log:display</tt></a>: display the last log entries</li><li><a href="../../commands/log-display-exception.html"><tt>log:display-exception</tt></a>: display the last exception from the log</li><li><a href="../../commands/log-get.html"><tt>log:get</tt></a>: show the log levels</li><li><a href="../../commands/log-set.html"><tt>log:set</tt></a>: set the log levels</li><li><a href="../../commands/log-tail.html"><tt>log:tail</tt></a>: continuous display of the log entries</li></ul><p>For example, if you want to debug something, you might want to run the following commands:</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="highl
 ight"><pre>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 follo
 wing attributes by default:</p><ul><li><tt>bundle.id</tt>: the id of the bundle from which the class is loaded</li><li><tt>bundle.name</tt>: the symbolic-name of the bundle</li><li><tt>bundle.version</tt>: the version of the bundle</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;</p
 re></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]&#x00
 0A;	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 My
 Appender extends AppenderSkeleton {<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>Now you can use the appender in your log4j config file like shown in the config examples above.</p>
\ No newline at end of file

Added: servicemix/site/production/docs/4.4.x/karaf/users-guide/provisioning.html
URL: http://svn.apache.org/viewvc/servicemix/site/production/docs/4.4.x/karaf/users-guide/provisioning.html?rev=1388647&view=auto
==============================================================================
--- servicemix/site/production/docs/4.4.x/karaf/users-guide/provisioning.html (added)
+++ servicemix/site/production/docs/4.4.x/karaf/users-guide/provisioning.html Fri Sep 21 19:45:57 2012
@@ -0,0 +1,183 @@
+
+<!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">
+            <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=60</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><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 feature 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 us
 ing plain 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>finalna
 me</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.2.4/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 an
 d 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>\<a href="FELIX:karaf">FELIX:karaf\</a>/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><tt>featuresBoot</tt>: a comma separated list of features to install at startup</li><li><tt>featuresRepositories</tt>: a comma separated list of feature repositories to load at startup</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>
\ No newline at end of file

Added: servicemix/site/production/docs/4.4.x/karaf/users-guide/remote-console.html
URL: http://svn.apache.org/viewvc/servicemix/site/production/docs/4.4.x/karaf/users-guide/remote-console.html?rev=1388647&view=auto
==============================================================================
--- servicemix/site/production/docs/4.4.x/karaf/users-guide/remote-console.html (added)
+++ servicemix/site/production/docs/4.4.x/karaf/users-guide/remote-console.html Fri Sep 21 19:45:57 2012
@@ -0,0 +1,117 @@
+
+<!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">
+            <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>\<a href="karaf_install_dir.html">karaf_install_dir\</a>/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>
\ No newline at end of file

Added: servicemix/site/production/docs/4.4.x/karaf/users-guide/security.html
URL: http://svn.apache.org/viewvc/servicemix/site/production/docs/4.4.x/karaf/users-guide/security.html?rev=1388647&view=auto
==============================================================================
--- servicemix/site/production/docs/4.4.x/karaf/users-guide/security.html (added)
+++ servicemix/site/production/docs/4.4.x/karaf/users-guide/security.html Fri Sep 21 19:45:57 2012
@@ -0,0 +1,87 @@
+
+<!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">
+            <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>access to the SSH console</li><li>access to the JMX management layer</li><li>access to the Web console<p>Those three ways all delegate to the same JAAS based security authentication.</p><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></li></ul><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="Enablingpasswordencr
 yption">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 order 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>put your provider jar in <tt><a href="karaf-install-dir.html">karaf-install-dir</a>/lib/ext</tt></li><li>modify the <tt><a href="karaf-install-dir.html">karaf-install-dir</a>/etc/config.properties</tt> configuration file to add the following property</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>
\ No newline at end of file

Added: servicemix/site/production/docs/4.4.x/karaf/users-guide/start-stop.html
URL: http://svn.apache.org/viewvc/servicemix/site/production/docs/4.4.x/karaf/users-guide/start-stop.html?rev=1388647&view=auto
==============================================================================
--- servicemix/site/production/docs/4.4.x/karaf/users-guide/start-stop.html (added)
+++ servicemix/site/production/docs/4.4.x/karaf/users-guide/start-stop.html Fri Sep 21 19:45:57 2012
@@ -0,0 +1,102 @@
+
+<!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">
+            <h1 id="StartingandStoppingKaraf">Starting and Stopping Karaf</h1><p>This chapter describes how to start and stop Apache Karaf and the various options that are available.</p><h2 id="StartingKaraf">Starting Karaf</h2><h3 id="OnWindows">On Windows</h3><p>From a console window, change to the installation directory and run <tt>Karaf</tt>. For the binary distribution, go to</p><pre>
+cd [karaf_install_dir]
+</pre><p>where <tt>karaf_install_dir</tt> is the directory in which Karaf was installed, e.g., <tt>c:\Program Files\apache-karaf-x.y</tt>.</p><p>Then type:</p><pre>
+bin\karaf.bat
+</pre><h3 id="OnUnix">On Unix</h3><p>From a command shell, change to the installation directory and run <tt>Karaf</tt>. For the binary distribution, go to</p><pre>
+cd [karaf_install_dir]
+</pre><p>where <tt>karaf_install_dir</tt> is the directory in which Karaf was installed, e.g., <tt>/usr/local/apache-karaf-x.y</tt>.</p><p>Then type:</p><pre>
+bin/karaf
+</pre><div class="warning" style="border: 1px solid #c00;background-color: #fcc;margin: 20px;padding: 0px 6px 0px 6px;"><p><b>Warning</b></p><p>Do NOT close the console or shell in which Karaf was started, as that will terminate Karaf (unless Karaf was started with nohup).</p></div><h2 id="StartingKarafwithoutconsole">Starting Karaf without console</h2><p>Karaf can be started without the console if you don't intend to use it (one can always connect using the remote ssh access) using the following command:</p><pre>
+bin\karaf.bat server
+</pre><p>or, on Unix:</p><pre>
+bin\karaf server
+</pre><h2 id="StartingKarafinthebackground">Starting Karaf in the background</h2><p>Karaf can be easily started as a background process using the following command:</p><pre>
+bin\start.bat
+</pre><p>or, on Unix:</p><pre>
+bin\start
+</pre><h2 id="StartingKaraffromclean">Starting Karaf from clean</h2><p>Karaf can be reset to a clean state by simply deleting the <tt>\<a href="karaf_install_dir.html">karaf_install_dir\</a>/data</tt> folder.<br/>For convenience, a parameter on the <tt>karaf</tt> and <tt>start</tt> scripts is available:</p><pre>
+bin/start clean
+</pre><h2 id="StoppingKaraf">Stopping Karaf</h2><p>For both Windows and Unix installations, you can perform a clean shutdown of Karaf by using the following command when inside a Karaf console:</p><pre>
+osgi:shutdown
+</pre><p>or simply:</p><pre>
+shutdown
+</pre><p>The shutdown command asks you to confirm that you really want to shutdown. If you are sure about the shutdown and avoid the confirmation message, you can use the <del>f or -</del>force option:</p><pre>
+osgi:shutdown -f
+</pre><p>It's also possible to delay the shutdown using the time argument. The time argument can have different formats. First, it can be an absolute time in the format hh:mm, in which hh is the hour (1 or 2 digits) and mm is the minute of the hour (in two digits). Second, it can be in the format +m, in which m is the number of minutes to wait. The work now is an alias for +0.</p><p>The following command will shutdown Karaf at 10:35am:</p><pre>
+osgi:shutdown 10:35
+</pre><p>The following command will shutdown Karaf in 10 minutes:</p><pre>
+osgi:shutdown +10
+</pre><p>If you're running from the main console, exiting the shell using <tt>logout</tt> or <tt>Ctrl+D</tt> will also terminate the Karaf instance.</p><p>From a command shell, you can run the following command:</p><pre>
+bin\stop.bat
+</pre><p>or, on Unix:</p><pre>
+bin/stop
+</pre>
\ No newline at end of file

Added: servicemix/site/production/docs/4.4.x/karaf/users-guide/using-console.html
URL: http://svn.apache.org/viewvc/servicemix/site/production/docs/4.4.x/karaf/users-guide/using-console.html?rev=1388647&view=auto
==============================================================================
--- servicemix/site/production/docs/4.4.x/karaf/users-guide/using-console.html (added)
+++ servicemix/site/production/docs/4.4.x/karaf/users-guide/using-console.html Fri Sep 21 19:45:57 2012
@@ -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">
+            <h1 id="Usingtheconsole">Using the console</h1><h2 id="Viewingavailablecommands">Viewing available commands</h2><p>To see a list of the available commands in the console press the <tt>&lt;tab></tt> key at the prompt.</p><pre>
+root@root> Display all 182 possibilities? (y or n)
+*:help                           addurl                           admin:change-opts
+admin:change-rmi-registry-port   admin:change-ssh-port            admin:connect
+admin:create                     admin:destroy                    admin:list
+admin:rename                     admin:start                      admin:stop
+bundle-level                     cancel                           cat
+change-opts                      change-rmi-registry-port         change-ssh-port
+clear                            commandlist                      config:cancel
+config:edit                      config:list                      config:propappend
+config:propdel                   config:proplist                  config:propset
+config:update                    connect                          create
+create-dump                      destroy                          dev:create-dump
+dev:dynamic-import               dev:framework                    dev:print-stack-traces
+dev:restart                      dev:show-tree                    dev:watch
+display                          display-exception                dynamic-import
+each                             echo                             edit
+exec                             exports                          features:addurl
+features:info                    features:install                 features:list
+features:listrepositories        features:listurl                 features:listversions
+features:refreshurl              features:removerepository        features:removeurl
+features:uninstall               framework                        get
+grep                             head                             headers
+help                             history                          if
+imports                          info                             install
+jaas:cancel                      jaas:commandlist                 jaas:list
+jaas:manage                      jaas:roleadd                     jaas:roledel
+jaas:update                      jaas:useradd                     jaas:userdel
+jaas:userlist                    java                             list
+listrepositories                 listurl                          listversions
+log:clear                        log:display                      log:display-exception
+log:get                          log:set                          log:tail
+logout                           ls                               manage
+more                             new                              osgi:bundle-level
+osgi:headers                     osgi:info                        osgi:install
+osgi:list                        osgi:ls                          osgi:refresh
+osgi:resolve                     osgi:restart                     osgi:shutdown
+osgi:start                       osgi:start-level                 osgi:stop
+osgi:uninstall                   osgi:update                      packages:exports
+packages:imports                 print-stack-traces               printf
+propappend                       propdel                          proplist
+propset                          refresh                          refreshurl
+removerepository                 removeurl                        rename
+resolve                          restart                          roleadd
+roledel                          set                              shell:cat
+shell:clear                      shell:each                       shell:echo
+shell:exec                       shell:grep                       shell:head
+shell:history                    shell:if                         shell:info
+shell:java                       shell:logout                     shell:more
+shell:new                        shell:printf                     shell:sleep
+shell:sort                       shell:tac                        shell:tail
+show-tree                        shutdown                         sleep
+sort                             ssh                              ssh:ssh
+ssh:sshd                         sshd                             start
+start-level                      stop                             tac
+tail                             uninstall                        update
+useradd                          userdel                          userlist
+watch
+root@root>
+</pre><p>The <tt>&lt;tab></tt> key toggles autocompletion anywhere on the line, so if you want to see the commands in the <tt>osgi</tt> group, type the first letters and hit <tt>&lt;tab></tt>.  Depending on the commands, autocompletion may be available for options and arguments too.</p><h2 id="Gettinghelpforacommand">Getting help for a command</h2><p>To view help on a particular command, type the command followed by <tt>--help</tt> or use the <tt>help</tt> command followed by the name of the command:</p><pre>
+karaf@root> features:list --help
+DESCRIPTION
+        features:list
+
+        Lists all existing features available from the defined repositories.
+
+SYNTAX
+        features:list [options]
+
+OPTIONS
+        --help
+                       Display this help message
+        -i, --installed
+                       Display a list of all installed features only
+</pre><h2 id="More...">More...</h2><p>The list of all available commands and their usage is also available in a <a href="../../commands/commands.html">dedicated section</a>.</p><p>You'll find a more in-depth guide to the shell syntax in the <a href="../../developers-guide/shell-syntax.html">developers guide</a>.</p><p>The console can also be easily extended by creating new commands as explained in the <a href="../../developers-guide/extending-console.html">developers guide</a>.</p>
\ No newline at end of file

Added: servicemix/site/production/docs/4.4.x/karaf/users-guide/web-applications.html
URL: http://svn.apache.org/viewvc/servicemix/site/production/docs/4.4.x/karaf/users-guide/web-applications.html?rev=1388647&view=auto
==============================================================================
--- servicemix/site/production/docs/4.4.x/karaf/users-guide/web-applications.html (added)
+++ servicemix/site/production/docs/4.4.x/karaf/users-guide/web-applications.html Fri Sep 21 19:45:57 2012
@@ -0,0 +1,133 @@
+
+<!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">
+            <h1 id="Webapplications">Web applications</h1><h2 id="Installingwarsupport">Installing war support</h2><p>The following steps will install the "war" feature (support for deploying WAR files with Servlet and JSPs into a Jetty server) into your Karaf instance.</p><ol><li>List the available features -<pre>karaf@root> features:list 
+ State        Name
+. . .
+[uninstalled] [2.2.0] obr        karaf-2.2.0
+[uninstalled] [2.2.0] config     karaf-2.2.0
+[uninstalled] [2.2.0] http       karaf-2.2.0
+[uninstalled] [2.2.0] war        karaf-2.2.0
+[uninstalled] [2.2.0] webconsole karaf-2.2.0
+[installed  ] [2.2.0] ssh        karaf-2.2.0
+. . .
+</pre></li><li>Install the war feature (and the sub-features it requires) -<pre>karaf@root> features:install war 
+</pre><p>Note: you can use the <del>v or -</del>verbose to see exactly what Karaf does</p><pre>karaf@root> features:install -v war
+Installing feature war 2.1.99-SNAPSHOT
+Installing feature http 2.1.99-SNAPSHOT
+Installing feature jetty 7.1.6.v20100715
+Installing bundle mvn:org.apache.geronimo.specs/geronimo-servlet_2.5_spec/1.1.2
+Found installed bundle: org.apache.servicemix.bundles.asm [10]
+Installing bundle mvn:org.eclipse.jetty/jetty-util/7.1.6.v20100715
+Installing bundle mvn:org.eclipse.jetty/jetty-io/7.1.6.v20100715
+Installing bundle mvn:org.eclipse.jetty/jetty-http/7.1.6.v20100715
+Installing bundle mvn:org.eclipse.jetty/jetty-continuation/7.1.6.v20100715
+Installing bundle mvn:org.eclipse.jetty/jetty-server/7.1.6.v20100715
+Installing bundle mvn:org.eclipse.jetty/jetty-security/7.1.6.v20100715
+Installing bundle mvn:org.eclipse.jetty/jetty-servlet/7.1.6.v20100715
+Installing bundle mvn:org.eclipse.jetty/jetty-xml/7.1.6.v20100715
+Checking configuration file mvn:org.apache.karaf/apache-karaf/2.1.99-SNAPSHOT/xml/jettyconfig
+Installing bundle mvn:org.ops4j.pax.web/pax-web-api/0.8.2-SNAPSHOT
+Installing bundle mvn:org.ops4j.pax.web/pax-web-spi/0.8.2-SNAPSHOT
+Installing bundle mvn:org.ops4j.pax.web/pax-web-runtime/0.8.2-SNAPSHOT
+Installing bundle mvn:org.ops4j.pax.web/pax-web-jetty/0.8.2-SNAPSHOT
+Installing bundle mvn:org.ops4j.pax.web/pax-web-jsp/0.8.2-SNAPSHOT
+Installing bundle mvn:org.ops4j.pax.web/pax-web-extender-war/0.8.2-SNAPSHOT
+Installing bundle mvn:org.ops4j.pax.web/pax-web-extender-whiteboard/0.8.2-SNAPSHOT
+Installing bundle mvn:org.ops4j.pax.web/pax-web-deployer/0.8.2-SNAPSHOT
+Installing bundle mvn:org.ops4j.pax.url/pax-url-war/1.2.4
+</pre></li><li>Verify the features were installed<pre>servicemix> features/list
+ State        Name
+. . .
+[installed ] [2.2.0] http karaf-2.2.0
+[installed ] [2.2.0] war  karaf-2.2.0
+. . .
+</pre></li><li>Verify the installed bundles were started<pre>karaf@root> osgi:list 
+START LEVEL 100
+   ID   State         Level  Name
+. . .
+[ 32] [Active ] [ ] [ 60] geronimo-servlet_2.5_spec (1.1.2) 
+[ 33] [Active ] [ ] [ 60] Apache ServiceMix :: Bundles :: jetty (6.1.22.2) 
+[ 34] [Active ] [ ] [ 60] OPS4J Pax Web - API (1.0.0)
+[ 35] [Active ] [ ] [ 60] OPS4J Pax Web - Service SPI (1.0.0)
+[ 36] [Active ] [ ] [ 60] OPS4J Pax Web - Runtime (1.0.0)
+[ 37] [Active ] [ ] [ 60] OPS4J Pax Web - Jetty (1.0.0)
+[ 38] [Active ] [ ] [ 60] OPS4J Pax Web - Jsp Support (1.0.0)
+[ 39] [Active ] [ ] [ 60] OPS4J Pax Web - Extender - WAR (1.0.0)
+[ 40] [Active ] [ ] [ 60] OPS4J Pax Web - Extender - Whiteboard (1.0.0)
+[ 42] [Active ] [ ] [ 60] OPS4J Pax Web - FileInstall Deployer (1.0.0)
+[ 41] [Active ] [ ] [ 60] OPS4J Pax Url - war:, war-i: (1.2.4)
+. . .
+</pre></li><li>The Jetty server should now be listening on http://localhost:8181/, but with no published applications available.<pre>HTTP ERROR: 404
+NOT_FOUND
+RequestURI=/
+Powered by jetty://
+</pre></li></ol><h2 id="DeployingaWARtotheinstalledwebfeature">Deploying a WAR to the installed web feature</h2><p>The following steps will describe how to install a simple WAR file (with JSPs or Servlets) to the just installed web feature.</p><ol><li>To deploy a WAR (JSP or Servlet) to Jetty, update its MANIFEST.MF to include the required OSGi headers as described here - <br/><p><a href="http://team.ops4j.org/wiki/display/ops4j/Pax+Web+Extender+-+War+-+OSGi-fy">http://team.ops4j.org/wiki/display/ops4j/Pax+Web+Extender+-+War+-+OSGi-fy</a></p></li><li>Copy the updated WAR (archive or extracted files) to the <em>deploy</em> directory.</li></ol><p>If you want to deploy a sample web application into Karaf, you could use the following command:</p><pre>
+karaf@root> osgi:install -s webbundle:http://tomcat.apache.org/tomcat-5.5-doc/appdev/sample/sample.war?Bundle-SymbolicName=tomcat-sample&amp;Webapp-Context=/sample
+</pre><p>Then open your web browser and point to <tt>http://localhost:8181/sample/index.html</tt>.</p>
\ No newline at end of file

Added: servicemix/site/production/docs/4.4.x/karaf/users-guide/web-console.html
URL: http://svn.apache.org/viewvc/servicemix/site/production/docs/4.4.x/karaf/users-guide/web-console.html?rev=1388647&view=auto
==============================================================================
--- servicemix/site/production/docs/4.4.x/karaf/users-guide/web-console.html (added)
+++ servicemix/site/production/docs/4.4.x/karaf/users-guide/web-console.html Fri Sep 21 19:45:57 2012
@@ -0,0 +1,76 @@
+
+<!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">
+            <h1 id="Webconsole">Web console</h1><p>The Karaf web console provides a graphical overview of the runtime.<br/>You can use it to:</p><ul><li>install and uninstall features</li><li>start, stop, install bundles</li><li>create child instances</li><li>configure Karaf</li><li>view logging informations</li></ul><h2 id="Installingthewebconsole">Installing the web console</h2><p>The web console is not installed by default.  To install it, run the following command from the Karaf prompt:</p><pre>
+root@karaf> features:install webconsole
+</pre><h2 id="Accessingthewebconsole">Accessing the web console</h2><p>To access the console for an instance of Karaf running locally, enter the following address in your web browser:</p><pre>
+http://localhost:8181/system/console
+</pre><p>Log in with the username <tt>karaf</tt> and the password <tt>karaf</tt>.  If you have changed the default user or password, use the one you have configured.</p><h2 id="Changingthewebconsoleportnumber">Changing the web console port number</h2><p>By default, the console runs on port 8181. You can change the port number by creating the properties file, <tt>etc/org.ops4j.pax.web.cfg</tt>, and adding the following property setting (changing the port number to whatever value desired):</p><pre>
+org.osgi.service.http.port=8181
+</pre>
\ No newline at end of file



Mime
View raw message