[jboss-cvs] JBossAS SVN: r68942 - in projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/advDeployment: src/main/assembly and 4 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Jan 14 08:45:58 EST 2008


Author: newtonm
Date: 2008-01-14 08:45:58 -0500 (Mon, 14 Jan 2008)
New Revision: 68942

Added:
   projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/advDeployment/src/main/assembly/bean-classloader.xml
   projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/advDeployment/src/main/assembly/bean-structure.xml
   projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/advDeployment/src/main/config/deployer-beans-classloader.xml
   projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/advDeployment/src/main/config/deployer-beans-structure.xml
   projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/advDeployment/src/main/config/jboss-structure.xml
   projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/advDeployment/src/main/java/org/jboss/example/deployment/
   projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/advDeployment/src/main/java/org/jboss/example/deployment/MyClassLoaderDeployer.java
   projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/advDeployment/src/main/java/org/jboss/example/deployment/MyDeployer.java
Modified:
   projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/advDeployment/pom.xml
   projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/advDeployment/src/main/assembly/bean-jar.xml
   projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/advDeployment/src/main/config/deployer-beans-xml.xml
   projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/advDeployment/src/main/config/run.sh
   projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/advDeployment/src/main/java/org/jboss/example/client/Client.java
Log:
Added structure and classloader distributions.

Modified: projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/advDeployment/pom.xml
===================================================================
--- projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/advDeployment/pom.xml	2008-01-14 12:46:18 UTC (rev 68941)
+++ projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/advDeployment/pom.xml	2008-01-14 13:45:58 UTC (rev 68942)
@@ -97,6 +97,8 @@
             <descriptor>src/main/assembly/bean-xml.xml</descriptor>
             <descriptor>src/main/assembly/bean-properties.xml</descriptor>
             <descriptor>src/main/assembly/bean-jar.xml</descriptor>
+            <descriptor>src/main/assembly/bean-structure.xml</descriptor>
+            <descriptor>src/main/assembly/bean-classloader.xml</descriptor>
           </descriptors>
           <finalName>${pom.artifactId}</finalName>
         </configuration>

Added: projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/advDeployment/src/main/assembly/bean-classloader.xml
===================================================================
--- projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/advDeployment/src/main/assembly/bean-classloader.xml	                        (rev 0)
+++ projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/advDeployment/src/main/assembly/bean-classloader.xml	2008-01-14 13:45:58 UTC (rev 68942)
@@ -0,0 +1,30 @@
+<assembly>
+  <id>bean-classloader</id>
+  <formats>
+    <format>zip</format>
+  </formats>
+  <includeBaseDirectory>false</includeBaseDirectory>
+  <files>
+    <file>
+      <source>src/main/config/deployer-beans-classloader.xml</source>
+      <destName>deployer-beans.xml</destName>
+    </file>
+    <file>
+      <source>src/main/config/hrService-beans.xml</source>
+      <destName>otherLib/humanResourcesService-1.0.0.jar/META-INF/jboss-beans.xml</destName>
+    </file>
+  </files>
+  <dependencySets>
+    <dependencySet>
+      <outputDirectory>/otherLib</outputDirectory>
+      <unpack>true</unpack>
+      <scope>runtime</scope>
+       <includes>
+        <include>org.jboss.microcontainer.examples:humanResourcesService</include>
+       </includes>
+     </dependencySet>
+  </dependencySets>
+  <componentDescriptors>
+    <componentDescriptor>src/main/assembly/common.xml</componentDescriptor>
+  </componentDescriptors>
+</assembly>

Modified: projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/advDeployment/src/main/assembly/bean-jar.xml
===================================================================
--- projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/advDeployment/src/main/assembly/bean-jar.xml	2008-01-14 12:46:18 UTC (rev 68941)
+++ projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/advDeployment/src/main/assembly/bean-jar.xml	2008-01-14 13:45:58 UTC (rev 68942)
@@ -9,11 +9,15 @@
       <source>src/main/config/deployer-beans-jar.xml</source>
       <destName>deployer-beans.xml</destName>
     </file>
+    <file>
+      <source>src/main/config/hrService-beans.xml</source>
+      <destName>lib/humanResourcesService-1.0.0.jar/META-INF/jboss-beans.xml</destName>
+    </file>
   </files>
   <dependencySets>
     <dependencySet>
       <outputDirectory>/lib</outputDirectory>
-      <unpack>false</unpack>
+      <unpack>true</unpack>
       <scope>runtime</scope>
        <includes>
         <include>org.jboss.microcontainer.examples:humanResourcesService</include>

