servicemix-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ksobkow...@apache.org
Subject svn commit: r1730121 - in /servicemix/site/production/docs/7.x: ./ developers-guide/
Date Fri, 12 Feb 2016 21:55:15 GMT
Author: ksobkowiak
Date: Fri Feb 12 21:55:15 2016
New Revision: 1730121

URL: http://svn.apache.org/viewvc?rev=1730121&view=rev
Log:
[scm-publish] Updating ServiceMix 7.x documentation contents

Added:
    servicemix/site/production/docs/7.x/developers-guide/
    servicemix/site/production/docs/7.x/developers-guide/creating-bundles.html
    servicemix/site/production/docs/7.x/developers-guide/developer-commands.html
    servicemix/site/production/docs/7.x/developers-guide/extending.html
    servicemix/site/production/docs/7.x/developers-guide/github-contributions.html
    servicemix/site/production/docs/7.x/developers-guide/karaf-maven-plugin.html
    servicemix/site/production/docs/7.x/developers-guide/services.html
    servicemix/site/production/docs/7.x/index.html

Added: servicemix/site/production/docs/7.x/developers-guide/creating-bundles.html
URL: http://svn.apache.org/viewvc/servicemix/site/production/docs/7.x/developers-guide/creating-bundles.html?rev=1730121&view=auto
==============================================================================
--- servicemix/site/production/docs/7.x/developers-guide/creating-bundles.html (added)
+++ servicemix/site/production/docs/7.x/developers-guide/creating-bundles.html Fri Feb 12 21:55:15 2016
@@ -0,0 +1,253 @@
+
+<!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-developers-guide">
+    <a href="#">Developer's Guide</a>
+    <ul>
+      <li id="extending-console">
+        <a href="extending-console.html">Extending Console</a>
+      </li>
+      <li id="writing-tests">
+        <a href="writing-tests.html">Tests with Pax Exam</a>
+      </li>
+      <li id="debugging">
+        <a href="debugging.html">Debug Karaf</a>
+      </li>
+      <li id="creating-bundles">
+        <a href="creating-bundles.html">Creating bundles</a>
+      </li>
+      <li id="connect-console">
+        <a href="connect-console.html">Connect to the console</a>
+      </li>
+      <li id="shell-syntax">
+        <a href="shell-syntax.html">Console shell syntax</a>
+      </li>
+    </ul>
+  </li>
+</ul>
+        </div>
+        <div id="body">
+                              <h1 id="BasicbundlecreationusingtheFelixmavenbundleplugin">Basic bundle creation using the Felix maven-bundle-plugin</h1><p>Create a bundle instead of a normal jar by using a pom file like this:</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.bundle&lt;/artifactId>
+    &lt;version>1.0-SNAPSHOT&lt;/version>
+    &lt;name>My Bundle&lt;/name>
+    &lt;description>My bundle short description&lt;/description>
+
+    &lt;build>
+        &lt;resources>
+            &lt;resource>
+                &lt;directory>/x1/asf/karaf/k40x/target/checkout/manual/src/main/resources&lt;/directory>
+                &lt;filtering>true&lt;/filtering>
+                &lt;includes>
+                    &lt;include>**/*&lt;/include>
+                &lt;/includes>
+            &lt;/resource>
+        &lt;/resources>
+        &lt;plugins>
+            &lt;plugin>
+                &lt;groupId>org.apache.felix&lt;/groupId>
+                &lt;artifactId>maven-bundle-plugin&lt;/artifactId>
+                &lt;version>2.4.0&lt;/version>
+                &lt;extensions>true&lt;/extensions>
+                &lt;configuration>
+                    &lt;instructions>
+                        &lt;Bundle-SymbolicName>manual&lt;/Bundle-SymbolicName>
+                        ...
+                    &lt;/instructions>
+                &lt;/configuration>
+            &lt;/plugin>
+        &lt;/plugins>
+    &lt;/build>
+
+&lt;/project>
+</pre><h2 id="Addextendedinformationtobundles">Add extended information to bundles</h2><p>Karaf supports a OSGI-INF/bundle.info file in a bundle. This file is extended description of the bundle. It supports ASCII character declarations (for adding color, formatting, etc) and some simple Wiki syntax.</p><p>Simply add a src/main/resources/OSGI-INF/bundle.info file containing, for instance:</p><pre>
+h1. SYNOPSIS
+    The Apache Software Foundation provides support for the Apache community of open-source software projects.
+    The Apache projects are characterized by a collaborative, consensus based development process, an open and
+    pragmatic software license, and a desire to create high quality software that leads the way in its field.
+    We consider ourselves not simply a group of projects sharing a server, but rather a community of developers
+    and users.
+
+h1. DESCRIPTION
+    Long description of your bundle, including usage, etc.
+
+h1.SEE ALSO
+    [http://yourside\]
+    [http://yourside/docs\]
+</pre><p>You can display this extended information using:</p><pre>
+root@karaf> bundles:info
+</pre><h2 id="WikiSyntax">Wiki Syntax</h2><p>Karaf supports some simple wiki syntax in bunde info files:</p><pre>
+h1., h2., ... : Headings
+* : Enumerations
+[http://....] : links
+</pre><h1 id="CreatingbundlesfornonOSGithirdpartydependencies">Creating bundles for non OSGi third party dependencies</h1><h2 id="Dynamicallywrappingjars">Dynamically wrapping jars</h2><p>Karaf supports the wrap: protocol execution.</p><p>It allows for directly deploying third party dependencies, like Apache Commons Lang:</p><pre>
+root@karaf> bundles:install wrap:mvn:commons-lang/commons-lang/2.4
+</pre><p>The wrap protocol creates a bundle dynamically using the bnd. Confiugurations can be added in the wrap URL:</p><p>from the shell</p><pre>
+root@karaf> bundles:install 'wrap:mvn:commons-lang/commons-lang/2.4$Bundle-SymbolicName=commons-lang&amp;Bundle-Version=2.4'
+</pre><p>from features.xml</p><pre>
+&lt;bundle>wrap:mvn:commons-lang/commons-lang/2.4$Bundle-SymbolicName=commons-lang&amp;undle-Version=2.4&lt;/bundle>
+</pre><h2 id="Staticallybundlingjars">Statically bundling jars</h2><p>You can also create a wrap bundle for a third party dependency.<br/>This bundle is simply a Maven POM that shades an existing jar and package into a jar bundle.</p><p>For instance, to create an OSGi bundle that wraps Apache Commons Lang, simply define the following Maven POM:</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>osgi.commons-lang&lt;/groupId>
+    &lt;artifactId>osgi.commons-lang&lt;/artifactId>
+    &lt;version>2.4&lt;/version>
+    &lt;packaging>bundle&lt;/packaging>
+    &lt;name>commons-lang OSGi Bundle&lt;/name>
+    &lt;description>This OSGi bundle simply wraps commons-lang-2.4.jar artifact.&lt;/description>
+
+    &lt;dependencies>
+        &lt;dependency>
+            &lt;groupId>commons-lang&lt;/groupId>
+            &lt;artifactId>commons-lang&lt;/artifactId>
+            &lt;version>2.4&lt;/version>
+            &lt;optional>true&lt;/optional>
+        &lt;/dependency>
+    &lt;/dependencies>
+
+    &lt;build>
+        &lt;defaultGoal>install&lt;/defaultGoal>
+
+        &lt;plugin>
+            &lt;groupId>org.apache.maven.plugins&lt;/groupId>
+            &lt;artifactId>maven-shade-plugin&lt;/artifactId>
+            &lt;version>1.1&lt;/version>
+            &lt;executions>
+                &lt;execution>
+                    &lt;phase>package&lt;/phase>
+                    &lt;goals>
+                        &lt;goal>shade&lt;/goal>
+                    &lt;/goals>
+                    &lt;configuration>
+                        &lt;artifactSet>
+                            &lt;includes>
+                                &lt;include>commons-lang:commons-lang&lt;/include>
+                            &lt;/includes>
+                        &lt;/artifactSet>
+                        &lt;filters>
+                            &lt;filter>
+                                &lt;artifact>commons-lang:commons-lang&lt;/artifact>
+                                &lt;excludes>
+                                    &lt;exclude>**&lt;/exclude>
+                                &lt;/excludes>
+                            &lt;/filter>
+                        &lt;/filters>
+                        &lt;promoteTransitiveDependencies>true&lt;/promoteTransitiveDependencies>
+                        &lt;createDependencyReducedPom>true&lt;/createDependencyReducedPom>
+                    &lt;/configuration>
+                &lt;/execution>
+            &lt;/executions>
+        &lt;/plugin>
+        &lt;plugin>
+            &lt;groupId>org.apache.felix&lt;/groupId>
+            &lt;artifactId>maven-bundle-plugin&lt;/artifactId>
+            &lt;version>2.1.0&lt;/version>
+            &lt;extensions>true&lt;/extensions>
+            &lt;configuration>
+                &lt;instructions>
+                    &lt;Bundle-SymbolicName>manual&lt;/Bundle-SymbolicName>
+                    &lt;Export-Package>&lt;/Export-Package>
+                    &lt;Import-Package>&lt;/Import-Package>
+                    &lt;_versionpolicy>[$(version;==;$(@)),$(version;+;$(@)))&lt;/_versionpolicy>
+                    &lt;_removeheaders>Ignore-Package,Include-Resource,Private-Package,Embed-Dependency&lt;/_removeheaders>
+                &lt;/instructions>
+                &lt;unpackBundle>true&lt;/unpackBundle>
+            &lt;/configuration>
+        &lt;/plugin>
+    &lt;/build>
+
+&lt;/project>
+</pre><p>The resulting OSGi bundle can now be deployed directly:</p><pre>
+root@karaf> bundles:install -s mvn:osgi.commons-lang/osgi.commons-lang/2.4
+</pre><p>Some more information is available at <a href="http://gnodet.blogspot.com/2008/09/id-like-to-talk-bit-about-third-party.html">http://gnodet.blogspot.com/2008/09/id-like-to-talk-bit-about-third-party.html</a>, <a href="http://blog.springsource.com/2008/02/18/creating-osgi-bundles/">http://blog.springsource.com/2008/02/18/creating-osgi-bundles/</a> and <a href="http://felix.apache.org/site/apache-felix-maven-bundle-plugin-bnd.html">http://felix.apache.org/site/apache-felix-maven-bundle-plugin-bnd.html</a>.</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/developers-guide/developer-commands.html
URL: http://svn.apache.org/viewvc/servicemix/site/production/docs/7.x/developers-guide/developer-commands.html?rev=1730121&view=auto
==============================================================================
--- servicemix/site/production/docs/7.x/developers-guide/developer-commands.html (added)
+++ servicemix/site/production/docs/7.x/developers-guide/developer-commands.html Fri Feb 12 21:55:15 2016
@@ -0,0 +1,234 @@
+
+<!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-developers-guide">
+    <a href="#">Developer's Guide</a>
+    <ul>
+      <li id="extending-console">
+        <a href="extending-console.html">Extending Console</a>
+      </li>
+      <li id="writing-tests">
+        <a href="writing-tests.html">Tests with Pax Exam</a>
+      </li>
+      <li id="debugging">
+        <a href="debugging.html">Debug Karaf</a>
+      </li>
+      <li id="creating-bundles">
+        <a href="creating-bundles.html">Creating bundles</a>
+      </li>
+      <li id="connect-console">
+        <a href="connect-console.html">Connect to the console</a>
+      </li>
+      <li id="shell-syntax">
+        <a href="shell-syntax.html">Console shell syntax</a>
+      </li>
+    </ul>
+  </li>
+</ul>
+        </div>
+        <div id="body">
+                              <h1 id="Developercommands">Developer commands</h1><p>As you can see in the users guide, Apache Karaf is an enterprise ready OSGi container.</p><p>It's also a container designed to simplify the life for developers and administrators to get details about the<br/>running container.</p><h2 id="Dump">Dump</h2><p>If you encounter issues like performance degradations, weird behaviour, it could be helpful to have a kind of snapshot<br/>about the current activity of the container.</p><p>The <tt>dev:dump-create</tt> command creates a dump file containing:</p><ul><li><p>the <tt>bundles.txt</tt> file contains the list of all OSGi bundles, with id, symbolic name, version, current status</p></li><li><p>the <tt>environment.txt</tt> file contains details about Apache Karaf, OSGi framework, Operating System, JVM, system<br/> properties, threads count, classes loaded</p></li><li><p>the <tt>features.txt</tt> file contains the list of Apache Karaf features repositories, fe
 atures with version, current<br/> status, and bundles provided.</p></li><li><p>the <tt>threads.txt</tt> file contains a thread dump, with all threads, waiting status, etc.</p></li><li><p>the <tt>log</tt> folder contains the <tt>data/log</tt> folder, with all log files.</p></li></ul><p>By default, the <tt>dev:dump-create</tt> command creates a zip file in the <tt>KARAF_BASE</tt> folder, with the timestamp of the<br/>dump creation:</p><pre>
+karaf@root()> dev:dump-create
+Diagnostic dump created.
+</pre><p>We can see the file generated in the <tt>KARAF_BASE</tt> folder:</p><pre>
+$ cd /opt/apache-karaf-3.0.0
+$ ls -lh *.zip
+-rw-r--r-- 1 user group 11K Dec 23 16:08 2013-12-23_160858.zip
+</pre><p>You can specify the file name of the zip archive:</p><pre>
+karaf@root()> dev:dump-create mydump.zip
+Diagnostic dump created.
+</pre><p>Instead of a zip archive, you can create the dump (exploded) in a directory using the <tt>-d</tt> (<tt>--directory</tt>) option:</p><pre>
+karaf@root()> dev:dump-create -d /tmp/mydump
+Diagnostic dump created.
+</pre><h2 id="Diagnostic">Diagnostic</h2><p>It's not always easy for the developers to understand why a bundle is not active.</p><p>It could be because the Activator failed, the Blueprint container start failed, etc.</p><p>The <tt>bundle:diag</tt> command gives you details about a bundle is not active:</p><pre>
+karaf@root()> bundle:diag
+Apache ServiceMix :: Bundles :: avro-ipc (81)
+---------------------------------------------
+Status: Installed
+Unsatisfied Requirements:
+[81.0] osgi.wiring.package; (&amp;(osgi.wiring.package=javax.servlet)(version>=2.5.0)(!(version>=3.0.0)))
+[81.0] osgi.wiring.package; (&amp;(osgi.wiring.package=javax.servlet.http)(version>=2.5.0)(!(version>=3.0.0)))
+[81.0] osgi.wiring.package; (&amp;(osgi.wiring.package=org.apache.avro)(version>=1.7.0)(!(version>=2.0.0)))
+[81.0] osgi.wiring.package; (&amp;(osgi.wiring.package=org.apache.avro.data)(version>=1.7.0)(!(version>=2.0.0)))
+[81.0] osgi.wiring.package; (&amp;(osgi.wiring.package=org.apache.avro.file)(version>=1.7.0)(!(version>=2.0.0)))
+[81.0] osgi.wiring.package; (&amp;(osgi.wiring.package=org.apache.avro.generic)(version>=1.7.0)(!(version>=2.0.0)))
+[81.0] osgi.wiring.package; (&amp;(osgi.wiring.package=org.apache.avro.io)(version>=1.7.0)(!(version>=2.0.0)))
+[81.0] osgi.wiring.package; (&amp;(osgi.wiring.package=org.apache.avro.reflect)(version>=1.7.0)(!(version>=2.0.0)))
+[81.0] osgi.wiring.package; (&amp;(osgi.wiring.package=org.apache.avro.specific)(version>=1.7.0)(!(version>=2.0.0)))
+[81.0] osgi.wiring.package; (&amp;(osgi.wiring.package=org.apache.avro.util)(version>=1.7.0)(!(version>=2.0.0)))
+[81.0] osgi.wiring.package; (osgi.wiring.package=org.apache.velocity)
+[81.0] osgi.wiring.package; (osgi.wiring.package=org.apache.velocity.app)
+[81.0] osgi.wiring.package; (osgi.wiring.package=org.apache.velocity.context)
+[81.0] osgi.wiring.package; (osgi.wiring.package=org.apache.velocity.exception)
+[81.0] osgi.wiring.package; (&amp;(osgi.wiring.package=org.jboss.netty.bootstrap)(version>=3.4.0)(!(version>=4.0.0)))
+[81.0] osgi.wiring.package; (&amp;(osgi.wiring.package=org.jboss.netty.buffer)(version>=3.4.0)(!(version>=4.0.0)))
+[81.0] osgi.wiring.package; (&amp;(osgi.wiring.package=org.jboss.netty.channel)(version>=3.4.0)(!(version>=4.0.0)))
+[81.0] osgi.wiring.package; (&amp;(osgi.wiring.package=org.jboss.netty.channel.group)(version>=3.4.0)(!(version>=4.0.0)))
+[81.0] osgi.wiring.package; (&amp;(osgi.wiring.package=org.jboss.netty.channel.socket.nio)(version>=3.4.0)(!(version>=4.0.0)))
+[81.0] osgi.wiring.package; (&amp;(osgi.wiring.package=org.jboss.netty.handler.codec.frame)(version>=3.4.0)(!(version>=4.0.0)))
+[81.0] osgi.wiring.package; (&amp;(osgi.wiring.package=org.jboss.netty.handler.codec.oneone)(version>=3.4.0)(!(version>=4.0.0)))
+[81.0] osgi.wiring.package; (&amp;(osgi.wiring.package=org.jboss.netty.handler.execution)(version>=3.4.0)(!(version>=4.0.0)))
+[81.0] osgi.wiring.package; (&amp;(osgi.wiring.package=org.mortbay.jetty)(version>=6.1.0)(!(version>=7.0.0)))
+[81.0] osgi.wiring.package; (&amp;(osgi.wiring.package=org.mortbay.jetty.bio)(version>=6.1.0)(!(version>=7.0.0)))
+[81.0] osgi.wiring.package; (&amp;(osgi.wiring.package=org.mortbay.jetty.nio)(version>=6.1.0)(!(version>=7.0.0)))
+[81.0] osgi.wiring.package; (&amp;(osgi.wiring.package=org.mortbay.jetty.servlet)(version>=6.1.0)(!(version>=7.0.0)))
+[81.0] osgi.wiring.package; (&amp;(osgi.wiring.package=org.mortbay.resource)(version>=6.1.0)(!(version>=7.0.0)))
+</pre><h2 id="Dynamicimport">Dynamic import</h2><p>The <tt>bundle:dynamic-import</tt> command allows you to enable or disable the dynamic import of a given bundle:</p><pre>
+karaf@root()> bundle:dynamic-import 77
+Enabling dynamic imports on bundle org.apache.karaf.config.core [77]
+</pre><p>The purpose of dynamic import is to allow a bundle to be wired up to packages that may not be knwon about in advance.<br/>When a class is requested, if it cannot be solved via the bundle's existing imports, the dynamic import allows other<br/>bundles to be considered for a wiring import to be added.</p><p>The <tt>bundle:dynamic-import</tt> command allows or doesn't allow this behaviour.</p><h2 id="OSGiframework">OSGi framework</h2><p>The <tt>system:framework</tt> command allows to display the current OSGi framework in use, and enable/disable debugging inside the OSGi framework.</p><pre>
+karaf@root()> system:framework
+Current OSGi framework is felix
+karaf@root()> system:framework -debug
+Enabling debug for OSGi framework (felix)
+karaf@root()> system:framework -nodebug
+Disabling debug for OSGi framework (felix)
+</pre><h2 id="Stacktracesprintout">Stack traces printout</h2><p>The <tt>shell:stack-traces-print</tt> command prints the full stack trace when the execution of a command<br/>throws an exception.</p><p>You can enable or disable this behaviour by passing true (to enable) or false (to disable) on the command on the fly:</p><pre>
+karaf@root()> stack-traces-print
+Printing of stacktraces set to true
+karaf@root()> bundle:start
+java.lang.RuntimeException: Access to system bundle 0 denied. You can override with -f
+        at org.apache.karaf.bundle.command.BundlesCommand.assertNoSystemBundles(BundlesCommand.java:57)
+        at org.apache.karaf.bundle.command.BundlesCommand.doExecute(BundlesCommand.java:48)
+        at org.apache.karaf.bundle.command.BundlesCommandWithConfirmation.doExecute(BundlesCommandWithConfirmation.java:41)
+        at org.apache.karaf.shell.console.AbstractAction.execute(AbstractAction.java:33)
+        at org.apache.karaf.shell.console.OsgiCommandSupport.execute(OsgiCommandSupport.java:39)
+        at org.apache.karaf.shell.commands.basic.AbstractCommand.execute(AbstractCommand.java:33)
+        at sun.reflect.GeneratedMethodAccessor30.invoke(Unknown Source)
+        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+        at java.lang.reflect.Method.invoke(Method.java:601)
+        at org.apache.aries.proxy.impl.ProxyHandler$1.invoke(ProxyHandler.java:54)
+        at org.apache.aries.proxy.impl.ProxyHandler.invoke(ProxyHandler.java:119)
+        at org.apache.karaf.shell.console.commands.$BlueprintCommand14083304.execute(Unknown Source)
+        at sun.reflect.GeneratedMethodAccessor30.invoke(Unknown Source)
+        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
+        at java.lang.reflect.Method.invoke(Method.java:601)
+        at org.apache.aries.proxy.impl.ProxyHandler$1.invoke(ProxyHandler.java:54)
+        at org.apache.aries.proxy.impl.ProxyHandler.invoke(ProxyHandler.java:119)
+        at org.apache.karaf.shell.console.commands.$BlueprintCommand14083304.execute(Unknown Source)
+        at org.apache.felix.gogo.runtime.CommandProxy.execute(CommandProxy.java:78)
+        at org.apache.felix.gogo.runtime.Closure.executeCmd(Closure.java:477)
+        at org.apache.felix.gogo.runtime.Closure.executeStatement(Closure.java:403)
+        at org.apache.felix.gogo.runtime.Pipe.run(Pipe.java:108)
+        at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:183)
+        at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:120)
+        at org.apache.felix.gogo.runtime.CommandSessionImpl.execute(CommandSessionImpl.java:89)
+        at org.apache.karaf.shell.console.impl.jline.ConsoleImpl$DelegateSession.execute(ConsoleImpl.java:497)
+        at org.apache.karaf.shell.console.impl.jline.ConsoleImpl.run(ConsoleImpl.java:198)
+        at java.lang.Thread.run(Thread.java:722)
+        at org.apache.karaf.shell.console.impl.jline.ConsoleFactoryService$3.doRun(ConsoleFactoryService.java:118)
+        at org.apache.karaf.shell.console.impl.jline.ConsoleFactoryService$3$1.run(ConsoleFactoryService.java:109)
+        at java.security.AccessController.doPrivileged(Native Method)
+        at org.apache.karaf.jaas.modules.JaasHelper.doAs(JaasHelper.java:47)
+        at org.apache.karaf.shell.console.impl.jline.ConsoleFactoryService$3.run(ConsoleFactoryService.java:107)
+karaf@root()> stack-traces-print false
+Printing of stacktraces set to false
+karaf@root()> bundle:start
+Error executing command: Access to system bundle 0 denied. You can override with -f
+</pre><h2 id="Bundletree">Bundle tree</h2><p>The <tt>bundle:tree-show</tt> command shows the bundle dependency tree based on the wiring information of a given single bundle<br/>ID.</p><pre>
+karaf@root()> bundle:tree-show 40
+Bundle org.ops4j.pax.url.wrap [40] is currently ACTIVE
+
+org.ops4j.pax.url.wrap [40]
++- org.ops4j.base.util.property [14]
++- org.ops4j.pax.url.commons [49]
+|  +- org.ops4j.base.util.property [14]
+|  +- org.ops4j.pax.logging.pax-logging-api [23]
+|  +- org.ops4j.pax.swissbox.property [31]
+|  |  +- org.ops4j.base.util.property [14]
+|  |  +- org.ops4j.base.lang [41]
+|  +- org.apache.felix.configadmin [43]
+|  |  +- org.ops4j.pax.logging.pax-logging-api [23]
+|  +- org.ops4j.base.lang [41]
++- org.ops4j.pax.logging.pax-logging-api [23]
++- org.ops4j.pax.swissbox.bnd [25]
+|  +- biz.aQute.bndlib [30]
+|  |  +- org.apache.servicemix.bundles.junit [36]
+|  +- org.ops4j.pax.logging.pax-logging-api [23]
+|  +- org.ops4j.base.lang [41]
++- org.apache.felix.configadmin [43]
++- org.ops4j.base.net [29]
+|  +- org.ops4j.base.monitors [37]
+|  +- org.ops4j.base.lang [41]
++- org.ops4j.base.lang [41]
+</pre><h2 id="Watch">Watch</h2><p>The <tt>bundle:watch</tt> command enables watching the local Maven repository for updates on bundles.<br/>If the bundle file changes on the Maven repository, Apache Karaf will automatically update the bundle.</p><p>The <tt>bundle:watch</tt> allows you to configure a set of URLs to monitore. All bundles bundles whose location matches the<br/>given URL will be automatically updated. It avoids needing to manually update the bundles or even copy the bundle to the<br/>system folder.</p><div class="warning" style="border: 1px solid #c00;background-color: #fcc;margin: 20px;padding: 0px 6px 0px 6px;"><p>Only Maven based URLs and Maven SNAPSHOTs will actually be updated automatically.</p></div><p>The following command:</p><pre>
+karaf@root> dev:watch *
+</pre><p>will monitor all bundles that have a location matching mvn:* and '-SNAPSHOT' in their URL.</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/developers-guide/extending.html
URL: http://svn.apache.org/viewvc/servicemix/site/production/docs/7.x/developers-guide/extending.html?rev=1730121&view=auto
==============================================================================
--- servicemix/site/production/docs/7.x/developers-guide/extending.html (added)
+++ servicemix/site/production/docs/7.x/developers-guide/extending.html Fri Feb 12 21:55:15 2016
@@ -0,0 +1,305 @@
+
+<!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-developers-guide">
+    <a href="#">Developer's Guide</a>
+    <ul>
+      <li id="extending-console">
+        <a href="extending-console.html">Extending Console</a>
+      </li>
+      <li id="writing-tests">
+        <a href="writing-tests.html">Tests with Pax Exam</a>
+      </li>
+      <li id="debugging">
+        <a href="debugging.html">Debug Karaf</a>
+      </li>
+      <li id="creating-bundles">
+        <a href="creating-bundles.html">Creating bundles</a>
+      </li>
+      <li id="connect-console">
+        <a href="connect-console.html">Connect to the console</a>
+      </li>
+      <li id="shell-syntax">
+        <a href="shell-syntax.html">Console shell syntax</a>
+      </li>
+    </ul>
+  </li>
+</ul>
+        </div>
+        <div id="body">
+                              <h1 id="Extending">Extending</h1><p>Apache Karaf is a very flexible container that you can extend very easily.</p><h2 id="Console">Console</h2><p>In this section, you will see how to extend the console by adding your own command.</p><p>We will leverage Apache Maven to create and build the OSGi bundle.<br/>This OSGi bundle will use Blueprint. We don't cover the details of OSGi bundle and Blueprint, see the specific<br/>sections for details.</p><h3 id="CreatetheMavenproject">Create the Maven project</h3><p>To create the Maven project, we can:</p><ul><li><p>use a Maven archetype</p></li><li><p>create by hand</p></li></ul><h4 id="Usingarchetype">Using archetype</h4><p>The Maven Quickstart archetype can create an empty Maven project where you can put your project definition.</p><p>You can directly use:</p><pre>
+mvn archetype:create \
+  -DarchetypeArtifactId=maven-archetype-quickstart \
+  -DgroupId=org.apache.karaf.shell.samples \
+  -DartifactId=shell-sample-commands \
+  -Dversion=1.0-SNAPSHOT
+</pre><p>It results to a ready to use project, including a <tt>pom.xml</tt>.</p><p>You can also use Maven archetype in interactive mode. You will have to answer to some questions used to generate<br/>the project with the <tt>pom.xml</tt>:</p><pre>
+mvn archetype:generate
+Choose a number:  (1/2/3/4/5/6/7/.../32/33/34/35/36) 15: : 15
+Define value for groupId: : org.apache.karaf.shell.samples
+Define value for artifactId: : shell-sample-commands
+Define value for version:  1.0-SNAPSHOT: : 
+Define value for package: : org.apache.karaf.shell.samples
+</pre><h3 id="Byhand">By hand</h3><p>Alternatively, you can simply create the directory <tt>shell-sample-commands</tt> and create the <tt>pom.xml</tt> file inside it:</p><pre>
+&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>org.apache.karaf.shell.samples&lt;/groupId>
+  &lt;artifactId>shell-sample-commands&lt;artifactId>
+  &lt;packaging>bundle&lt;/packaging>
+  &lt;version>1.0-SNAPSHOT&lt;/version>
+  &lt;name>shell-sample-commmands&lt;/name>
+
+
+  &lt;dependencies>
+    &lt;dependency>
+      &lt;groupId>org.apache.karaf.shell&lt;/groupId>
+      &lt;artifactId>org.apache.karaf.shell.console&lt;/artifactId>
+      &lt;version>4.0.0&lt;/version>
+    &lt;/dependency>
+    &lt;dependency>
+      &lt;groupId>junit&lt;/groupId>
+      &lt;artifactId>junit&lt;/artifactId>
+      &lt;version>3.8.1&lt;/version>
+      &lt;scope>test&lt;/scope>
+    &lt;/dependency>
+  &lt;/dependencies>
+
+  &lt;build>
+    &lt;plugins>
+      &lt;plugin>
+        &lt;groupId>org.apache.felix&lt;/groupId>
+        &lt;artifactId>maven-bundle-plugin&lt;/artifactId>
+        &lt;version>2.5.4&lt;/version>
+        &lt;configuration>
+          &lt;instructions>
+            &lt;Import-Package>
+              org.apache.felix.service.command,
+              org.apache.karaf.shell.commands,
+              org.apache.karaf.shell.console,
+              *
+            &lt;/Import-Package>
+          &lt;/instructions>
+        &lt;/configuration>
+      &lt;/plugin>
+    &lt;/plugins>
+  &lt;/build>
+
+&lt;/project>
+</pre><h3 id="ConfiguringforJava67">Configuring for Java 6/7</h3><p>We are using annotations to define commands, so we need to ensure Maven will actually use JDK 1.6 or 1.7 to compile the jar.<br/>Just add the following snippet after the <tt>dependencies</tt> section.</p><pre>
+&lt;build>
+  &lt;plugins>
+    &lt;plugin>
+      &lt;groupId>org.apache.maven.plugins&lt;/groupId>
+      &lt;artifactId>maven-compiler-plugin&lt;/artifactId>
+      &lt;configuration>
+        &lt;target>1.6&lt;/target>
+        &lt;source>1.6&lt;/source>
+      &lt;/configuration>
+    &lt;/plugin>
+  &lt;/plugins>
+&lt;/build>
+</pre><h3 id="LoadingtheprojectinyourIDE">Loading the project in your IDE</h3><p>We can use Maven to generate the needed files for your IDE:</p><p>Inside the project, run the following command</p><pre>
+mvn eclipse:eclipse
+</pre><p>or</p><pre>
+mvn idea:idea
+</pre><p>The project files for your IDE should now be created.  Just open the IDE and load the project.</p><h3 id="Creatingabasiccommandclass">Creating a basic command class</h3><p>We can now create the command class <tt>HelloShellCommand.java</tt></p><pre>
+package org.apache.karaf.shell.samples;
+
+import org.apache.karaf.shell.api.action.Action;
+import org.apache.karaf.shell.api.action.Command;
+import org.apache.karaf.shell.api.action.lifecycle.Service;
+
+@Command(scope = "test", name = "hello", description="Says hello")
+@Service
+public class HelloShellCommand implements Action {
+
+    @Override
+    public Object execute() throws Exception {
+        System.out.println("Executing Hello command");
+        return null;
+    }
+}
+</pre><h3 id="Manifest">Manifest</h3><p>In order for Karaf to find your command, you need to add the <tt>Karaf-Commands=*</tt> manifest header.</p><p>This is usually done by modifying the maven bundle plugin configuration</p><pre>
+&lt;plugin>
+    &lt;groupId>org.apache.felix&lt;/groupId>
+    &lt;artifactId>maven-bundle-plugin&lt;/artifactId>
+    &lt;configuration>
+        &lt;instructions>
+            &lt;Karaf-Commands>*&lt;/Karaf-Commands>
+        &lt;/instructions>
+    &lt;/configuration>
+&lt;/plugin>
+</pre><h3 id="Compile">Compile</h3><p>Let's try to build the jar.  Remove the test classes and sample classes if you used the artifact, then from the command line, run:</p><pre>
+mvn install
+</pre><p>The end of the maven output should look like:</p><pre>
+[INFO] ------------------------------------------------------------------------
+[INFO] BUILD SUCCESSFUL
+[INFO] ------------------------------------------------------------------------
+</pre><h3 id="Test">Test</h3><p>Launch Apache Karaf and install your bundle:</p><pre>
+karaf@root()> bundle:install -s mvn:org.apache.karaf.shell.samples/shell-sample-commands/1.0-SNAPSHOT
+</pre><p>Let's try running the command:</p><pre>
+karaf@root()> test:hello
+Executing Hello command
+</pre><h3 id="Commandcompleter">Command completer</h3><p>A completer allows you to automatically complete a command argument using &lt;tab>. A completer is simply a bean which is<br/>injected to a command.</p><p>Of course to be able to complete it, the command should require an argument.</p><h3 id="Commandargument">Command argument</h3><p>We add an argument to the HelloCommand:</p><pre>
+package org.apache.karaf.shell.samples;
+
+import org.apache.karaf.shell.api.action.Action;
+import org.apache.karaf.shell.api.action.Argument;
+import org.apache.karaf.shell.api.action.Command;
+import org.apache.karaf.shell.api.action.Completion;
+import org.apache.karaf.shell.api.action.lifecycle.Service;
+
+@Command(scope = "test", name = "hello", description="Says hello")
+@Service
+public class HelloShellCommand implements Action {
+
+    @Argument(index = 0, name = "name", description = "The name that sends the greet.", required = true, multiValued = false)
+    @Completion(SimpleNameCompleter.class)
+    String name = null;
+
+    @Override
+    public Object execute() throws Exception {
+        System.out.println("Hello " + name);
+        return null;
+    }
+}
+</pre><h3 id="Completerbean">Completer bean</h3><p>A completer is a bean which implements the Completer interface:</p><pre>
+package org.apache.karaf.shell.samples;
+
+import org.apache.karaf.shell.api.action.lifecycle.Service;
+import org.apache.karaf.shell.api.console.CommandLine;
+import org.apache.karaf.shell.api.console.Completer;
+import org.apache.karaf.shell.api.console.Session;
+import org.apache.karaf.shell.support.completers.StringsCompleter;
+
+/**
+ * &lt;p>
+ * A very simple completer.
+ * &lt;/p>
+ */
+@Service
+public class SimpleNameCompleter implements Completer {
+
+    public int complete(Session session, CommandLine commandLine, List&lt;String> candidates) {
+        StringsCompleter delegate = new StringsCompleter();
+        delegate.getStrings().add("Mike");
+        delegate.getStrings().add("Eric");
+        delegate.getStrings().add("Jenny");
+        return delegate.complete(buffer, cursor, candidates);
+    }
+
+}
+</pre><h3 id="Completersforoptionvalues">Completers for option values</h3><p>Quite often your commands will not have just arguments, but also options. You can provide completers for option values.<br/>The snippet below shows the HelloShellCommand with an option to specify what the greet message will be.</p><pre>
+package org.apache.karaf.shell.samples;
+
+import org.apache.karaf.shell.api.action.Action;
+import org.apache.karaf.shell.api.action.Argument;
+import org.apache.karaf.shell.api.action.Command;
+import org.apache.karaf.shell.api.action.Completion;
+import org.apache.karaf.shell.api.action.Option;
+import org.apache.karaf.shell.api.action.lifecycle.Service;
+
+@Command(scope = "test", name = "hello", description="Says hello")
+@Service
+public class HelloShellCommand implements Action {
+
+    @Argument(index = 0, name = "name", description = "The name that sends the greet.", required = true, multiValued = false)
+    @Completion(SimpleNameCompleter.class)
+    String name = null;
+
+    @Option(name = "-g", aliases = "--greet", description = "The configuration pid", required = false, multiValued = false)
+    @Completion(GreetCompleter.class)
+    String greet = "Hello;
+
+    @Override
+    public Object execute() throws Exception {
+        System.out.println(greet + " " + name);
+        return null;
+    }
+}
+</pre><h3 id="Completerswithstate">Completers with state</h3><p>Some times we want to tune the behavior of the completer depending on the commands already executed, in the current shell<br/>or even the rest of the arguments that have been already passed to the command. Such example is the config:set-property<br/>command which will provide auto completion for only for the properties of the pid specified by a previously issued config:edit<br/>command or by the option --pid.</p><p>The Session object provides map like methods for storing key/value pairs and can be used to put/get the state.<br/>The pre-parsed CommandLine objects allows you to check the previous arguments and options on the command line and to fine tune<br/>the behavior of the Completer.<br/>Those two objects are given to the Completer when calling the <tt>complete</tt> method.</p><h3 id="Test2">Test</h3><p>Launch a Karaf instance and run the following command to install the newly created bundle:</p><pre>
+karaf@root()> bundle:install -s mvn:org.apache.karaf.shell.samples/shell-sample-commands/1.0-SNAPSHOT
+</pre><p>Let's try running the command:</p><pre>
+karaf@root> test:hello &lt;tab>
+ one    two    three
+</pre><h2 id="WebConsole">WebConsole</h2><p>You can also extend the Apache Karaf WebConsole by providing and installing a webconsole plugin.</p><p>A plugin is an OSGi bundle that register a Servlet as an OSGi service with some webconsole properties.</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/developers-guide/github-contributions.html
URL: http://svn.apache.org/viewvc/servicemix/site/production/docs/7.x/developers-guide/github-contributions.html?rev=1730121&view=auto
==============================================================================
--- servicemix/site/production/docs/7.x/developers-guide/github-contributions.html (added)
+++ servicemix/site/production/docs/7.x/developers-guide/github-contributions.html Fri Feb 12 21:55:15 2016
@@ -0,0 +1,142 @@
+
+<!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-developers-guide">
+    <a href="#">Developer's Guide</a>
+    <ul>
+      <li id="extending-console">
+        <a href="extending-console.html">Extending Console</a>
+      </li>
+      <li id="writing-tests">
+        <a href="writing-tests.html">Tests with Pax Exam</a>
+      </li>
+      <li id="debugging">
+        <a href="debugging.html">Debug Karaf</a>
+      </li>
+      <li id="creating-bundles">
+        <a href="creating-bundles.html">Creating bundles</a>
+      </li>
+      <li id="connect-console">
+        <a href="connect-console.html">Connect to the console</a>
+      </li>
+      <li id="shell-syntax">
+        <a href="shell-syntax.html">Console shell syntax</a>
+      </li>
+    </ul>
+  </li>
+</ul>
+        </div>
+        <div id="body">
+                              <h1 id="GithubContributions">Github Contributions</h1><p>Some people prefer to make contributions to karaf source via github. If you are one of them, this is for you!</p><h2 id="Introduction">Introduction</h2><p>Apache Karaf is available as a periodically replicated mirror on: <a href="https://github.com/apache/karaf">https://github.com/apache/karaf</a> </p><h2 id="SuggestedWorkflow">Suggested Workflow</h2><ol><li><p>make a fork of karaf repo github mirror</p></li><li><p>do all your new work on your own karaf fork</p></li><li><p>when ready, file a jira issue <a href="https://issues.apache.org/jira/browse/KARAF">https://issues.apache.org/jira/browse/KARAF</a>, attach the link to your github pull request, and ask for a review</p></li><li><p>one of karaf committers will discuss your pull request on github; and at some point your pull request will be accepted </p></li><li><p>when your pull request is accepted, squash it into a single commit and attach singl
 e patch file to the original jira, with ASF grant check box selected  </p></li><li><p>now pray to your favorite ASF committer to really accept the patch :-)</p></li><li><p>when your patch is committed to the svn, and you can verify it in the latest karaf snapshot, close your pull request on github </p></li></ol><h2 id="LicenseReminder">License Reminder</h2><p>in order for your contributions to be accepted:</p><ul><li><p>all files must contain ASL license grant header</p></li></ul><ul><li><p>you must select ASF grant check box when attaching patch to the jira</p></li></ul><h2 id="HowtoGenerateaOneFilePatchViaThrowAwayBranch">How to Generate a One-File-Patch Via Throw-Away Branch</h2><p>here is one way to generate squash of your commits:</p><p><a href="http://stackoverflow.com/questions/616556/how-do-you-squash-commits-into-one-patch-with-git-format-patch">http://stackoverflow.com/questions/616556/how-do-you-squash-commits-into-one-patch-with-git-format-patch</a></p><pre>
