Return-Path:
master.xml
. $FORREST_HOME
should
point to the top of this whiteboard experiment,
- .../whiteboard/forrest-osgi
. The default Ant
+ /path/to/forrest/whiteboard/forrest-osgi
. The default Ant
target in build.xml
will build the launcher as
well as all plugin bundles. The Ant script assumes you have
changed the environment variable $FORREST_HOME
as
@@ -71,6 +71,9 @@
Apache Felix implementation of the OSGi HTTP Service,
which uses Jetty behind the scenes.
+ See the page on launching for more. +
There is still the concept of core functionality supplemented
- with a set of plugins. The modularity provided, and enforced,
- by OSGi bundles has the characteristics necessary to form the
+ by a set of plugins. The modularity provided, and enforced, by
+ OSGi bundles has the characteristics necessary to form the
basis of a plugin architecture. The communication link
provided by the Apache Cocoon sitemap is handled by OSGi
services.
Added: forrest/trunk/whiteboard/forrest-osgi/docs/src/documentation/content/xdocs/launch.xml
URL: http://svn.apache.org/viewvc/forrest/trunk/whiteboard/forrest-osgi/docs/src/documentation/content/xdocs/launch.xml?rev=1097672&view=auto
==============================================================================
--- forrest/trunk/whiteboard/forrest-osgi/docs/src/documentation/content/xdocs/launch.xml (added)
+++ forrest/trunk/whiteboard/forrest-osgi/docs/src/documentation/content/xdocs/launch.xml Fri Apr 29 03:04:32 2011
@@ -0,0 +1,98 @@
+
+
+
+
+ Launching forrest-osgi is very similar to launching the
+ released version, except that static site generation is not
+ yet implemented. Because of the presence of bundle
+
+ Files involved:
+ There is a custom launcher started in main/src/java/org/apache/forrest/Forrest.java. Custom
+ launcher meaning a way to start an OSGi framework
+ instance. Once a framework implementation is found and
+ started, the launcher enumerates the contents of
+
+ To accomplish the steps above, it is not necessary to have a
+ custom launcher. There are standard ways to launch the
+ framework which would result in the above. The idea behind a
+ custom launcher is to provide hooks into the launch
+ sequence. For example, the launcher can read
+
+ When the launcher is finished starting bundles, the OSGi
+ framework is in control.
+ Now, the framework and bundles continue to run without
+ intervention. It is possible to dynamically install, remove or
+ update bundles, all without restarting the framework. It is
+ also possible to run multiple versions of a bundle
+ simultaneously. This is the beauty of OSGi. The current
+ implementation of forrest-osgi does not check for
+ bundles installed, removed or changed on the fly, but the
+ infrastructure to handle it is already present in the
+ framework. It is just a matter of taking the time to implement
+ it.
+ org.apache.forrest.servlet
, and the absence of
+ any static implementation, the default site
+ target actually launches dynamic mode, analogous to
+ forrest run
in the released version.
+ forrest.build.xml
,
+ bin/forrest
+ bundle
directory and installs all the bundles it
+ finds. It then starts all non-fragment bundles. Instead of
+ explicitly starting a fragment, which would throw an
+ exception, the fragment is bound to its host bundle by the
+ framework.
+ forrest.properties
and load only the bundles
+ required by the calling project, rather than all bundles. The
+ launcher could also configure itself based on static or
+ dynamic mode.
+ BundleActivator
classes
+ are executed for bundles that declare one. These are generally
+ used to publish a service or bind to a published service. The
+ bundle org.apache.forrest.log
discovers any
+ registered implementations of the service LogService and
+ adds a listener
+ implementation to provide access to Log4j, by way of
+ SLF4J. The bundle org.apache.forrest.servlet
+ discovers HttpService and
+ registers a servlet to enable dynamic mode operation.
+