You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@avalon.apache.org by mc...@apache.org on 2003/06/22 15:57:59 UTC
cvs commit: avalon-sandbox/merlin/merlin-platform/xdocs/starting/examples/james block.xml
mcconnell 2003/06/22 06:57:59
Modified: merlin/merlin-core/src/java/org/apache/avalon/merlin/block/impl
StandardBlockLoader.java XMLContainerCreator.java
merlin/merlin-platform/src/config kernel-service.xml
kernel.xml
merlin/merlin-platform/tutorials/composition/src/config
block.xml block2.xml
merlin/merlin-platform/tutorials/composition/src/config/application
block.xml
merlin/merlin-platform/tutorials/includes/src/config
block.xml include.xml
merlin/merlin-platform/xdocs/meta/model/block index.xml
merlin/merlin-platform/xdocs/meta/model/block/container
includes.xml index.xml navigation.xml
merlin/merlin-platform/xdocs/meta/model/block/container/components
navigation.xml
merlin/merlin-platform/xdocs/meta/model/block/container/components/categories
navigation.xml
merlin/merlin-platform/xdocs/meta/model/block/container/components/context
navigation.xml
merlin/merlin-platform/xdocs/meta/model/block/container/components/context/entry
navigation.xml
merlin/merlin-platform/xdocs/meta/model/block/container/components/parameters
navigation.xml
merlin/merlin-platform/xdocs/meta/model/block/container/engine
extensions.xml index.xml navigation.xml
merlin/merlin-platform/xdocs/meta/model/block/container/engine/classpath
navigation.xml
merlin/merlin-platform/xdocs/meta/model/block/container/engine/classpath/repository
navigation.xml
merlin/merlin-platform/xdocs/meta/model/block/container/include
index.xml navigation.xml source.xml
merlin/merlin-platform/xdocs/meta/model/block/container/include/targets
navigation.xml
merlin/merlin-platform/xdocs/starting/advanced composite.xml
includes.xml
merlin/merlin-platform/xdocs/starting/examples/james
block.xml
Log:
Migrate from <engine> to <classloader> (this commit is dedicated to Leo).
Revision Changes Path
1.16 +8 -2 avalon-sandbox/merlin/merlin-core/src/java/org/apache/avalon/merlin/block/impl/StandardBlockLoader.java
Index: StandardBlockLoader.java
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/merlin-core/src/java/org/apache/avalon/merlin/block/impl/StandardBlockLoader.java,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- StandardBlockLoader.java 21 Jun 2003 17:10:02 -0000 1.15
+++ StandardBlockLoader.java 22 Jun 2003 13:57:56 -0000 1.16
@@ -320,8 +320,14 @@
// the block in a seperate thread?)
//
+ Configuration classLoaderConfig = implementation.getChild( "classloader", false );
+ if( classLoaderConfig == null )
+ {
+ classLoaderConfig = implementation.getChild( "engine" );
+ }
+
EngineClassLoader engine =
- createEngine( implementation.getChild( "engine" ), path );
+ createEngine( classLoaderConfig, path );
Thread.currentThread().setContextClassLoader( engine );
//
1.6 +55 -3 avalon-sandbox/merlin/merlin-core/src/java/org/apache/avalon/merlin/block/impl/XMLContainerCreator.java
Index: XMLContainerCreator.java
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/merlin-core/src/java/org/apache/avalon/merlin/block/impl/XMLContainerCreator.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- XMLContainerCreator.java 18 Jun 2003 11:28:12 -0000 1.5
+++ XMLContainerCreator.java 22 Jun 2003 13:57:56 -0000 1.6
@@ -215,7 +215,7 @@
* or <container> directive.
*
* @param base the base url
- * @param parent the classloader
+ * @param engine the parent classloader
* @param config the implementation or container directive
* @param targets a set of relative supplimentary configuration targets
* @return the component profile set
@@ -555,6 +555,7 @@
DependencyDescriptor[] dependencies =
getBlockLogicalDependencies( config.getChild( "dependencies" ) );
+ verifyDependencyImport( parent, dependencies );
//
// create the logical services
@@ -562,6 +563,7 @@
VirtualService[] services =
getVirtualServices( config.getChild( "services" ) );
+ verifyServiceExport( parent, services );
//
// create the container descriptor
@@ -582,6 +584,47 @@
}
}
+ private void verifyDependencyImport( EngineClassLoader parent, DependencyDescriptor[] dependencies )
+ throws ContainerException
+ {
+ for( int i=0; i<dependencies.length; i++ )
+ {
+ DependencyDescriptor dependency = dependencies[i];
+ String classname = dependency.getReference().getClassname();
+ try
+ {
+ parent.loadClass( classname );
+ }
+ catch( Throwable e )
+ {
+ final String error =
+ "Illegal attempt to import a block that imports a service that is unknown with the scope of the containing block classloader. The depedent service: " + classname + " must be declared within the scope of the classloader of the enclosing block.";
+ throw new ContainerException( error, e );
+ }
+ }
+ }
+
+ private void verifyServiceExport( EngineClassLoader parent, VirtualService[] services )
+ throws ContainerException
+ {
+ for( int i=0; i<services.length; i++ )
+ {
+ ServiceDescriptor service = services[i].getService();
+ String classname = service.getReference().getClassname();
+ try
+ {
+ parent.loadClass( classname );
+ }
+ catch( Throwable e )
+ {
+ final String error =
+ "Illegal attempt to import a block that exports a service that is unknown with the scope of the containing block. The exported service: " + classname + " must be declared within the scope of the classloader of the enclosing block.";
+ throw new ContainerException( error, e );
+ }
+ }
+ }
+
+
/**
* Creation of a containment profile based on a supplied <container%gt; directive.
*
@@ -622,7 +665,16 @@
String name, VirtualService[] services, DependencyDescriptor[] dependencies )
throws Exception
{
- Configuration conf = config.getChild( "engine" );
+ //
+ // get the classloader directive (check for the old style
+ // "engine" for compatibility)
+ //
+
+ Configuration conf = config.getChild( "classloader", false );
+ if( conf == null )
+ {
+ conf = config.getChild( "engine" );
+ }
try
{
1.2 +7 -19 avalon-sandbox/merlin/merlin-platform/src/config/kernel-service.xml
Index: kernel-service.xml
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/src/config/kernel-service.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- kernel-service.xml 10 Jun 2003 02:47:15 -0000 1.1
+++ kernel-service.xml 22 Jun 2003 13:57:56 -0000 1.2
@@ -30,27 +30,15 @@
<!-- logging categories for the kernel -->
<categories>
- <category name="/sys" priority="INFO"/>
+ <category name="/sys" priority="WARN"/>
</categories>
- <!-- root engine -->
+ <!-- pool configuration -->
- <engine>
-
- <!-- The shared extension directory. -->
-
- <library scope="system" dir="." >
- <include name="ext"/>
- </library>
-
- <!-- Setup the thread, command and pool manager parameters. -->
-
- <pool>
- <threads-per-processor>2</threads-per-processor>
- <sleep>1000</sleep>
- <timeout>250</timeout>
- </pool>
-
- </engine>
+ <pool>
+ <threads-per-processor>2</threads-per-processor>
+ <sleep>1000</sleep>
+ <timeout>250</timeout>
+ </pool>
</kernel>
1.3 +12 -23 avalon-sandbox/merlin/merlin-platform/src/config/kernel.xml
Index: kernel.xml
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/src/config/kernel.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- kernel.xml 15 Jun 2003 18:16:01 -0000 1.2
+++ kernel.xml 22 Jun 2003 13:57:56 -0000 1.3
@@ -6,12 +6,12 @@
1. a system descriptor that declares the hostname of this machine
2. a logging descriptor for establishment of the logging subsystem
- 3. a logging catagories descriptor that establishes logging priority
+ 3. a catagories descriptor that establishes logging priority
for the kernel
- 4. an engine descriptor used to configure the pool
+ 4. the pool configuration
-Once a kernel is established the controlling application supplies one or block
-configurations to the kernel for deployment.
+Once a kernel is established the controlling application supplies a root
+block configurations to the kernel for deployment.
-->
<kernel>
@@ -21,6 +21,7 @@
<!-- logging system parameters -->
<logging target="default" priority="INFO">
+
<category name="/sys/logger" priority="WARN"/>
<!-- file target example -->
@@ -35,27 +36,15 @@
<!-- logging categories for the kernel -->
<categories>
- <category name="/sys" priority="INFO"/>
+ <category name="/sys" priority="WARN"/>
</categories>
- <!-- root engine -->
-
- <engine>
-
- <!-- The shared extension directory. -->
-
- <library scope="system" dir="." >
- <include name="ext"/>
- </library>
-
- <!-- Setup the thread, command and pool manager parameters. -->
-
- <pool>
- <threads-per-processor>2</threads-per-processor>
- <sleep>1000</sleep>
- <timeout>250</timeout>
- </pool>
+ <!-- pool configuration -->
- </engine>
+ <pool>
+ <threads-per-processor>2</threads-per-processor>
+ <sleep>1000</sleep>
+ <timeout>250</timeout>
+ </pool>
</kernel>
1.2 +2 -2 avalon-sandbox/merlin/merlin-platform/tutorials/composition/src/config/block.xml
Index: block.xml
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/tutorials/composition/src/config/block.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- block.xml 10 Jun 2003 02:12:19 -0000 1.1
+++ block.xml 22 Jun 2003 13:57:57 -0000 1.2
@@ -7,13 +7,13 @@
<implementation>
- <engine>
+ <classloader>
<classpath>
<repository>
<resource id="tutorial:composition-api" version="1.0"/>
</repository>
</classpath>
- </engine>
+ </classloader>
<include id="tutorial:composition-publisher" version="1.0"/>
<include id="tutorial:composition-application" version="1.0"/>
1.2 +2 -2 avalon-sandbox/merlin/merlin-platform/tutorials/composition/src/config/block2.xml
Index: block2.xml
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/tutorials/composition/src/config/block2.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- block2.xml 10 Jun 2003 02:12:19 -0000 1.1
+++ block2.xml 22 Jun 2003 13:57:57 -0000 1.2
@@ -7,7 +7,7 @@
<implementation>
- <engine>
+ <classloader>
<classpath>
<repository>
<resource id="tutorial:composition-api" version="1.0"/>
@@ -16,7 +16,7 @@
<resource id="tutorial:composition-application" version="1.0"/>
</repository>
</classpath>
- </engine>
+ </classloader>
<component name="application" class="tutorial.application.Application" activation="startup"/>
1.2 +2 -2 avalon-sandbox/merlin/merlin-platform/tutorials/composition/src/config/application/block.xml
Index: block.xml
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/tutorials/composition/src/config/application/block.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- block.xml 10 Jun 2003 02:12:19 -0000 1.1
+++ block.xml 22 Jun 2003 13:57:57 -0000 1.2
@@ -12,13 +12,13 @@
<implementation>
- <engine>
+ <classloader>
<classpath>
<repository>
<resource id="tutorial:composition-api" version="1.0"/>
</repository>
</classpath>
- </engine>
+ </classloader>
<component name="application"
class="tutorial.application.Application" activation="startup">
1.3 +2 -2 avalon-sandbox/merlin/merlin-platform/tutorials/includes/src/config/block.xml
Index: block.xml
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/tutorials/includes/src/config/block.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- block.xml 15 Jun 2003 17:45:32 -0000 1.2
+++ block.xml 22 Jun 2003 13:57:57 -0000 1.3
@@ -7,13 +7,13 @@
<implementation>
- <engine>
+ <classloader>
<classpath>
<repository>
<resource id="tutorial:tutorial" version="1.0"/>
</repository>
</classpath>
- </engine>
+ </classloader>
<component name="test1" class="tutorial.TestComponent" activation="startup"/>
1.2 +2 -2 avalon-sandbox/merlin/merlin-platform/tutorials/includes/src/config/include.xml
Index: include.xml
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/tutorials/includes/src/config/include.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- include.xml 10 Jun 2003 02:12:24 -0000 1.1
+++ include.xml 22 Jun 2003 13:57:57 -0000 1.2
@@ -7,13 +7,13 @@
<implementation>
- <engine>
+ <classloader>
<classpath>
<repository>
<resource id="tutorial:tutorial" version="1.0"/>
</repository>
</classpath>
- </engine>
+ </classloader>
<component name="test3" class="tutorial.TestComponent"
activation="startup"/>
1.2 +2 -2 avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/index.xml
Index: index.xml
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/index.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- index.xml 10 Jun 2003 02:14:18 -0000 1.1
+++ index.xml 22 Jun 2003 13:57:57 -0000 1.2
@@ -53,13 +53,13 @@
<implementation>
- <engine>
+ <classloader>
<classpath>
<repository>
<resource id="demo:merlin-demo" version="1.0"/>
</repository>
</classpath>
- </engine>
+ </classloader>
<component name="standard"
class="org.apache.avalon.playground.StandardComponent" activation="startup">
1.2 +2 -2 avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/container/includes.xml
Index: includes.xml
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/container/includes.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- includes.xml 10 Jun 2003 02:14:19 -0000 1.1
+++ includes.xml 22 Jun 2003 13:57:57 -0000 1.2
@@ -71,13 +71,13 @@
<implementation>
- <engine>
+ <classloader>
<classpath>
<repository>
<resource id="tutorial:composition-api" version="1.0"/>
</repository>
</classpath>
- </engine>
+ </classloader>
<include id="tutorial:composition-publisher" version="1.0"/>
<include id="tutorial:composition-application" version="1.0"/>
1.3 +4 -6 avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/container/index.xml
Index: index.xml
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/container/index.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- index.xml 15 Jun 2003 17:43:23 -0000 1.2
+++ index.xml 22 Jun 2003 13:57:57 -0000 1.3
@@ -31,11 +31,9 @@
<table>
<tr><th>Element</th><th>Occurance</th><th>Description</th></tr>
<tr>
- <td><a href="engine/index.html">engine</a></td><td>0..1</td>
+ <td><a href="engine/index.html">classloader</a></td><td>0..1</td>
<td>
- An engine is an extended classloader. A block implementation
- may have at most one engine within which additional resources
- (jar files, etc.) may be declared.
+ A block implementation may have at most one classloader.
</td>
</tr>
<tr>
@@ -122,13 +120,13 @@
will execute within
-->
- <engine>
+ <classloader>
<classpath>
<repository>
<resource id="tutorial:composition-api" version="1.0"/>
</repository>
</classpath>
- </engine>
+ </classloader>
<!--
declaration of a root component (services provided by this component
1.3 +1 -1 avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/container/navigation.xml
Index: navigation.xml
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/container/navigation.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- navigation.xml 15 Jun 2003 17:43:23 -0000 1.2
+++ navigation.xml 22 Jun 2003 13:57:57 -0000 1.3
@@ -25,7 +25,7 @@
<item name="Services" href="/meta/model/block/export/index.html"/>
<item name="Dependencies" href="/meta/model/block/import/index.html"/>
<item name="Implementation" href="/meta/model/block/container/index.html">
- <item name="Engine" href="/meta/model/block/container/engine/index.html"/>
+ <item name="Classloader" href="/meta/model/block/container/engine/index.html"/>
<item name="Component" href="/meta/model/block/container/components/index.html"/>
<item name="Container" href="/meta/model/block/container/containers.html"/>
<item name="Include" href="/meta/model/block/container/include/index.html"/>
1.3 +1 -1 avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/container/components/navigation.xml
Index: navigation.xml
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/container/components/navigation.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- navigation.xml 15 Jun 2003 17:43:23 -0000 1.2
+++ navigation.xml 22 Jun 2003 13:57:57 -0000 1.3
@@ -25,7 +25,7 @@
<item name="Services" href="/meta/model/block/export/index.html"/>
<item name="Dependencies" href="/meta/model/block/import/index.html"/>
<item name="Implementation" href="/meta/model/block/container/index.html">
- <item name="Engine" href="/meta/model/block/container/engine/index.html"/>
+ <item name="Classloader" href="/meta/model/block/container/engine/index.html"/>
<item name="Component"
href="/meta/model/block/container/components/index.html">
<item name="Categories"
1.3 +1 -1 avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/container/components/categories/navigation.xml
Index: navigation.xml
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/container/components/categories/navigation.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- navigation.xml 15 Jun 2003 17:43:23 -0000 1.2
+++ navigation.xml 22 Jun 2003 13:57:57 -0000 1.3
@@ -25,7 +25,7 @@
<item name="Services" href="/meta/model/block/export/index.html"/>
<item name="Dependencies" href="/meta/model/block/import/index.html"/>
<item name="Implementation" href="/meta/model/block/container/index.html">
- <item name="Engine" href="/meta/model/block/container/engine/index.html"/>
+ <item name="Classloader" href="/meta/model/block/container/engine/index.html"/>
<item name="Component"
href="/meta/model/block/container/components/index.html">
<item name="Categories" href="/meta/model/block/container/components/categories/index.html">
1.3 +1 -1 avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/container/components/context/navigation.xml
Index: navigation.xml
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/container/components/context/navigation.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- navigation.xml 15 Jun 2003 17:43:24 -0000 1.2
+++ navigation.xml 22 Jun 2003 13:57:57 -0000 1.3
@@ -25,7 +25,7 @@
<item name="Services" href="/meta/model/block/export/index.html"/>
<item name="Dependencies" href="/meta/model/block/import/index.html"/>
<item name="Implementation" href="/meta/model/block/container/index.html">
- <item name="Engine" href="/meta/model/block/container/engine/index.html"/>
+ <item name="Classloader" href="/meta/model/block/container/engine/index.html"/>
<item name="Component"
href="/meta/model/block/container/components/index.html">
<item name="Categories" href="/meta/model/block/container/components/categories/index.html"/>
1.3 +1 -1 avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/container/components/context/entry/navigation.xml
Index: navigation.xml
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/container/components/context/entry/navigation.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- navigation.xml 15 Jun 2003 17:43:24 -0000 1.2
+++ navigation.xml 22 Jun 2003 13:57:57 -0000 1.3
@@ -25,7 +25,7 @@
<item name="Services" href="/meta/model/block/export/index.html"/>
<item name="Dependencies" href="/meta/model/block/import/index.html"/>
<item name="Implementation" href="/meta/model/block/container/index.html">
- <item name="Engine" href="/meta/model/block/container/engine/index.html"/>
+ <item name="Classloader" href="/meta/model/block/container/engine/index.html"/>
<item name="Component"
href="/meta/model/block/container/components/index.html">
<item name="Categories" href="/meta/model/block/container/components/categories/index.html"/>
1.3 +1 -1 avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/container/components/parameters/navigation.xml
Index: navigation.xml
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/container/components/parameters/navigation.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- navigation.xml 15 Jun 2003 17:43:24 -0000 1.2
+++ navigation.xml 22 Jun 2003 13:57:58 -0000 1.3
@@ -25,7 +25,7 @@
<item name="Services" href="/meta/model/block/export/index.html"/>
<item name="Dependencies" href="/meta/model/block/import/index.html"/>
<item name="Implementation" href="/meta/model/block/container/index.html">
- <item name="Engine" href="/meta/model/block/container/engine/index.html"/>
+ <item name="Classloader" href="/meta/model/block/container/engine/index.html"/>
<item name="Component"
href="/meta/model/block/container/components/index.html">
<item name="Categories"
1.3 +3 -3 avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/container/engine/extensions.xml
Index: extensions.xml
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/container/engine/extensions.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- extensions.xml 17 Jun 2003 20:17:55 -0000 1.2
+++ extensions.xml 22 Jun 2003 13:57:58 -0000 1.3
@@ -20,7 +20,7 @@
<td>include</td><td>0..n</td>
<td>
Declaration of a directory within which the container may
- use to resolve opinional jar file dependencies.
+ use to resolve optional jar file dependencies.
</td>
</tr>
</table>
@@ -37,12 +37,12 @@
<p>An example of an extensions dir declaration is included below.</p>
<source><![CDATA[
- <engine>
+ <classloader>
<library dir=".">
<include name="dist"/>
<include name="lib"/>
</library>
- </engine>
+ </classloader>
]]></source>
</subsection>
1.2 +4 -4 avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/container/engine/index.xml
Index: index.xml
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/container/engine/index.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- index.xml 10 Jun 2003 02:14:22 -0000 1.1
+++ index.xml 22 Jun 2003 13:57:58 -0000 1.2
@@ -3,7 +3,7 @@
<document>
<header>
- <title>Engine</title>
+ <title>Classloader</title>
<authors>
<person name="Stephen McConnell" email="mcconnell@apache.org"/>
</authors>
@@ -11,7 +11,7 @@
<body>
- <section name="Engine Directive">
+ <section name="Classloader Directive">
<subsection name="Nested Elements">
<table>
@@ -41,13 +41,13 @@
<subsection name="Example XML">
<source><![CDATA[
-<engine>
+<classloader>
<classpath>
<repository>
<resource id="tutorial:composition-api" version="1.0"/>
</repository>
</classpath>
-</engine>
+</classloader>
]]></source>
</subsection>
1.3 +1 -1 avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/container/engine/navigation.xml
Index: navigation.xml
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/container/engine/navigation.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- navigation.xml 15 Jun 2003 17:43:24 -0000 1.2
+++ navigation.xml 22 Jun 2003 13:57:58 -0000 1.3
@@ -25,7 +25,7 @@
<item name="Services" href="/meta/model/block/export/index.html"/>
<item name="Dependencies" href="/meta/model/block/import/index.html"/>
<item name="Implementation" href="/meta/model/block/container/index.html">
- <item name="Engine" href="/meta/model/block/container/engine/index.html">
+ <item name="Classloader" href="/meta/model/block/container/engine/index.html">
<item name="Classpath" href="/meta/model/block/container/engine/classpath/index.html"/>
<item name="Library" href="/meta/model/block/container/engine/extensions.html"/>
</item>
1.4 +1 -1 avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/container/engine/classpath/navigation.xml
Index: navigation.xml
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/container/engine/classpath/navigation.xml,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- navigation.xml 20 Jun 2003 19:01:39 -0000 1.3
+++ navigation.xml 22 Jun 2003 13:57:58 -0000 1.4
@@ -25,7 +25,7 @@
<item name="Services" href="/meta/model/block/export/index.html"/>
<item name="Dependencies" href="/meta/model/block/import/index.html"/>
<item name="Implementation" href="/meta/model/block/container/index.html">
- <item name="Engine" href="/meta/model/block/container/engine/index.html">
+ <item name="Classloader" href="/meta/model/block/container/engine/index.html">
<item name="Classpath" href="/meta/model/block/container/engine/classpath/index.html">
<item name="Repository" href="/meta/model/block/container/engine/classpath/repository/index.html"/>
<item name="Fileset" href="/meta/model/block/container/engine/classpath/fileset.html"/>
1.2 +1 -1 avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/container/engine/classpath/repository/navigation.xml
Index: navigation.xml
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/container/engine/classpath/repository/navigation.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- navigation.xml 20 Jun 2003 19:01:39 -0000 1.1
+++ navigation.xml 22 Jun 2003 13:57:58 -0000 1.2
@@ -25,7 +25,7 @@
<item name="Services" href="/meta/model/block/export/index.html"/>
<item name="Dependencies" href="/meta/model/block/import/index.html"/>
<item name="Implementation" href="/meta/model/block/container/index.html">
- <item name="Engine" href="/meta/model/block/container/engine/index.html">
+ <item name="Classloader" href="/meta/model/block/container/engine/index.html">
<item name="Classpath" href="/meta/model/block/container/engine/classpath/index.html">
<item name="Repository" href="/meta/model/block/container/engine/classpath/repository/index.html">
<item name="Resource" href="/meta/model/block/container/engine/classpath/repository/resource.html"/>
1.3 +2 -2 avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/container/include/index.xml
Index: index.xml
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/container/include/index.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- index.xml 20 Jun 2003 19:01:39 -0000 1.2
+++ index.xml 22 Jun 2003 13:57:58 -0000 1.3
@@ -75,13 +75,13 @@
<implementation>
- <engine>
+ <classloader>
<classpath>
<repository>
<resource id="tutorial:composition-api" version="1.0"/>
</repository>
</classpath>
- </engine>
+ </classloader>
<include name="publisher">
<resource id="tutorial:composition-publisher" version="1.0"/>
1.2 +1 -1 avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/container/include/navigation.xml
Index: navigation.xml
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/container/include/navigation.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- navigation.xml 15 Jun 2003 17:43:24 -0000 1.1
+++ navigation.xml 22 Jun 2003 13:57:58 -0000 1.2
@@ -25,7 +25,7 @@
<item name="Services" href="/meta/model/block/export/index.html"/>
<item name="Dependencies" href="/meta/model/block/import/index.html"/>
<item name="Implementation" href="/meta/model/block/container/index.html">
- <item name="Engine" href="/meta/model/block/container/engine/index.html"/>
+ <item name="Classloader" href="/meta/model/block/container/engine/index.html"/>
<item name="Component" href="/meta/model/block/container/components/index.html"/>
<item name="Container" href="/meta/model/block/container/containers.html"/>
<item name="Include" href="/meta/model/block/container/include/index.html">
1.2 +2 -2 avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/container/include/source.xml
Index: source.xml
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/container/include/source.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- source.xml 15 Jun 2003 17:43:24 -0000 1.1
+++ source.xml 22 Jun 2003 13:57:58 -0000 1.2
@@ -42,13 +42,13 @@
<implementation>
- <engine>
+ <classloader>
<classpath>
<repository>
<resource id="tutorial:composition-api" version="1.0"/>
</repository>
</classpath>
- </engine>
+ </classloader>
<include name="publisher">
<source path="conf/include.xml"/>
1.2 +1 -1 avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/container/include/targets/navigation.xml
Index: navigation.xml
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/xdocs/meta/model/block/container/include/targets/navigation.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- navigation.xml 15 Jun 2003 17:43:24 -0000 1.1
+++ navigation.xml 22 Jun 2003 13:57:58 -0000 1.2
@@ -25,7 +25,7 @@
<item name="Services" href="/meta/model/block/export/index.html"/>
<item name="Dependencies" href="/meta/model/block/import/index.html"/>
<item name="Implementation" href="/meta/model/block/container/index.html">
- <item name="Engine" href="/meta/model/block/container/engine/index.html"/>
+ <item name="Classloader" href="/meta/model/block/container/engine/index.html"/>
<item name="Component" href="/meta/model/block/container/components/index.html"/>
<item name="Container" href="/meta/model/block/container/containers.html"/>
<item name="Include" href="/meta/model/block/container/include/index.html">
1.2 +5 -5 avalon-sandbox/merlin/merlin-platform/xdocs/starting/advanced/composite.xml
Index: composite.xml
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/xdocs/starting/advanced/composite.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- composite.xml 10 Jun 2003 02:14:26 -0000 1.1
+++ composite.xml 22 Jun 2003 13:57:58 -0000 1.2
@@ -51,13 +51,13 @@
<implementation>
- <engine>
+ <classloader>
<classpath>
<repository>
<resource id="tutorial:composition-api" version="1.0"/>
</repository>
</classpath>
- </engine>
+ </classloader>
<include id="tutorial:composition-publisher" version="1.0"/>
<include id="tutorial:composition-application" version="1.0"/>
@@ -95,13 +95,13 @@
<implementation>
- <engine>
+ <classloader>
<classpath>
<repository>
<resource id="tutorial:composition-api" version="1.0"/>
</repository>
</classpath>
- </engine>
+ </classloader>
<component name="application"
class="tutorial.application.Application" activation="startup">
@@ -134,7 +134,7 @@
<implementation>
<component name="location"
- class="tutorial.location.LocationComponent" activation="startup">
+ class="tutorial.location.LocationComponent" activation="startup">
<configuration>
<source>Paris</source>
</configuration>
1.4 +2 -2 avalon-sandbox/merlin/merlin-platform/xdocs/starting/advanced/includes.xml
Index: includes.xml
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/xdocs/starting/advanced/includes.xml,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- includes.xml 16 Jun 2003 14:23:03 -0000 1.3
+++ includes.xml 22 Jun 2003 13:57:58 -0000 1.4
@@ -50,13 +50,13 @@
<implementation>
- <engine>
+ <classloader>
<classpath>
<repository>
<resource id="tutorial:tutorial" version="1.0"/>
</repository>
</classpath>
- </engine>
+ </classloader>
<component name="test1" class="tutorial.TestComponent" activation="startup"/>
1.2 +100 -110 avalon-sandbox/merlin/merlin-platform/xdocs/starting/examples/james/block.xml
Index: block.xml
===================================================================
RCS file: /home/cvs/avalon-sandbox/merlin/merlin-platform/xdocs/starting/examples/james/block.xml,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- block.xml 10 Jun 2003 02:14:32 -0000 1.1
+++ block.xml 22 Jun 2003 13:57:58 -0000 1.2
@@ -45,37 +45,44 @@
Service provided by this block.
Please not that in order to use these services, you must ensure that
the required API classes are available in a classloader within the scope
- of a container using these services.
+ of a container using these services. This is commented out peding the
+ release by the james project of API/impl seperation.
+ -->
+ <!--
+ <services>
+ <service type="org.apache.james.services.MailServer:1.0">
+ <source>/james</source>
+ </service>
+ <service type="org.apache.mailet.MailetContext:1.0">
+ <source>/james</source>
+ </service>
+ </services>
-->
- <services>
- <service name="org.apache.james.services.MailServer" version="1.0" />
- <service name="org.apache.mailet.MailetContext" version="1.0" />
- </services>
<!--
Block implementation. The implementation element may contain component
and container entities. The block implementation statement is equivalent
- to a root container.
+ to a root container.
-->
<implementation>
- <categories priority="INFO"/>
-
- <engine>
+ <classloader>
<classpath>
<repository>
+ <resource id="avalon-framework:avalon-framework-impl" version="4.1.5-dev"/>
+ <resource id="cornerstone-threads:cornerstone-threads-api" version="1.0"/>
+ <resource id="cornerstone-sockets:cornerstone-sockets-api" version="1.0"/>
+ <resource id="cornerstone-connection:cornerstone-connection-api" version="1.0"/>
+ <resource id="cornerstone-scheduler:cornerstone-scheduler-api" version="1.0"/>
+ <resource id="cornerstone-datasources:cornerstone-datasources-api" version="1.0"/>
+ <resource id="cornerstone-store:cornerstone-store-api" version="1.0"/>
+ <resource id="cornerstone-connection:cornerstone-connection-impl" version="1.0"/>
+
+ <!-- james specific depedencies -->
<resource id="excalibur:excalibur-io" version="1.1"/>
- <resource id="excalibur:excalibur-pool" version="1.2"/>
- <resource id="excalibur:excalibur-thread" version="1.1"/>
- <resource id="excalibur:excalibur-threadcontext" version="1.0"/>
<resource id="excalibur:excalibur-collections" version="1.0"/>
- <resource id="commons:commons-collections" version="2.1"/>
- <resource id="cornerstone:cornerstone-threads" version="1.0"/>
- <resource id="cornerstone:cornerstone-connection" version="1.0"/>
- <resource id="cornerstone:cornerstone-datasources" version="1.0"/>
- <resource id="cornerstone:cornerstone-scheduler" version="1.0"/>
- <resource id="cornerstone:cornerstone-sockets" version="1.0"/>
- <resource id="cornerstone:cornerstone-store" version="1.0"/>
+ <resource id="excalibur-thread:excalibur-thread" version="1.1.1"/>
+ <resource id="excalibur-pool:excalibur-pool" version="1.2"/>
<resource id="james:dnsjava" version="1.3.2"/>
<resource id="james:mail" version="1.3"/>
<resource id="james:activation" version="1.0"/>
@@ -83,18 +90,85 @@
<resource id="james:james" version="1.3"/>
</repository>
</classpath>
- </engine>
+ </classloader>
+
+ <include name="threads">
+ <resource id="cornerstone-threads:cornerstone-threads-impl" version="1.0"/>
+ </include>
+
+ <include name="sockets">
+ <resource id="cornerstone-sockets:cornerstone-sockets-impl" version="1.0"/>
+ </include>
+
+ <include name="scheduler">
+ <resource id="cornerstone-scheduler:cornerstone-scheduler-impl" version="1.0"/>
+ </include>
+
+ <include name="datasources">
+ <resource id="cornerstone-datasources:cornerstone-datasources-impl" version="1.0"/>
+ </include>
+
+ <include name="store">
+ <resource id="cornerstone-store:cornerstone-store-impl" version="1.0"/>
+ <targets>
+ <target path="/manager">
+ <configuration>
+ <repositories>
+ <repository
+ class="org.apache.james.mailrepository.filepair.File_Persistent_Object_Repository">
+ <protocols>
+ <protocol>file</protocol>
+ </protocols>
+ <types>
+ <type>OBJECT</type>
+ </types>
+ <models>
+ <model>SYNCHRONOUS</model>
+ <model>ASYNCHRONOUS</model>
+ <model>CACHE</model>
+ </models>
+ </repository>
+ <repository
+ class="org.apache.james.mailrepository.filepair.File_Persistent_Stream_Repository">
+ <protocols>
+ <protocol>file</protocol>
+ </protocols>
+ <types>
+ <type>STREAM</type>
+ </types>
+ <models>
+ <model>SYNCHRONOUS</model>
+ <model>ASYNCHRONOUS</model>
+ <model>CACHE</model>
+ </models>
+ </repository>
+ </repositories>
+ </configuration>
+ </target>
+ </targets>
+ </include>
+
+ <component name="connections"
+ class="org.apache.james.util.connection.SimpleConnectionManager"
+ activation="true">
+ <configuration>
+ <idle-timeout>300000</idle-timeout>
+ <max-connections>30</max-connections>
+ </configuration>
+ </component>
<component name="james" class="org.apache.james.James"
activation="true">
<configuration>
<postmaster>postmaster@localhost</postmaster>
- <servernames autodetect="true" autodetectIP="true"/>
- <usernames ignoreCase="true" enableAliases="true" enableForwarding="true"/>
- <inboxRepository>
- <repository destinationURL="file://var/mail/inboxes/" type="MAIL"/>
- </inboxRepository>
- </configuration>
+ <servernames autodetect="true" autodetectIP="true">
+ <servername>localhost</servername>
+ </servernames>
+ <usernames ignoreCase="true" enableAliases="true" enableForwarding="true"/>
+ <inboxRepository>
+ <repository destinationURL="file://var/mail/inboxes/" type="MAIL"/>
+ </inboxRepository>
+ </configuration>
</component>
<component name="dns" class="org.apache.james.dnsserver.DNSServer"
@@ -145,58 +219,6 @@
</configuration>
</component>
- <component name="threads"
- class="org.apache.avalon.cornerstone.blocks.threads.DefaultThreadManager"
- activation="true">
- <configuration>
- <thread-group>
- <name>default</name>
- <priority>5</priority>
- <is-daemon>false</is-daemon>
- <max-threads>100</max-threads>
- <min-threads>20</min-threads>
- <min-spare-threads>20</min-spare-threads>
- </thread-group>
- </configuration>
- </component>
-
- <component name="store"
- class="org.apache.avalon.cornerstone.blocks.masterstore.RepositoryManager"
- activation="true">
- <configuration>
- <repositories>
- <repository
- class="org.apache.james.mailrepository.filepair.File_Persistent_Object_Repository">
- <protocols>
- <protocol>file</protocol>
- </protocols>
- <types>
- <type>OBJECT</type>
- </types>
- <models>
- <model>SYNCHRONOUS</model>
- <model>ASYNCHRONOUS</model>
- <model>CACHE</model>
- </models>
- </repository>
- <repository
- class="org.apache.james.mailrepository.filepair.File_Persistent_Stream_Repository">
- <protocols>
- <protocol>file</protocol>
- </protocols>
- <types>
- <type>STREAM</type>
- </types>
- <models>
- <model>SYNCHRONOUS</model>
- <model>ASYNCHRONOUS</model>
- <model>CACHE</model>
- </models>
- </repository>
- </repositories>
- </configuration>
- </component>
-
<!-- The High Level Storage block -->
<component name="mailstore"
class="org.apache.james.core.AvalonMailStore"
@@ -287,38 +309,6 @@
</repository>
</configuration>
</component>
-
- <component name="connections"
- class="org.apache.james.util.connection.SimpleConnectionManager"
- activation="true">
- <configuration>
- <idle-timeout>300000</idle-timeout>
- <max-connections>30</max-connections>
- </configuration>
- </component>
-
- <component name="sockets"
- class="org.apache.avalon.cornerstone.blocks.sockets.DefaultSocketManager"
- activation="true">
- <configuration>
- <server-sockets>
- <factory name="plain"
- class="org.apache.avalon.cornerstone.blocks.sockets.DefaultServerSocketFactory"/>
- </server-sockets>
- <client-sockets>
- <factory name="plain"
- class="org.apache.avalon.cornerstone.blocks.sockets.DefaultSocketFactory"/>
- </client-sockets>
- </configuration>
- </component>
-
- <component name="scheduler"
- class="org.apache.avalon.cornerstone.blocks.scheduler.DefaultTimeScheduler"
- activation="true"/>
-
- <component name="datasources"
- class="org.apache.avalon.cornerstone.blocks.datasources.DefaultDataSourceSelector"
- activation="true"/>
<component name="spool"
class="org.apache.james.transport.JamesSpoolManager"
---------------------------------------------------------------------
To unsubscribe, e-mail: cvs-unsubscribe@avalon.apache.org
For additional commands, e-mail: cvs-help@avalon.apache.org