+
+#
+# 'archon' referers to karaf mirror
+# 'origin' referers to your own fork
+#
+
+# attach karaf mirror as remote, if not done yet
+git remote add archon https://github.com/apache/karaf
+
+# fetch latest karaf mirror
+git fetch archon 
+
+# ensure you are on your fork trunk
+git checkout origin/trunk
+
+# kill previous patch delivery, if you had one
+git branch -D delivery
+
+# make new delivery throw-away branch, based on latest karaf mirror
+git branch delivery archon/trunk
+
+# use it
+git checkout delivery
+
+# squash all your local development into a single commit
+git merge --squash trunk
+
+# commit it to the delivery branch
+git commit -m "delivery"
+
+# generate a patch file against the mirror
+git format-patch archon/trunk
+
+</pre><p>root of your karaf source now contains a file named "0001-delivery.patch.txt" (please attach the .txt ending;this will allow commiters to open your patch directly in the browser and give it a short look there) which you should attach to your karaf jira, and ask to commit to the svn trunk</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/developers-guide/karaf-maven-plugin.html
URL: http://svn.apache.org/viewvc/servicemix/site/production/docs/7.x/developers-guide/karaf-maven-plugin.html?rev=1730121&view=auto
==============================================================================
--- servicemix/site/production/docs/7.x/developers-guide/karaf-maven-plugin.html (added)
+++ servicemix/site/production/docs/7.x/developers-guide/karaf-maven-plugin.html Fri Feb 12 21:55:15 2016
@@ -0,0 +1,129 @@
+
+<!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-developers-guide">
+    <a href="#">Developer's Guide</a>
+    <ul>
+      <li id="extending-console">
+        <a href="extending-console.html">Extending Console</a>
+      </li>
+      <li id="writing-tests">
+        <a href="writing-tests.html">Tests with Pax Exam</a>
+      </li>
+      <li id="debugging">
+        <a href="debugging.html">Debug Karaf</a>
+      </li>
+      <li id="creating-bundles">
+        <a href="creating-bundles.html">Creating bundles</a>
+      </li>
+      <li id="connect-console">
+        <a href="connect-console.html">Connect to the console</a>
+      </li>
+      <li id="shell-syntax">
+        <a href="shell-syntax.html">Console shell syntax</a>
+      </li>
+    </ul>
+  </li>
+</ul>
+        </div>
+        <div id="body">
+                              <h1 id="Usingthekarafmavenplugin">Using the karaf-maven-plugin</h1><p>The Karaf Maven plugin allows you:</p><p>    * to work with Karaf features: validate a features descriptor, add features bundle into a repository, create a KAR archive from a features descriptor, etc.<br/>    * to create Karaf commands help: it generates help from Karaf commands<br/>    * to modify Karaf instances and create distributions</p><h2 id="Packagings">Packagings</h2><p>The most generally useful features of the karaf-maven-plugin are exposed as packagings.  To use the packagings the pom or an ancestor must configure the karaf-maven-plugin with extensions:</p><pre>
+    &lt;build>
+        &lt;pluginManagement>
+            &lt;plugins>
+                &lt;plugin>
+                    &lt;groupId>org.apache.karaf.tooling&lt;/groupId>
+                    &lt;artifactId>karaf-maven-plugin&lt;/artifactId>
+                    &lt;version>4.0.0&lt;/version>
+                    &lt;extensions>true&lt;/extensions>
+                &lt;/plugin>
+            &lt;/plugins>
+        &lt;/pluginManagement>
+        &lt;plugins>
+            &lt;plugin>
+                &lt;groupId>org.apache.karaf.tooling&lt;/groupId>
+                &lt;artifactId>karaf-maven-plugin&lt;/artifactId>
+            &lt;/plugin>
+        &lt;/plugins>
+    &lt;/build>
+</pre><p>Then specify the packaging in your project as usual, e.g.</p><pre>
+    &lt;packaging>kar&lt;/packaging>
+</pre><div class="table-wrap"><table class="confluenceTable"><tr><th class="confluenceTh"> Packaging </th><th class="confluenceTh"> Description </th></tr><tr><td class="confluenceTd"> feature </td><td class="confluenceTd"> The feature packaging generates a features.xml descriptor using the <tt><a href="karaf-maven-plugin-features-generate-descriptor.html">karaf:features-generate-descriptor</a></tt> </td></tr><tr><td class="confluenceTd"> kar </td><td class="confluenceTd"> The kar packaging generates a features.xml descriptor using the <tt><a href="karaf-maven-plugin-features-generate-descriptor.html">karaf:features-generate-descriptor</a></tt> and then packages a kar using the <tt><a href="karaf-maven-plugin-features-create-kar.html">karaf:features-create-kar</a></tt> </td></tr><tr><td class="confluenceTd"> <tt><a href="custom-distribution.html">karaf-assembly</a></tt> </td><td class="confluenceTd"> Assembles a Karaf server based on the features descriptors and kar files listed as M
 aven dependencies. </td></tr></table></div><h2 id="Commandsgoals">Commands goals</h2><p>The <tt>karaf-maven-plugin</tt> is able to generate documentation for Karaf commands:</p><div class="table-wrap"><table class="confluenceTable"><tr><th class="confluenceTh"> Goal </th><th class="confluenceTh"> Description </th></tr><tr><td class="confluenceTd"> <tt><a href="karaf-maven-plugin-commands-generate-help.html">karaf:commands-generate-help</a></tt> </td><td class="confluenceTd"> Generates help for Karaf commands. </td></tr></table></div><h2 id="Featuresgoals">Features goals</h2><p>Normally you should use the features or kar packagings instead of these individual goals.<br/>The <tt>karaf-maven-plugin</tt> provides several goals to help you create and validate features XML descriptors as well as leverage your features to create a custom Karaf distribution.</p><div class="table-wrap"><table class="confluenceTable"><tr><th class="confluenceTh"> Goal </th><th class="confluenceTh"> Descriptio
 n </th></tr><tr><td class="confluenceTd"> <tt><a href="karaf-maven-plugin-features-generate-descriptor.html">karaf:features-generate-descriptor</a></tt> </td><td class="confluenceTd"> Generates a features XML descriptor for a set of bundles.  Used in feature and kar packagings. </td></tr><tr><td class="confluenceTd"> <tt><a href="karaf-maven-plugin-features-validate-descriptor.html">karaf:features-validate-descriptor</a></tt> </td><td class="confluenceTd"> Validate a features XML descriptor by checking if all the required imports can be matched to exports </td></tr><tr><td class="confluenceTd"> <tt><a href="karaf-maven-plugin-features-create-kar.html">karaf:kar</a></tt> </td><td class="confluenceTd"> Assemble a KAR archive from a features XML descriptor. Used in kar packaging.</td></tr></table></div><h2 id="Instancesanddistributionsgoals">Instances and distributions goals</h2><p>Normally you should use the karaf-assembly packaging instead of this individual goal.<br/>The <tt>karaf-m
 aven-plugin</tt> helps you to build custom Karaf distributions or archives existing Karaf instances:</p><div class="table-wrap"><table class="confluenceTable"><tr><th class="confluenceTh"> Goal </th><th class="confluenceTh"> Description </th></tr><tr><td class="confluenceTd"> <tt>karaf:assembly</tt> </td><td class="confluenceTd"> Assemble a server from Maven feature-repo and kar dependencies. Used in karaf-assembly packaging.  See <tt><a href="custom-distribution.html">karaf-assembly</a></tt>. </td></tr><tr><td class="confluenceTd"> <tt><a href="karaf-maven-plugin-instance-create-archive.html">karaf:archive</a></tt> </td><td class="confluenceTd"> Package a server archive from an assembled server. . Used in karaf-assembly packaging.  See also <tt><a href="custom-distribution.html">karaf-assembly</a></tt>.</td></tr><tr><td class="confluenceTd"> <tt><a href="karaf-maven-plugin-features-add-to-repository.html">karaf:features-add-to-repository</a></tt> </td><td class="confluenceTd"> (old
  style manual assemblies) Copies all the bundles required for a given set of features into a directory <br/> (e.g. for creating your own Karaf-based distribution) </td></tr></table></div>