Added: projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/advDeployment/src/main/assembly/bean-structure.xml
===================================================================
--- projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/advDeployment/src/main/assembly/bean-structure.xml	                        (rev 0)
+++ projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/advDeployment/src/main/assembly/bean-structure.xml	2008-01-14 13:45:58 UTC (rev 68942)
@@ -0,0 +1,34 @@
+<assembly>
+  <id>bean-structure</id>
+  <formats>
+    <format>zip</format>
+  </formats>
+  <includeBaseDirectory>false</includeBaseDirectory>
+  <files>
+    <file>
+      <source>src/main/config/deployer-beans-structure.xml</source>
+      <destName>deployer-beans.xml</destName>
+    </file>
+    <file>
+      <source>src/main/config/hrService-beans.xml</source>
+      <destName>lib/humanResourcesService-1.0.0.jar/OTHER-DIR/jboss-beans.xml</destName>
+    </file>
+    <file>
+      <source>src/main/config/jboss-structure.xml</source>
+      <destName>lib/humanResourcesService-1.0.0.jar/META-INF/jboss-structure.xml</destName>
+    </file>
+  </files>
+  <dependencySets>
+    <dependencySet>
+      <outputDirectory>/lib</outputDirectory>
+      <unpack>true</unpack>
+      <scope>runtime</scope>
+       <includes>
+        <include>org.jboss.microcontainer.examples:humanResourcesService</include>
+       </includes>
+     </dependencySet>
+  </dependencySets>
+  <componentDescriptors>
+    <componentDescriptor>src/main/assembly/common.xml</componentDescriptor>
+  </componentDescriptors>
+</assembly>

Added: projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/advDeployment/src/main/config/deployer-beans-classloader.xml
===================================================================
--- projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/advDeployment/src/main/config/deployer-beans-classloader.xml	                        (rev 0)
+++ projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/advDeployment/src/main/config/deployer-beans-classloader.xml	2008-01-14 13:45:58 UTC (rev 68942)
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+   <!-- The MainDeployer -->
+   <bean name="MainDeployer" class="org.jboss.deployers.plugins.main.MainDeployerImpl">
+      <property name="structuralDeployers"><inject bean="StructuralDeployers"/></property>
+      <property name="deployers"><inject bean="Deployers"/></property>
+   </bean>
+
+   <!-- The holder for deployers that determine structure -->
+   <bean name="StructuralDeployers" class="org.jboss.deployers.vfs.plugins.structure.VFSStructuralDeployersImpl">
+      <property name="structureBuilder">
+         <!-- The consolidator of the structure information -->
+         <bean name="StructureBuilder" class="org.jboss.deployers.vfs.plugins.structure.VFSStructureBuilder"/>
+      </property>
+      <!-- Accept any implementor of structure deployer -->
+      <incallback method="addDeployer"/>
+      <uncallback method="removeDeployer"/>
+   </bean>
+
+   <!-- The holder for deployers that do real deployment -->
+   <bean name="Deployers" class="org.jboss.deployers.plugins.deployers.DeployersImpl">
+      <constructor><parameter><inject bean="jboss.kernel:service=KernelController"/></parameter></constructor>
+      <!-- Accept any implementor of deployer -->
+      <incallback method="addDeployer"/>
+      <uncallback method="removeDeployer"/>
+   </bean>
+
+    <!-- JAR Structure -->
+    <bean name="JARStructure" class="org.jboss.deployers.vfs.plugins.structure.jar.JARStructure">
+       <!-- Unless specified the default list of suffixes is .zip, .ear, .jar, ,.rar, .war, .sar, .har, .aop -->
+       <constructor>
+          <parameter>
+             <set elementClass="java.lang.String">
+                <value>.zip</value>
+                <value>.ear</value>
+                <value>.jar</value>
+                <value>.rar</value>
+                <value>.war</value>
+                <value>.sar</value>
+                <value>.har</value>
+                <value>.aop</value>
+                <value>.deployer</value>
+                <value>.beans</value>
+             </set>
+          </parameter>
+       </constructor>
+       <property name="candidateStructureVisitorFactory">
+          <!-- Any file that is not an ordinary directory is a candidate -->
+          <bean name="JARStructureCandidates" class="org.jboss.deployers.vfs.spi.structure.helpers.DefaultCandidateStructureVisitorFactory">
+             <!-- A filter to exclude some obvious non-subdeployments -->
+             <property name="filter">
+                <bean name="JARFilter" class="org.jboss.virtual.plugins.vfs.helpers.SuffixesExcludeFilter">
+                   <constructor><parameter>
+                      <list elementClass="java.lang.String">
+                         <!-- Exclude class files as subdeployments -->
+                         <value>.class</value>
+                      </list>
+                   </parameter></constructor>
+                </bean>
+             </property>
+          </bean>
+       </property>
+    </bean>
+
+   <!-- POJO Deployment -->
+   <bean name="BeanDeployer" class="org.jboss.deployers.vfs.deployer.kernel.BeanDeployer">
+      <property name="type">beans</property>
+   </bean>
+   <bean name="KernelDeploymentDeployer" class="org.jboss.deployers.vfs.deployer.kernel.KernelDeploymentDeployer">
+      <property name="type">beans</property>
+   </bean>
+   <bean name="BeanMetaDataDeployer" class="org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataDeployer">
+      <constructor><parameter><inject bean="jboss.kernel:service=Kernel"/></parameter></constructor>
+      <property name="type">beans</property>
+   </bean>
+   
+   <bean name="MyClassLoaderDeployer" class="org.jboss.example.deployment.MyClassLoaderDeployer">
+      <property name="type">beans</property>
+   </bean>
+
+</deployment>
+

