You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by da...@apache.org on 2015/03/30 18:59:44 UTC

svn commit: r1670145 - /aries/site/trunk/content/modules/subsystems.mdtext

Author: davidb
Date: Mon Mar 30 16:59:44 2015
New Revision: 1670145

URL: http://svn.apache.org/r1670145
Log:
More subsystem documentation.

Modified:
    aries/site/trunk/content/modules/subsystems.mdtext

Modified: aries/site/trunk/content/modules/subsystems.mdtext
URL: http://svn.apache.org/viewvc/aries/site/trunk/content/modules/subsystems.mdtext?rev=1670145&r1=1670144&r2=1670145&view=diff
==============================================================================
--- aries/site/trunk/content/modules/subsystems.mdtext (original)
+++ aries/site/trunk/content/modules/subsystems.mdtext Mon Mar 30 16:59:44 2015
@@ -18,7 +18,8 @@ dependencies are the Aries Util bundle,
 The following are downloadable links (from Maven central) that 
 provide all the required components to get subsystems up and running with Apache
 Felix. Note that the Felix distribution comes with and OSGi Repository implementation
-so this does not need to be added.
+so this does not need to be added. (When running Aries Subsystems with another OSGi Framework an OSGi Repository
+may need to be added.)
 
 * [org.apache.aries.subsystem.api][2]
 * [org.apache.aries.subsystem.core][3]
@@ -52,7 +53,7 @@ After installing and starting all these
        14|Active     |    1|org.osgi.service.subsystem.region.context.0 (1.0.0)
 
 The slf4j-simple bundle is a fragment, so it can not be started.
-You can see that the Subsystems implementation operational as it created a synthesized
+You can see that the Subsystems implementation is operational as it created a synthesized
 bundle (14) to represent the root context. The subsystems implementation sometimes
 synthesizes a bundle to represent a subsystem. Whether or not this happens depends on 
 the isolation model of a subsystem.
@@ -76,13 +77,73 @@ Each installed subsystem is represented
 
 ##Tools
 
-* Aries Gogo Command
-* esa-ant-task
-* eas-maven-plugin
-TODO elaborate
+The Apache Aries community provides a number of tools that facilitate working with OSGi Subsystems:
+
+* Subsystem Gogo Command - a Gogo command to work with subsystems, for more info see below.
+* [esa-ant-task][11] - an Ant task to create .esa archives.
+* [eas-maven-plugin][12] - a Maven plugin to create .esa archives.
+
+### Subsystem Gogo Command
+
+[https://svn.apache.org/repos/asf/aries/trunk/subsystem/subsystem-gogo-command][13] contains a simple bundle with a Gogo command
+to control subsystems.
+
+After installing the gogo command bundle you can execute subsystem commands, for example:
+
+    g! subsystem:list
+    0	ACTIVE	org.osgi.service.subsystem.root 1.0.0
+
+Use `subsystem:install` to install additional subsystems, for example one that is part of the `subsystem-itests` module:
+
+    g! subsystem:install file:/checkouts/aries/subsystem/subsystem-itests/target/feature1.esa
+    ...
+    Subsystem successfully installed: org.apache.aries.subsystem.feature1; id: 1
+
+This subsystem embeds another subsystem which automatically gets installed too. When you list all subsystems you can see both:
+
+    g! subsystem:list
+    0	ACTIVE	org.osgi.service.subsystem.root 1.0.0
+    1	INSTALLED	org.apache.aries.subsystem.feature1 1.0.0
+    2	INSTALLED	org.apache.aries.subsystem.feature2 1.0.0
+
+Together, these subsystems contain 3 bundles:
+
+    g! lb
+    START LEVEL 1
+       ID|State      |Level|Name
+        0|Active     |    0|System Bundle (4.6.1)
+       ...
+       16|Installed  |    1|TB3 (1.0.0)
+       17|Installed  |    1|TB1 (1.0.0)
+       18|Installed  |    1|TB2 (2.0.0)
+
+Use `subsystem:start` to start a subsystem. This will start all its bundles and all the bundles of dependent subsystems. So the 
+following single command, starts 3 bundles:
+
+    g! subsystem:start 1
+    g! lb
+    START LEVEL 1
+       ID|State      |Level|Name
+        0|Active     |    0|System Bundle (4.6.1)
+        ...
+       16|Active     |    1|TB3 (1.0.0)
+       17|Active     |    1|TB1 (1.0.0)
+       18|Active     |    1|TB2 (2.0.0)
+
+### Subsystem gogo commands
+The following commands are available from the subsystem-gogo-command bundle:
+
+* `subsystem:install <url>` - Install and resolve a subsystem.
+* `subsystem:list <subsystemId>` - List installed subsystems.
+* `subsystem:start <subsystemId>` - Start a subsystem and its dependencies.
+* `subsystem:stop <subsystemId>` - Stop a subsystem and its dependencies.
+* `subsystem:uninstall <subsystemId>` - Uninstall a subsystem and its dependencies. 
+
+Note that, following the OSGi Subsystem specification, dependent subsystems are only stopped and uninstalled when the last using subsystem
+is stopped/uninstalled.
 
 ##Development
-The Aries Subsystems code base can be found at the following location: [https://svn.apache.org/repos/asf/aries/trunk/subsystem][11]
+The Aries Subsystems code base can be found at the following location: [https://svn.apache.org/repos/asf/aries/trunk/subsystem][14]
 
 
   [1]: http://www.osgi.org/Specifications/HomePage "OSGi Enterprise specifications"
@@ -95,4 +156,9 @@ The Aries Subsystems code base can be fo
   [8]: http://repo1.maven.org/maven2/org/eclipse/equinox/org.eclipse.equinox.region/1.1.0.v20120522-1841/org.eclipse.equinox.region-1.1.0.v20120522-1841.jar
   [9]: http://repo1.maven.org/maven2/org/slf4j/slf4j-api/1.7.12/slf4j-api-1.7.12.jar
   [10]: http://repo1.maven.org/maven2/org/slf4j/slf4j-simple/1.7.12/slf4j-simple-1.7.12.jar
-  [11]: https://svn.apache.org/repos/asf/aries/trunk/subsystem
\ No newline at end of file
+  [11]: http://aries.apache.org/modules/esaanttask.html
+  [12]: http://aries.apache.org/modules/esamavenpluginproject.html
+  [13]: https://svn.apache.org/repos/asf/aries/trunk/subsystem/subsystem-gogo-command
+  [14]: https://svn.apache.org/repos/asf/aries/trunk/subsystem
+
+