+        </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/developers-guide/services.html
URL: http://svn.apache.org/viewvc/servicemix/site/production/docs/7.x/developers-guide/services.html?rev=1730121&view=auto
==============================================================================
--- servicemix/site/production/docs/7.x/developers-guide/services.html (added)
+++ servicemix/site/production/docs/7.x/developers-guide/services.html Fri Feb 12 21:55:15 2016
@@ -0,0 +1,108 @@
+
+<!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-developers-guide">
+    <a href="#">Developer's Guide</a>
+    <ul>
+      <li id="extending-console">
+        <a href="extending-console.html">Extending Console</a>
+      </li>
+      <li id="writing-tests">
+        <a href="writing-tests.html">Tests with Pax Exam</a>
+      </li>
+      <li id="debugging">
+        <a href="debugging.html">Debug Karaf</a>
+      </li>
+      <li id="creating-bundles">
+        <a href="creating-bundles.html">Creating bundles</a>
+      </li>
+      <li id="connect-console">
+        <a href="connect-console.html">Connect to the console</a>
+      </li>
+      <li id="shell-syntax">
+        <a href="shell-syntax.html">Console shell syntax</a>
+      </li>
+    </ul>
+  </li>
+</ul>
+        </div>
+        <div id="body">
+                              <h1 id="OSGiservices">OSGi services</h1>
+        </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/index.html
URL: http://svn.apache.org/viewvc/servicemix/site/production/docs/7.x/index.html?rev=1730121&view=auto
==============================================================================
--- servicemix/site/production/docs/7.x/index.html (added)
+++ servicemix/site/production/docs/7.x/index.html Fri Feb 12 21:55:15 2016
@@ -0,0 +1,182 @@
+
+<!DOCTYPE html>
+<html>
+<head>
+  <title>Apache ServiceMix Documentation - Home</title>
+
+  <link href="theme/master.css" rel="stylesheet" type="text/css" />
+  <link href="theme/pygmentize.css" rel="stylesheet" type="text/css" />
+      <link href="theme/picker.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="bookpicker">
+
+<div class="left">
+  <a href="quickstart/index.html">
+    <h2>Quickstart Guide</h2>
+  </a>
+</div>
+
+<div class="right">
+  <p>If you're new to Apache ServiceMix, this document will guide you in your first steps in Apache ServiceMix.</p>
+      <div class="pdf">
+      <a href="quickstart/quickstart.pdf" class="pdf">PDF document</a>
+    </div>
+  </div>
+
+<div class="left">
+  <a href="user/index.html">
+    <h2>User Guide</h2>
+  </a>
+</div>
+
+<div class="right">
+  <p>Apache ServiceMix contains a lot of different components and it embeds a lot of other Apache projects.  This user guide will help you select and configure the right components when building your own solution.</p>
+</div>
+
+
+<div class="left">
+  <a href="activemq/index.html">
+    <h2>ActiveMQ Guide</h2>
+  </a>
+</div>
+
+<div class="right">
+  <p>Apache ServiceMix embeds Apache ActiveMQ to provide a JMS message broker that you can interact with from your Camel routes, providing support for message persistence, clustering, failover, ...</p>
+</div>
+
+<div class="left">
+  <a href="camel/index.html">
+    <h2>Camel Guide</h2>
+  </a>
+</div>
+
+<div class="right">
+  <p>Apache Camel is a core component of Apache ServiceMix.  This guide will show you how to build and deploy Camel routes for Apache ServiceMix.</p>
+      <div class="pdf">
+      <a href="camel/camel-guide.pdf" class="pdf">PDF document</a>
+    </div>
+  </div>
+
+<div class="left">
+  <a href="activiti/index.html">
+    <h2>Activiti Guide</h2>
+  </a>
+</div>
+
+<div class="right">
+  <p>Apache ServiceMix embeds Activiti to provide a light-weight workflow and Business Process Management (BPM) Platform targeted at business people, developers and system admins, ...</p>
+</div>
+
+<div class="left">
+  <a href="commands/index.html">
+    <h2>Command Reference</h2>
+  </a>
+</div>
+
+<div class="right">
+  <p>Help pages for all the available commands in the Apache ServiceMix console.</p>
+</div>
+
+<div class="left">
+  <a href="users-guide/index.html">
+    <h2>Karaf User guide</h2>
+  </a>
+</div>
+
+<div class="right">
+  <p>Apache ServiceMix uses Apache Karaf as the underlying OSGi server runtime. This manual explains about the features and functionality provided by Karaf.</p>
+</div>
+
+<div class="left">
+  <a href="developers-guide/index.html">
+    <h2>Karaf Developer guide</h2>
+  </a>
+</div>
+
+<div class="right">
+  <p>The Apache Karaf Developer Guide gives you some information about developing with and for the OSGi server runtime.</p>
+</div>
+
+
+<div class="left">
+  <a href="commercial.html">
+    <h2>Commercial Guides</h2>
+  </a>
+</div>
+
+<div class="right">
+  <p>Documentation from commercial providers and books you can buy.</p>
+</div>
+</div>
+
+<div class="clearing"></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



Mime
View raw message