Added: projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/advDeployment/src/main/config/deployer-beans-structure.xml
===================================================================
--- projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/advDeployment/src/main/config/deployer-beans-structure.xml	                        (rev 0)
+++ projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/advDeployment/src/main/config/deployer-beans-structure.xml	2008-01-14 13:45:58 UTC (rev 68942)
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+   <!-- The MainDeployer -->
+   <bean name="MainDeployer" class="org.jboss.deployers.plugins.main.MainDeployerImpl">
+      <property name="structuralDeployers"><inject bean="StructuralDeployers"/></property>
+      <property name="deployers"><inject bean="Deployers"/></property>
+   </bean>
+
+   <!-- The holder for deployers that determine structure -->
+   <bean name="StructuralDeployers" class="org.jboss.deployers.vfs.plugins.structure.VFSStructuralDeployersImpl">
+      <property name="structureBuilder">
+         <!-- The consolidator of the structure information -->
+         <bean name="StructureBuilder" class="org.jboss.deployers.vfs.plugins.structure.VFSStructureBuilder"/>
+      </property>
+      <!-- Accept any implementor of structure deployer -->
+      <incallback method="addDeployer"/>
+      <uncallback method="removeDeployer"/>
+   </bean>
+
+   <!-- The holder for deployers that do real deployment -->
+   <bean name="Deployers" class="org.jboss.deployers.plugins.deployers.DeployersImpl">
+      <constructor><parameter><inject bean="jboss.kernel:service=KernelController"/></parameter></constructor>
+      <!-- Accept any implementor of deployer -->
+      <incallback method="addDeployer"/>
+      <uncallback method="removeDeployer"/>
+   </bean>
+
+    <!-- Declared Structure -->
+    <bean name="DeclaredStructure" class="org.jboss.deployers.vfs.plugins.structure.explicit.DeclaredStructure"/>
+
+   <!-- POJO Deployment -->
+   <bean name="BeanDeployer" class="org.jboss.deployers.vfs.deployer.kernel.BeanDeployer">
+      <property name="type">beans</property>
+   </bean>
+   <bean name="KernelDeploymentDeployer" class="org.jboss.deployers.vfs.deployer.kernel.KernelDeploymentDeployer">
+      <property name="type">beans</property>
+   </bean>
+   <bean name="BeanMetaDataDeployer" class="org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataDeployer">
+      <constructor><parameter><inject bean="jboss.kernel:service=Kernel"/></parameter></constructor>
+      <property name="type">beans</property>
+   </bean>
+   
+   <!-- Your deployer here! -->
+
+</deployment>
+

Modified: projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/advDeployment/src/main/config/deployer-beans-xml.xml
===================================================================
--- projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/advDeployment/src/main/config/deployer-beans-xml.xml	2008-01-14 12:46:18 UTC (rev 68941)
+++ projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/advDeployment/src/main/config/deployer-beans-xml.xml	2008-01-14 13:45:58 UTC (rev 68942)
@@ -55,6 +55,9 @@
    </bean>
    
    <!-- Your deployer here! -->
-
+   <bean name="MyDeployer" class="org.jboss.example.deployment.MyDeployer">
+      <property name="type">beans</property>
+   </bean>
+   
 </deployment>
 

Added: projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/advDeployment/src/main/config/jboss-structure.xml
===================================================================
--- projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/advDeployment/src/main/config/jboss-structure.xml	                        (rev 0)
+++ projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/advDeployment/src/main/config/jboss-structure.xml	2008-01-14 13:45:58 UTC (rev 68942)
@@ -0,0 +1,11 @@
+<structure>
+  <context>
+    <path name=""/>
+    <metaDataPath>
+      <path name="OTHER-DIR"/>
+    </metaDataPath>
+    <classpath>
+      <path name=""/>
+    </classpath>
+  </context>
+</structure>

Modified: projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/advDeployment/src/main/config/run.sh
===================================================================
--- projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/advDeployment/src/main/config/run.sh	2008-01-14 12:46:18 UTC (rev 68941)
+++ projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/advDeployment/src/main/config/run.sh	2008-01-14 13:45:58 UTC (rev 68942)
@@ -1,3 +1,3 @@
 #!/bin/sh
 
-java -Djava.ext.dirs=`pwd`/lib -cp .:lib/:advDeployment-1.0.0.jar org.jboss.example.client.Client $1
+java -Djava.ext.dirs=`pwd`/lib -cp .:advDeployment-1.0.0.jar org.jboss.example.client.Client $1

Modified: projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/advDeployment/src/main/java/org/jboss/example/client/Client.java
===================================================================
--- projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/advDeployment/src/main/java/org/jboss/example/client/Client.java	2008-01-14 12:46:18 UTC (rev 68941)
+++ projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/advDeployment/src/main/java/org/jboss/example/client/Client.java	2008-01-14 13:45:58 UTC (rev 68942)
@@ -68,9 +68,13 @@
 		}
 		
 		if (hrServiceBeansUrl == null) {
-			hrServiceBeansUrl = cl.getResource("humanResourcesService-1.0.0.jar");
+			hrServiceBeansUrl = cl.getResource("lib/humanResourcesService-1.0.0.jar");
 		}
 		
+		if (hrServiceBeansUrl == null) {
+			hrServiceBeansUrl = cl.getResource("otherLib/humanResourcesService-1.0.0.jar");
+		}
+		
 		// Create VFSDeployment to use with aspectized deployers
 		File hrServiceBeans = new File(hrServiceBeansUrl.getFile());
 		VirtualFile root = VFS.getRoot(hrServiceBeans.toURI());	    

Added: projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/advDeployment/src/main/java/org/jboss/example/deployment/MyClassLoaderDeployer.java
===================================================================
--- projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/advDeployment/src/main/java/org/jboss/example/deployment/MyClassLoaderDeployer.java	                        (rev 0)
+++ projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/advDeployment/src/main/java/org/jboss/example/deployment/MyClassLoaderDeployer.java	2008-01-14 13:45:58 UTC (rev 68942)
@@ -0,0 +1,30 @@
+package org.jboss.example.deployment;
+
+import java.net.URL;
+import java.net.URLClassLoader;
+
+import org.jboss.deployers.spi.deployer.helpers.AbstractTopLevelClassLoaderDeployer;
+import org.jboss.deployers.structure.spi.DeploymentContext;
+import org.jboss.deployers.vfs.plugins.client.AbstractVFSDeployment;
+import org.jboss.virtual.VirtualFile;
+
+public class MyClassLoaderDeployer extends AbstractTopLevelClassLoaderDeployer {
+
+	@Override
+	protected ClassLoader createTopLevelClassLoader(DeploymentContext context) throws Exception {
+		
+		ClassLoader current = Thread.currentThread().getContextClassLoader();
+		
+		AbstractVFSDeployment deployment = (AbstractVFSDeployment) context.getDeployment();
+		VirtualFile root = deployment.getRoot();
+		URL url = root.getHandler().toURL();
+		
+		URLClassLoader cl = new URLClassLoader(new URL[] {url}, current);
+		context.setClassLoader(cl);
+		
+		// Hack to get the PreInstallAction working
+		Thread.currentThread().setContextClassLoader(cl);
+		
+		return context.getClassLoader();
+	}
+}

Added: projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/advDeployment/src/main/java/org/jboss/example/deployment/MyDeployer.java
===================================================================
--- projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/advDeployment/src/main/java/org/jboss/example/deployment/MyDeployer.java	                        (rev 0)
+++ projects/microcontainer/trunk/docs/examples/User_Guide/gettingStarted/advDeployment/src/main/java/org/jboss/example/deployment/MyDeployer.java	2008-01-14 13:45:58 UTC (rev 68942)
@@ -0,0 +1,19 @@
+package org.jboss.example.deployment;
+
+import org.jboss.deployers.spi.DeploymentException;
+import org.jboss.deployers.spi.deployer.DeploymentStage;
+import org.jboss.deployers.spi.deployer.DeploymentStages;
+import org.jboss.deployers.spi.deployer.helpers.AbstractDeployer;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+
+public class MyDeployer extends AbstractDeployer {
+
+	public MyDeployer() {
+		// We want this deployer to be called after the installed stage
+		setStage(new DeploymentStage("MyDeploymentStage", DeploymentStages.INSTALLED));
+	}
+	
+	public void deploy(DeploymentUnit unit) throws DeploymentException {
+		System.out.println("Calling deploy() within MyDeployer...");
+	}
+}




More information about the jboss-cvs-commits mailing list