[jboss-cvs] JBossAS SVN: r73524 - in trunk: bootstrap/src and 10 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue May 20 10:24:34 EDT 2008


Author: adrian at jboss.org
Date: 2008-05-20 10:24:34 -0400 (Tue, 20 May 2008)
New Revision: 73524

Added:
   trunk/bootstrap/src/main/org/jboss/bootstrap/BootstrapMetaData.java
   trunk/bootstrap/src/main/org/jboss/bootstrap/xml/
   trunk/bootstrap/src/main/org/jboss/bootstrap/xml/BootstrapParser.java
   trunk/bootstrap/src/main/org/jboss/bootstrap/xml/BootstrapSchemaBinding.java
   trunk/bootstrap/src/resources/
   trunk/bootstrap/src/resources/schema/
   trunk/bootstrap/src/resources/schema/jboss-bootstrap_1_0.xsd
   trunk/server/src/etc/conf/default/aop.xml
   trunk/server/src/etc/conf/default/bootstrap-repo.xml
   trunk/server/src/etc/conf/default/bootstrap.xml
   trunk/server/src/etc/conf/default/classloader.xml
   trunk/server/src/etc/conf/default/deployers.xml
   trunk/server/src/etc/conf/default/jmx.xml
   trunk/server/src/etc/conf/default/profile-service-repository.xml
   trunk/server/src/etc/conf/default/profile-service.xml
Removed:
   trunk/server/src/etc/conf/default/bootstrap-beans.xml
   trunk/server/src/etc/conf/default/bootstrap-repo-beans.xml
Modified:
   trunk/bootstrap/build.xml
   trunk/bootstrap/src/main/org/jboss/bootstrap/microcontainer/ServerImpl.java
   trunk/build/build.xml
   trunk/system-jmx/src/main/org/jboss/system/server/jmx/JMXKernel.java
   trunk/system/src/main/org/jboss/system/server/profileservice/ProfileServiceBootstrap.java
   trunk/testsuite/imports/server-config.xml
Log:
[JBAS-5525] - Make a start on modularising the bootstrap

Modified: trunk/bootstrap/build.xml
===================================================================
--- trunk/bootstrap/build.xml	2008-05-20 14:24:11 UTC (rev 73523)
+++ trunk/bootstrap/build.xml	2008-05-20 14:24:34 UTC (rev 73524)
@@ -110,6 +110,7 @@
   <target name="compile"
 	  description="Compile all source files."
 	  depends="_default:compile-classes,
+	           _default:compile-resources,
               _default:compile-etc"/>
 
   <!-- ================================================================== -->
@@ -124,6 +125,7 @@
     <!-- -->
     <jar jarfile="${build.lib}/jboss-bootstrap.jar" manifest="${build.etc}/default.mf">
       <fileset dir="${build.classes}"/>
+      <fileset dir="${build.resources}"/>
     </jar>
 
   </target>

Added: trunk/bootstrap/src/main/org/jboss/bootstrap/BootstrapMetaData.java
===================================================================
--- trunk/bootstrap/src/main/org/jboss/bootstrap/BootstrapMetaData.java	                        (rev 0)
+++ trunk/bootstrap/src/main/org/jboss/bootstrap/BootstrapMetaData.java	2008-05-20 14:24:34 UTC (rev 73524)
@@ -0,0 +1,66 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2007, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.bootstrap;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * BootstrapMetaData.
+ * 
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 1.1 $
+ */
+public class BootstrapMetaData implements Serializable
+{
+   /** The serialVersionUID */
+   private static final long serialVersionUID = 7850412833463503239L;
+   
+   /** The bootstrap urls */
+   private List<String> bootstrapURLs;
+
+   /**
+    * Get the bootstrapURLs.
+    * 
+    * @return the bootstrapURLs.
+    */
+   public List<String> getBootstrapURLs()
+   {
+      return bootstrapURLs;
+   }
+
+   /**
+    * Set the bootstrapURLs.
+    * 
+    * @param bootstrapURLs the bootstrapURLs.
+    */
+   public void setBootstrapURLs(List<String> bootstrapURLs)
+   {
+      this.bootstrapURLs = bootstrapURLs;
+   }
+   
+   @Override
+   public String toString()
+   {
+      return super.toString() + "{" + bootstrapURLs + "}";
+   }
+}

Modified: trunk/bootstrap/src/main/org/jboss/bootstrap/microcontainer/ServerImpl.java
===================================================================
--- trunk/bootstrap/src/main/org/jboss/bootstrap/microcontainer/ServerImpl.java	2008-05-20 14:24:11 UTC (rev 73523)
+++ trunk/bootstrap/src/main/org/jboss/bootstrap/microcontainer/ServerImpl.java	2008-05-20 14:24:34 UTC (rev 73524)
@@ -23,12 +23,15 @@
 
 import java.net.URL;
 import java.util.Collections;
+import java.util.List;
 
 import org.jboss.beans.metadata.plugins.AbstractBeanMetaData;
 import org.jboss.beans.metadata.plugins.InstallCallbackMetaData;
 import org.jboss.beans.metadata.plugins.UninstallCallbackMetaData;
 import org.jboss.beans.metadata.spi.CallbackMetaData;
 import org.jboss.bootstrap.AbstractServerImpl;
+import org.jboss.bootstrap.BootstrapMetaData;
+import org.jboss.bootstrap.xml.BootstrapParser;
 import org.jboss.kernel.Kernel;
 import org.jboss.kernel.plugins.bootstrap.basic.BasicBootstrap;
 import org.jboss.kernel.plugins.deployment.xml.BasicXMLDeployer;
@@ -47,7 +50,7 @@
 public class ServerImpl extends AbstractServerImpl
 {
    /** The bootstrap file */
-   public static String BOOTSTRAP_XML_NAME = "bootstrap-beans.xml";
+   public static String BOOTSTRAP_XML_NAME = "bootstrap.xml";
 
    /** The bootstrap */
    private BasicBootstrap bootstrap;
@@ -88,29 +91,53 @@
       controller.install(metaData, this);
 
       // Determine the url for the bootstrap
+      URL configURL = getConfig().getServerConfigURL();
       URL url = getConfig().getBootstrapURL();
       if (url == null)
       {
-         URL configURL = getConfig().getServerConfigURL();
          url = new URL(configURL, BOOTSTRAP_XML_NAME);
          log.info("Starting Microcontainer, bootstrapURL=" + url);
       }
+
+      // Parse the bootstrap metadata
+      BootstrapMetaData bootstrapMetaData = BootstrapParser.parse(url);
+      List<String> bootstrapURLs = bootstrapMetaData.getBootstrapURLs();
+      if (bootstrapURLs == null || bootstrapURLs.isEmpty())
+         throw new IllegalStateException("No bootstrap urls in " + url);
+      log.debug("BootstrapURLs=" + bootstrapURLs);
       
       // Create an xml deployer
       kernelDeployer = new BasicXMLDeployer(kernel);
+      try
+      {
+         // Deploy the bootstrap urls
+         for (String bootstrapURL : bootstrapURLs)
+         {
+            url = new URL(configURL, bootstrapURL);
+            kernelDeployer.deploy(url);
+         }
+         
+         // Check it is complete
+         kernelDeployer.validate();
+         
+         // Send a notification that the startup is complete
+         KernelEventManager eventMgr = kernel.getEventManager();
+         KernelEvent startEvent = new AbstractEvent(eventMgr, START_NOTIFICATION_TYPE, 0, System.currentTimeMillis(), new Long(watch.getLapTime()));
+         eventMgr.fireKernelEvent(startEvent);
 
-      // Deploy the bootstrap url
-      kernelDeployer.deploy(url);
-      
-      // Check it is complete
-      kernelDeployer.validate();
-      
-      // Send a notification that the startup is complete
-      KernelEventManager eventMgr = kernel.getEventManager();
-      KernelEvent startEvent = new AbstractEvent(eventMgr, START_NOTIFICATION_TYPE, 0, System.currentTimeMillis(), new Long(watch.getLapTime()));
-      eventMgr.fireKernelEvent(startEvent);
-
-      this.bootstrap = bootstrap;
+         this.bootstrap = bootstrap;
+      }
+      catch (Throwable t)
+      {
+         try
+         {
+            kernelDeployer.shutdown();
+         }
+         catch (Throwable ignored)
+         {
+         }
+         throw t;
+      }
    }
 
    @Override

Added: trunk/bootstrap/src/main/org/jboss/bootstrap/xml/BootstrapParser.java
===================================================================
--- trunk/bootstrap/src/main/org/jboss/bootstrap/xml/BootstrapParser.java	                        (rev 0)
+++ trunk/bootstrap/src/main/org/jboss/bootstrap/xml/BootstrapParser.java	2008-05-20 14:24:34 UTC (rev 73524)
@@ -0,0 +1,63 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2008, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.bootstrap.xml;
+
+import java.net.URL;
+
+import org.jboss.bootstrap.BootstrapMetaData;
+import org.jboss.xb.binding.Unmarshaller;
+import org.jboss.xb.binding.UnmarshallerFactory;
+
+/**
+ * BootstrapParser.
+ * 
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 1.1 $
+ */
+public class BootstrapParser
+{
+   /**
+    * Parse bootstrap metadata from the given url
+    * 
+    * @param url the url
+    * @return the bootstrap metadata
+    */
+   public static BootstrapMetaData parse(URL url)
+   {
+      if (url == null)
+         throw new IllegalArgumentException("Null url");
+      
+      UnmarshallerFactory factory = UnmarshallerFactory.newInstance();
+      Unmarshaller unmarshaller = factory.newUnmarshaller();
+      try
+      {
+         BootstrapMetaData result = (BootstrapMetaData) unmarshaller.unmarshal(url.toString(), new BootstrapSchemaBinding());
+         if (result == null)
+            throw new IllegalStateException("The bootsrap xml " + url + " is not well formed");
+         return result;
+      }
+      catch (Exception e)
+      {
+         throw new RuntimeException("Error unmarshalling " + url, e);
+      }
+   }
+}

Added: trunk/bootstrap/src/main/org/jboss/bootstrap/xml/BootstrapSchemaBinding.java
===================================================================
--- trunk/bootstrap/src/main/org/jboss/bootstrap/xml/BootstrapSchemaBinding.java	                        (rev 0)
+++ trunk/bootstrap/src/main/org/jboss/bootstrap/xml/BootstrapSchemaBinding.java	2008-05-20 14:24:34 UTC (rev 73524)
@@ -0,0 +1,97 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.bootstrap.xml;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import javax.xml.namespace.QName;
+
+import org.jboss.bootstrap.BootstrapMetaData;
+import org.jboss.xb.binding.SimpleTypeBindings;
+import org.jboss.xb.binding.metadata.ClassMetaData;
+import org.jboss.xb.binding.sunday.unmarshalling.AllBinding;
+import org.jboss.xb.binding.sunday.unmarshalling.DefaultElementInterceptor;
+import org.jboss.xb.binding.sunday.unmarshalling.ElementBinding;
+import org.jboss.xb.binding.sunday.unmarshalling.ParticleBinding;
+import org.jboss.xb.binding.sunday.unmarshalling.SchemaBinding;
+import org.jboss.xb.binding.sunday.unmarshalling.TypeBinding;
+
+/**
+ * SchemaBinding for the bootstrap
+ *
+ * @author <a href="mailto:adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 71554 $
+ */
+public class BootstrapSchemaBinding extends SchemaBinding
+{
+   /** The bootstrap namespace */
+   public static final String NAMESPACE = "urn:jboss:bootstrap:1.0";
+   
+   /**
+    * Create a new BootstrapSchemaBinding.
+    */
+   public BootstrapSchemaBinding()
+   {
+      TypeBinding stringType = getType(SimpleTypeBindings.typeQName(String.class));
+      
+      setNamespaces(Collections.singleton(NAMESPACE));
+      setIgnoreLowLine(true);
+      setIgnoreUnresolvedFieldOrClass(false);
+      setReplacePropertyRefs(true);
+      setStrictSchema(true);
+      
+      // The bootstrap type
+      TypeBinding bootstrapType = new TypeBinding(new QName(NAMESPACE, "bootstrapType"));
+      bootstrapType.setSimple(false);
+      AllBinding bootstrapModel = new AllBinding(this);
+      ParticleBinding bootstrapParticle = new ParticleBinding(bootstrapModel, 1, 1, false);
+      bootstrapType.setParticle(bootstrapParticle);
+      ClassMetaData bootstrapClassMetaData = new ClassMetaData();
+      bootstrapClassMetaData.setImpl(BootstrapMetaData.class.getName());
+      bootstrapType.setClassMetaData(bootstrapClassMetaData);
+      
+      // Bootstrap can take some urls
+      ElementBinding urlElement = new ElementBinding(this, new QName(NAMESPACE, "url"), stringType);
+      ParticleBinding urlParticle = new ParticleBinding(urlElement, 0, 1, true);
+      bootstrapModel.addParticle(urlParticle);
+      bootstrapType.pushInterceptor(urlElement.getQName(), new DefaultElementInterceptor()
+      {
+         public void add(Object parent, Object child, QName name)
+         {
+            BootstrapMetaData bootstrap = (BootstrapMetaData) parent;
+            String url = (String) child;
+            List<String> bootstrapURLs = bootstrap.getBootstrapURLs();
+            if (bootstrapURLs == null)
+            {
+               bootstrapURLs = new ArrayList<String>();
+               bootstrap.setBootstrapURLs(bootstrapURLs);
+            }
+            bootstrapURLs.add(url);
+         }
+      });
+      
+      // The bootstrap root element
+      addElement(new ElementBinding(this, new QName(NAMESPACE, "bootstrap"), bootstrapType));
+   }
+}

Added: trunk/bootstrap/src/resources/schema/jboss-bootstrap_1_0.xsd
===================================================================
--- trunk/bootstrap/src/resources/schema/jboss-bootstrap_1_0.xsd	                        (rev 0)
+++ trunk/bootstrap/src/resources/schema/jboss-bootstrap_1_0.xsd	2008-05-20 14:24:34 UTC (rev 73524)
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
+            targetNamespace="urn:jboss:bootstrap:1.0"
+	         xmlns="urn:jboss:bootstrap:1.0"
+	         xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+	         elementFormDefault="qualified"
+	         attributeFormDefault="unqualified"
+	         version="1.0">
+
+  <xsd:annotation>
+    <xsd:documentation>
+      <![CDATA[
+ JBoss, Home of Professional Open Source
+ Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ by the @authors tag. See the copyright.txt in the distribution for a
+ full listing of individual contributors.
+
+ This is free software; you can redistribute it and/or modify it
+ under the terms of the GNU Lesser General Public License as
+ published by the Free Software Foundation; either version 2.1 of
+ the License, or (at your option) any later version.
+
+ This software is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this software; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+      ]]>
+    </xsd:documentation>
+  </xsd:annotation>
+
+  <xsd:element name="bootstrap" type="bootstrapType">
+    <xsd:annotation>
+      <xsd:documentation>
+         <![CDATA[
+         The bootstrap contains a list of file urls.
+         <bootstrap xmlns="urn:jboss:bootstrap:1.0">
+            <url>classloader.xml</url>
+            <url>aop.xml</url>
+            <url>jmx.xml</url>
+            <url>deployers.xml</url>
+            <url>profile-service.xml</url>
+         </bootstrap>
+         
+         The files referenced must be microcontainer deployments.
+         They are deployed in the order given. 
+         ]]>
+      </xsd:documentation>
+    </xsd:annotation>
+
+  </xsd:element>
+
+  <xsd:complexType name="bootstrapType">
+    <xsd:sequence minOccurs="1" maxOccurs="unbounded">
+      <xsd:element name="url" type="xsd:string">
+	      <xsd:annotation>
+	         <xsd:documentation>
+	            <![CDATA[
+                  The url is the name of the file.
+                  If it is not a fully qualified url, the
+                  file is referenced relative to the system property
+                  server.config.url which is
+                  $JBOSS_HOME/server/default/conf
+                  by default.
+
+                  e.g. a file relative to the config url
+                  <url>classloader.xml</url>
+
+                  e.g. an abolsulte url
+                  <url>file:///home/blah/classloader.xml</url>
+
+                  e.g. a file relative to a system property containing a url
+                  <url>${some.system.property.url}/classloader.xml</url>
+
+       	      ]]>
+      	  </xsd:documentation>
+	     </xsd:annotation>
+      </xsd:element>
+  </xsd:complexType>
+
+</xsd:schema>
+

Modified: trunk/build/build.xml
===================================================================
--- trunk/build/build.xml	2008-05-20 14:24:11 UTC (rev 73523)
+++ trunk/build/build.xml	2008-05-20 14:24:34 UTC (rev 73524)
@@ -755,7 +755,12 @@
       <fileset dir="${install.default.conf}">
         <include name="jndi.properties" />
         <include name="jboss-log4j.xml" />
-        <include name="bootstrap-beans.xml" />
+        <include name="bootstrap.xml" />
+        <include name="aop.xml" />
+        <include name="classloader.xml" />
+        <include name="deployers.xml" />
+        <include name="jmx.xml" />
+        <include name="profile-service.xml" />
         <include name="xmdesc/NamingBean-xmbean.xml" />
         <include name="xmdesc/NamingService-xmbean.xml" />
       </fileset>

Added: trunk/server/src/etc/conf/default/aop.xml
===================================================================
--- trunk/server/src/etc/conf/default/aop.xml	                        (rev 0)
+++ trunk/server/src/etc/conf/default/aop.xml	2008-05-20 14:24:34 UTC (rev 73524)
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+   AOP configuration
+-->
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+   <classloader><inject bean="aop-classloader:0.0.0"/></classloader>
+
+   <classloader name="aop-classloader" xmlns="urn:jboss:classloader:1.0" export-all="NON_EMPTY" import-all="true">
+      <root>${jboss.lib.url}/jboss-aop-deployer-jdk50.jar</root>
+      <root>${jboss.lib.url}/jboss-aop-jboss4-jdk50.jar</root>
+      <root>${jboss.lib.url}/jboss-aop-jboss5.jar</root>
+   </classloader>
+
+   <!-- Integration -->
+   <bean name="AOPClassLoaderScopingPolicy" class="org.jboss.aop.asintegration.jboss5.VFSClassLoaderScopingPolicy"/>
+   <bean name="AOPJBossIntegration" class="org.jboss.aop.asintegration.jboss5.JBoss5Integration">
+      <property name="scopingPolicy"><inject bean="AOPClassLoaderScopingPolicy"/></property>
+   </bean>
+
+   <!--
+      Valid values for the AspectManager bean for use with enableTransformer=true are:
+      * org.jboss.aop.deployers.AspectManagerJDK5 - works with the -javaagent:pluggable-instrumentor.jar switch
+      * org.jboss.aop.deployers.AspectManagerJRockit - works with JRockit and the -Xmanagement:class=org.jboss.aop.hook.JRockitPluggableClassPreProcessor switch
+   -->
+   <bean name="AspectManager" class="org.jboss.aop.deployers.AspectManagerJDK5">
+      <constructor>
+         <parameter><![CDATA[
+	         <aop>
+			      <aspect name="mainDeployer" class="org.jboss.profileservice.aop.MainDeployerAspect"/>
+					   <bind pointcut="execution(* $instanceof{org.jboss.deployers.spi.deployment.MainDeployer}->process(..))">
+				      <advice name="process" aspect="mainDeployer"/>
+				   </bind>
+					<aspect name="persist" class="org.jboss.profileservice.aop.PersistAspect"/>
+					<bind pointcut="execution(* $instanceof{org.jboss.managed.api.ManagedProperty}->setValue(..))">
+				      <advice name="setValue" aspect="persist"/>
+				   </bind>
+				</aop>]]>
+	      </parameter>
+      </constructor>
+
+      <property name="jbossIntegration"><inject bean="AOPJBossIntegration"/></property>
+
+      <property name="enableLoadtimeWeaving">false</property>
+      <!-- only relevant when EnableLoadtimeWeaving is true.
+           When transformer is on, every loaded class gets
+           transformed.  If AOP can't find the class, then it
+           throws an exception.  Sometimes, classes may not have
+           all the classes they reference.  So, the Suppressing
+           is needed.  (i.e. Jboss cache in the default configuration -->
+      <property name="suppressTransformationErrors">true</property>
+      <property name="prune">true</property>
+      <property name="include">org.jboss.test., org.jboss.injbossaop.</property>
+      <property name="exclude">org.jboss.</property>
+      <!-- This avoids instrumentation of hibernate cglib enhanced proxies
+      <property name="ignore">*$$EnhancerByCGLIB$$*</property> -->
+      <property name="optimized">true</property>
+      <property name="verbose">false</property>
+      <!--
+         Available choices for this attribute are:
+            org.jboss.aop.instrument.ClassicInstrumentor (default)
+            org.jboss.aop.instrument.GeneratedAdvisorInstrumentor
+       <property name="instrumentor">org.jboss.aop.instrument.ClassicInstrumentor</property>
+      -->
+   </bean>
+
+   <!-- Support for @JMX -->
+   <lifecycle-configure xmlns="urn:jboss:aop-beans:1.0"
+               name="JMXRegistrationAdvice"
+               class="org.jboss.system.microcontainer.jmx.ServiceControllerRegistrationLifecycleCallback"
+               classes="@org.jboss.aop.microcontainer.aspects.jmx.JMX"
+               manager-bean="AspectManager"
+               manager-property="aspectManager">
+      <property name="serviceController"><inject bean="JMXKernel" property="serviceController"/></property>
+   </lifecycle-configure>
+   <lifecycle-create xmlns="urn:jboss:aop-beans:1.0"
+               name="JMXCreateDestroyAdvice"
+               class="org.jboss.system.microcontainer.jmx.ServiceControllerCreateDestroyLifecycleCallback"
+               classes="@org.jboss.aop.microcontainer.aspects.jmx.JMX"
+               manager-bean="AspectManager"
+               manager-property="aspectManager">
+      <property name="serviceController"><inject bean="JMXKernel" property="serviceController"/></property>
+   </lifecycle-create>
+   <lifecycle-install xmlns="urn:jboss:aop-beans:1.0"
+               name="JMXStartStopAdvice"
+               class="org.jboss.system.microcontainer.jmx.ServiceControllerStartStopLifecycleCallback"
+               classes="@org.jboss.aop.microcontainer.aspects.jmx.JMX"
+               manager-bean="AspectManager"
+               manager-property="aspectManager">
+      <property name="serviceController"><inject bean="JMXKernel" property="serviceController"/></property>
+   </lifecycle-install>
+
+	<!-- MBean for making sure that the underlying AspectManagerService gets registered in JMX -->
+	<bean name="AspectManagerJMXRegistrar" class="org.jboss.aop.deployers.AspectManagerJMXRegistrar">
+	   <property name="mbeanServer"><inject bean="JMXKernel" property="mbeanServer"/></property>
+	   <property name="aspectManager"><inject bean="AspectManager"/></property>
+	</bean>
+
+</deployment>

Deleted: trunk/server/src/etc/conf/default/bootstrap-beans.xml
===================================================================
--- trunk/server/src/etc/conf/default/bootstrap-beans.xml	2008-05-20 14:24:11 UTC (rev 73523)
+++ trunk/server/src/etc/conf/default/bootstrap-beans.xml	2008-05-20 14:24:34 UTC (rev 73524)
@@ -1,383 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-   The bootstrap of the server. This should only have the minimum
-   needed to bootstrap the mc kernel and profile service.
-   $Id:$
--->
-<deployment xmlns="urn:jboss:bean-deployer:2.0">
-
-   <!-- All beans use the bootstrap classloader -->
-   <classloader><inject bean="BootstrapClassLoader"/></classloader>
-
-   <!-- TODO Should split this file up and use the new classloader -->
-   <bean name="BootstrapClassLoader" class="org.jboss.system.NoAnnotationURLClassLoader">
-      <classloader><null/></classloader>
-      <constructor factoryClass="org.jboss.system.NoAnnotationURLClassLoader" factoryMethod="createClassLoader">
-        <parameter>
-           <array elementClass="java.net.URL">
-              <!-- Deployers -->
-              <value>${jboss.lib.url}/jboss-deployers-core-spi.jar</value>
-              <value>${jboss.lib.url}/jboss-deployers-core.jar</value>
-              <value>${jboss.lib.url}/jboss-deployers-client-spi.jar</value>
-              <value>${jboss.lib.url}/jboss-deployers-client.jar</value>
-              <value>${jboss.lib.url}/jboss-deployers-structure-spi.jar</value>
-              <value>${jboss.lib.url}/jboss-deployers-spi.jar</value>
-              <value>${jboss.lib.url}/jboss-deployers-impl.jar</value>
-              <value>${jboss.lib.url}/jboss-deployers-vfs-spi.jar</value>
-              <value>${jboss.lib.url}/jboss-deployers-vfs.jar</value>
-              <!-- System -->
-              <value>${jboss.lib.url}/jboss-system.jar</value>
-              <!-- JMX -->
-              <value>${jboss.lib.url}/jboss-j2se.jar</value>
-              <value>${jboss.lib.url}/jboss-mbeans.jar</value>
-              <value>${jboss.lib.url}/jboss-jmx.jar</value>
-              <value>${jboss.lib.url}/jboss-system-jmx.jar</value>
-              <value>${jboss.lib.url}/dom4j.jar</value>
-              <!-- AOP -->
-              <value>${jboss.lib.url}/jboss-aop-deployer-jdk50.jar</value>
-              <value>${jboss.lib.url}/jboss-aop-jboss4-jdk50.jar</value>
-              <value>${jboss.lib.url}/jboss-aop-jboss5.jar</value>
-              <!-- JAXB - shouldn't this be in endorsed? -->
-              <value>${jboss.lib.url}/activation.jar</value>
-              <value>${jboss.lib.url}/jaxb-impl.jar</value>
-              <value>${jboss.lib.url}/stax-api.jar</value>
-              <value>${jboss.lib.url}/wstx.jar</value>
-           </array>
-        </parameter>
-      </constructor>
-   </bean>
-
-   <!-- The basic profile service which relies on vfs scanners
-   to determine the profile deployments. This version does not
-   support the full ProfileService spi.
-   -->
-   <bean name="ProfileService" class="org.jboss.system.server.profileservice.basic.ProfileServiceImpl">
-      <constructor>
-         <parameter>${jboss.server.name}</parameter>
-      </constructor>
-      <property name="profileRoot">${jboss.server.home.dir}</property>
-   </bean>
-
-   <bean name="ProfileServiceBootstrap" class="org.jboss.system.server.profileservice.ProfileServiceBootstrap">
-      <property name="kernel"><inject bean="jboss.kernel:service=Kernel"/></property>
-   </bean>
-
-   <!-- The legacy JMX kernel -->
-   <bean name="JMXKernel" class="org.jboss.system.server.jmx.JMXKernel">
-      <property name="kernel"><inject bean="jboss.kernel:service=Kernel"/></property>
-      <property name="serverImpl"><inject bean="JBossServer"/></property>
-      <property name="oldClassLoader">false</property>
-   </bean>
-
-
-   <!-- Repository classloader -->
-   <!--bean name="AOPClassLoaderScopingPolicy" class="org.jboss.aop.asintegration.jboss4.RepositoryClassLoaderScopingPolicy"/-->
-   <!-- VFS ClassLoader -->
-   <bean name="AOPClassLoaderScopingPolicy" class="org.jboss.aop.asintegration.jboss5.VFSClassLoaderScopingPolicy"/>
-
-   <!-- Integration -->
-   <bean name="AOPJBossIntegration" class="org.jboss.aop.asintegration.jboss5.JBoss5Integration">
-      <property name="scopingPolicy"><inject bean="AOPClassLoaderScopingPolicy"/></property>
-   </bean>
-   <!--
-      Valid values for the AspectManager bean for use with enableTransformer=true are:
-      * org.jboss.aop.deployers.AspectManagerJDK5 - works with the -javaagent:pluggable-instrumentor.jar switch
-      * org.jboss.aop.deployers.AspectManagerJRockit - works with JRockit and the -Xmanagement:class=org.jboss.aop.hook.JRockitPluggableClassPreProcessor switch
-   -->
-   <bean name="AspectManager" class="org.jboss.aop.deployers.AspectManagerJDK5">
-      <constructor>
-         <parameter><![CDATA[
-	         <aop>
-			      <aspect name="mainDeployer" class="org.jboss.profileservice.aop.MainDeployerAspect"/>
-					   <bind pointcut="execution(* $instanceof{org.jboss.deployers.spi.deployment.MainDeployer}->process(..))">
-				      <advice name="process" aspect="mainDeployer"/>
-				   </bind>
-					<aspect name="persist" class="org.jboss.profileservice.aop.PersistAspect"/>
-					<bind pointcut="execution(* $instanceof{org.jboss.managed.api.ManagedProperty}->setValue(..))">
-				      <advice name="setValue" aspect="persist"/>
-				   </bind>
-				</aop>]]>
-	      </parameter>
-      </constructor>
-
-      <property name="jbossIntegration"><inject bean="AOPJBossIntegration"/></property>
-
-      <property name="enableLoadtimeWeaving">false</property>
-      <!-- only relevant when EnableLoadtimeWeaving is true.
-           When transformer is on, every loaded class gets
-           transformed.  If AOP can't find the class, then it
-           throws an exception.  Sometimes, classes may not have
-           all the classes they reference.  So, the Suppressing
-           is needed.  (i.e. Jboss cache in the default configuration -->
-      <property name="suppressTransformationErrors">true</property>
-      <property name="prune">true</property>
-      <property name="include">org.jboss.test., org.jboss.injbossaop.</property>
-      <property name="exclude">org.jboss.</property>
-      <!-- This avoids instrumentation of hibernate cglib enhanced proxies
-      <property name="ignore">*$$EnhancerByCGLIB$$*</property> -->
-      <property name="optimized">true</property>
-      <property name="verbose">false</property>
-      <!--
-         Available choices for this attribute are:
-            org.jboss.aop.instrument.ClassicInstrumentor (default)
-            org.jboss.aop.instrument.GeneratedAdvisorInstrumentor
-       <property name="instrumentor">org.jboss.aop.instrument.ClassicInstrumentor</property>
-      -->
-   </bean>
-
-   <!-- Add the JMX -->
-   <lifecycle-configure xmlns="urn:jboss:aop-beans:1.0"
-               name="JMXRegistrationAdvice"
-               class="org.jboss.system.microcontainer.jmx.ServiceControllerRegistrationLifecycleCallback"
-               classes="@org.jboss.aop.microcontainer.aspects.jmx.JMX"
-               manager-bean="AspectManager"
-               manager-property="aspectManager">
-      <property name="serviceController"><inject bean="JMXKernel" property="serviceController"/></property>
-   </lifecycle-configure>
-   <lifecycle-create xmlns="urn:jboss:aop-beans:1.0"
-               name="JMXCreateDestroyAdvice"
-               class="org.jboss.system.microcontainer.jmx.ServiceControllerCreateDestroyLifecycleCallback"
-               classes="@org.jboss.aop.microcontainer.aspects.jmx.JMX"
-               manager-bean="AspectManager"
-               manager-property="aspectManager">
-      <property name="serviceController"><inject bean="JMXKernel" property="serviceController"/></property>
-   </lifecycle-create>
-   <lifecycle-install xmlns="urn:jboss:aop-beans:1.0"
-               name="JMXStartStopAdvice"
-               class="org.jboss.system.microcontainer.jmx.ServiceControllerStartStopLifecycleCallback"
-               classes="@org.jboss.aop.microcontainer.aspects.jmx.JMX"
-               manager-bean="AspectManager"
-               manager-property="aspectManager">
-      <property name="serviceController"><inject bean="JMXKernel" property="serviceController"/></property>
-   </lifecycle-install>
-
-   <!-- 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>
-      <property name="mgtDeploymentCreator"><inject bean="ManagedDeploymentCreator"/></property>
-   </bean>
-
-   <!-- The ManagedDeploymentCreator implementation -->
-   <bean name="ManagedDeploymentCreator" class="org.jboss.deployers.plugins.managed.DefaultManagedDeploymentCreator" />
-
-   <!-- 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>
-
-   <!-- A declared structure descriptor deployer -->
-   <bean name="DeclaredStructure" class="org.jboss.deployers.vfs.plugins.structure.explicit.DeclaredStructure"></bean>
-
-   <!-- WAR Structure -->
-   <bean name="WARStructure" class="org.jboss.deployers.vfs.plugins.structure.war.WARStructure">
-       <property name="webInfLibFilter">
-          <!-- We accept all .jar files in WEB-INF/lib -->
-          <bean name="WebInfLibFilter" class="org.jboss.virtual.plugins.vfs.helpers.SuffixMatchFilter">
-             <constructor><parameter class="java.lang.String">.jar</parameter></constructor>
-          </bean>
-       </property>
-    </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>
-
-    <!-- File Structure -->
-    <bean name="FileStructure" class="org.jboss.deployers.vfs.plugins.structure.file.FileStructure">
-       <!-- Unless specified the default list of suffixes is -service.xml, -beans.xml, -ds.xml, -aop.xml -->
-       <constructor>
-          <parameter>
-             <set elementClass="java.lang.String">
-                <value>-service.xml</value>
-                <value>-beans.xml</value>
-                <value>-ds.xml</value>
-                <value>-aop.xml</value>
-             </set>
-          </parameter>
-       </constructor>
-    </bean>
-
-    <!-- AOP deployment -->
-    <!-- FIXME Replace with org.jboss.aop.deployers.AspectAppParsingDeployer once AOP is released -->
-    <bean name="AspectAppParsingDeployer" class="org.jboss.aop.asintegration.jboss5.AspectAppParsingDeployer"/>
-    <bean name="AspectDeployer" class="org.jboss.aop.deployers.AspectDeployer">
-       <property name="type">aop</property>
-       <property name="aspectManager"><inject bean="AspectManager" property="aspectManager"/></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>
-
-   <!-- JMX Deployment -->
-   <bean name="SARDeployer" class="org.jboss.system.deployers.SARDeployer">
-      <property name="type">sar</property>
-   </bean>
-   <bean name="ServiceDeploymentDeployer" class="org.jboss.system.deployers.ServiceDeploymentDeployer">
-       <property name="type">sar</property>
-   </bean>
-   <bean name="ServiceDeployer" class="org.jboss.system.deployers.ServiceDeployer">
-       <constructor><parameter><inject bean="JMXKernel" property="serviceController"/></parameter></constructor>
-       <property name="type">sar</property>
-   </bean>
-
-   <!-- UnifiedClassLoader -->
-   <!--bean name="ServiceClassLoaderDeployer" class="org.jboss.system.deployers.ServiceClassLoaderDeployer">
-      <constructor><parameter><inject bean="JMXKernel" property="serviceController"/></parameter></constructor>
-   </bean-->
-
-   <!-- VFS ClassLoader -->
-   <bean name="ClassLoaderSystem" class="org.jboss.classloader.spi.ClassLoaderSystem">
-      <constructor factoryClass="org.jboss.classloader.spi.ClassLoaderSystem" factoryMethod="getInstance"/>
-   </bean>
-   <bean name="ClassLoading" class="org.jboss.classloading.spi.dependency.ClassLoading">
-      <incallback method="addModule" state="Configured"/>
-      <uncallback method="removeModule" state="Configured"/>
-   </bean>
-   <!-- FIXME Remove this -->
-   <bean name="HackClassLoaderMetaDataDeployer" class="org.jboss.system.deployers.HackClassloaderMetaDataDeployer"/>
-   <bean name="ClassLoadingMetaDataParser" class="org.jboss.deployers.vfs.spi.deployer.SchemaResolverDeployer">
-      <constructor>
-         <parameter>org.jboss.classloading.spi.metadata.ClassLoadingMetaData</parameter>
-      </constructor>
-      <property name="name">jboss-classloading.xml</property>
-      <property name="buildManagedObject">true</property>
-   </bean>
-   <bean name="ClassLoadingDefaultDeployer" class="org.jboss.deployers.plugins.classloading.ClassLoadingDefaultDeployer">
-      <property name="defaultMetaData">
-         <classloading xmlns="urn:jboss:classloading:1.0" export-all="NON_EMPTY" import-all="true"/>
-      </property>
-   </bean>
-   <bean name="InMemoryClassesDeployer" class="org.jboss.deployers.vfs.plugins.classloader.InMemoryClassesDeployer"/>
-   <bean name="ClassLoaderDescribeDeployer" class="org.jboss.deployers.vfs.plugins.classloader.VFSClassLoaderDescribeDeployer">
-      <property name="classLoading"><inject bean="ClassLoading"/></property>
-   </bean>
-   <bean name="ClassLoaderDeployer" class="org.jboss.deployers.plugins.classloading.AbstractLevelClassLoaderSystemDeployer">
-      <property name="classLoading"><inject bean="ClassLoading"/></property>
-      <property name="system"><inject bean="ClassLoaderSystem"/></property>
-   </bean>
-
-	<!-- MBean for making sure that the underlying AspectManagerService gets registered in JMX -->
-	<bean name="AspectManagerJMXRegistrar" class="org.jboss.aop.deployers.AspectManagerJMXRegistrar">
-	   <property name="mbeanServer"><inject bean="JMXKernel" property="mbeanServer"/></property>
-	   <property name="aspectManager"><inject bean="AspectManager"/></property>
-	</bean>
-
-   <!-- A filter for excluding files from the scanner -->
-   <bean name="DeploymentFilter" class="org.jboss.virtual.plugins.vfs.helpers.ExtensibleFilter">
-      <!-- Files starting with theses strings are ignored -->
-      <property name="prefixes">#,%,\,,.,_$</property>
-      <!-- Files ending with theses strings are ignored -->
-      <property name="suffixes">#,$,%,~,\,v,.BAK,.bak,.old,.orig,.tmp,.rej,.sh</property>
-      <!-- Files matching with theses strings are ignored -->
-      <property name="matches">.make.state,.nse_depinfo,CVS,CVS.admin,RCS,RCSLOG,SCCS,TAGS,core,tags</property>
-   </bean>
-
-   <!-- Scan for bootstraps -->
-   <bean name="VFSBootstrapScanner" class="org.jboss.system.server.profileservice.VFSBootstrapScannerImpl">
-      <property name="profileService"><inject bean="ProfileService"/></property>
-      <property name="filterInstance"><inject bean="DeploymentFilter"/></property>
-      <property name="URIList">
-         <list elementClass="java.net.URI">
-            <!-- Legacy static conf/jboss-service.xml -->
-            <value>${jboss.server.home.url}conf/jboss-service.xml</value>
-         </list>
-      </property>
-   </bean>
-
-   <!-- Scan for deployers -->
-   <bean name="VFSDeployerScanner" class="org.jboss.system.server.profileservice.VFSDeployerScannerImpl">
-      <property name="profileService"><inject bean="ProfileService"/></property>
-      <property name="filterInstance"><inject bean="DeploymentFilter"/></property>
-      <property name="URIList">
-         <list elementClass="java.net.URI">
-            <!-- Directory for deployers -->
-            <value>${jboss.server.home.url}deployers/</value>
-         </list>
-      </property>
-   </bean>
-
-   <!-- Scan for applications -->
-   <bean name="VFSDeploymentScanner" class="org.jboss.system.server.profileservice.VFSDeploymentScannerImpl">
-      <property name="profileService"><inject bean="ProfileService"/></property>
-      <property name="filterInstance"><inject bean="DeploymentFilter"/></property>
-      <property name="URIList">
-         <list elementClass="java.net.URI">
-            <!-- Standard hot deployment directory -->
-            <value>${jboss.server.home.url}deploy/</value>
-         </list>
-      </property>
-   </bean>
-
-   <!-- Hotdeployment of applications -->
-   <bean name="HDScanner"
-      class="org.jboss.system.server.profileservice.hotdeploy.HDScanner">
-      <property name="mainDeployer"><inject bean="MainDeployer"/></property>
-      <!-- Workaround for JBMICROCONT-176
-      -->
-      <property name="controller"><inject bean="jboss.kernel:service=KernelController"/></property>
-      <!-- Broken due to JBMICROCONT-176
-         <property name="controller"><inject bean="jboss.kernel:service=Kernel" property="controller"/></property>
-      -->
-      <property name="profileService"><inject bean="ProfileService"/></property>
-      <property name="scanPeriod">5000</property>
-      <property name="scanThreadName">HDScanner</property>
-   </bean>
-</deployment>

Deleted: trunk/server/src/etc/conf/default/bootstrap-repo-beans.xml
===================================================================
--- trunk/server/src/etc/conf/default/bootstrap-repo-beans.xml	2008-05-20 14:24:11 UTC (rev 73523)
+++ trunk/server/src/etc/conf/default/bootstrap-repo-beans.xml	2008-05-20 14:24:34 UTC (rev 73524)
@@ -1,342 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-    The bootstrap of the server. This should only have the minimum
-    needed to bootstrap the mc kernel and profile service.
-    $Id$
--->
-<deployment xmlns="urn:jboss:bean-deployer:2.0">
-
-   <!-- All beans use the bootstrap classloader -->
-   <classloader><inject bean="BootstrapClassLoader"/></classloader>
-
-   <!-- TODO Should split this file up and use the new classloader -->
-   <bean name="BootstrapClassLoader" class="org.jboss.system.NoAnnotationURLClassLoader">
-      <classloader><null/></classloader>
-      <constructor factoryClass="org.jboss.system.NoAnnotationURLClassLoader" factoryMethod="createClassLoader">
-        <parameter>
-           <array elementClass="java.net.URL">
-              <!-- Deployers -->
-              <value>${jboss.lib.url}/jboss-deployers-core-spi.jar</value>
-              <value>${jboss.lib.url}/jboss-deployers-core.jar</value>
-              <value>${jboss.lib.url}/jboss-deployers-client-spi.jar</value>
-              <value>${jboss.lib.url}/jboss-deployers-client.jar</value>
-              <value>${jboss.lib.url}/jboss-deployers-structure-spi.jar</value>
-              <value>${jboss.lib.url}/jboss-deployers-spi.jar</value>
-              <value>${jboss.lib.url}/jboss-deployers-impl.jar</value>
-              <value>${jboss.lib.url}/jboss-deployers-vfs-spi.jar</value>
-              <value>${jboss.lib.url}/jboss-deployers-vfs.jar</value>
-              <!-- System -->
-              <value>${jboss.lib.url}/jboss-system.jar</value>
-              <!-- JMX -->
-              <value>${jboss.lib.url}/jboss-j2se.jar</value>
-              <value>${jboss.lib.url}/jboss-mbeans.jar</value>
-              <value>${jboss.lib.url}/jboss-jmx.jar</value>
-              <value>${jboss.lib.url}/jboss-system-jmx.jar</value>
-              <value>${jboss.lib.url}/dom4j.jar</value>
-              <!-- AOP -->
-              <value>${jboss.lib.url}/jboss-aop-deployer-jdk50.jar</value>
-              <value>${jboss.lib.url}/jboss-aop-jboss4-jdk50.jar</value>
-              <value>${jboss.lib.url}/jboss-aop-jboss5.jar</value>
-              <!-- JAXB - shouldn't this be in endorsed? -->
-              <value>${jboss.lib.url}/activation.jar</value>
-              <value>${jboss.lib.url}/jaxb-impl.jar</value>
-              <value>${jboss.lib.url}/stax-api.jar</value>
-              <value>${jboss.lib.url}/wstx.jar</value>
-           </array>
-        </parameter>
-      </constructor>
-   </bean>
-    <!--
-        Valid values for the AspectManager bean for use with enableTransformer=true are:
-        * org.jboss.aop.deployers.AspectManagerJDK5 - works with the -javaagent:pluggable-instrumentor.jar switch
-        * org.jboss.aop.deployers.AspectManagerJRockit - works with JRockit and the -Xmanagement:class=org.jboss.aop.hook.JRockitPluggableClassPreProcessor switch
-    -->
-    <bean name="AspectManager" class="org.jboss.aop.deployers.AspectManagerJDK5">
-        <constructor>
-            <parameter><![CDATA[
-	         <aop>
-				<aspect name="deployers" class="org.jboss.profileservice.aop.DeployerAspects"/>
-				<bind pointcut="execution(* $instanceof{org.jboss.deployers.spi.deployer.Deployer}->prepareDeploy(..))">
-					<advice name="invoke" aspect="deployers"/>
-				</bind>
-				<bind pointcut="execution(* $instanceof{org.jboss.deployers.spi.deployer.Deployer}->prepareUndeploy(..))">
-					<advice name="invoke" aspect="deployers"/>
-				</bind>
-				<bind pointcut="execution(* $instanceof{org.jboss.deployers.spi.deployer.Deployer}->commitDeploy(..))">
-					<advice name="invoke" aspect="deployers"/>
-				</bind>
-				<bind pointcut="execution(* $instanceof{org.jboss.deployers.spi.deployer.Deployer}->commitUndeploy(..))">
-					<advice name="invoke" aspect="deployers"/>
-				</bind>
-            
-				<aspect name="attachments" class="org.jboss.profileservice.aop.TrackingAdvice"/>
-				<bind pointcut="execution(* $instanceof{org.jboss.deployers.spi.attachments.Attachments}->addAttachment(..))">
-					<advice name="addAttachment" aspect="attachments"/>
-				</bind>
-				</aop>]]>
-            </parameter>
-        </constructor>
-      <property name="enableLoadtimeWeaving">false</property>
-      <!-- only relevant when EnableLoadtimeWeaving is true.
-           When transformer is on, every loaded class gets
-           transformed.  If AOP can't find the class, then it
-           throws an exception.  Sometimes, classes may not have
-           all the classes they reference.  So, the Suppressing
-           is needed.  (i.e. Jboss cache in the default configuration -->
-      <property name="suppressTransformationErrors">true</property>
-      <property name="prune">true</property>
-      <property name="include">org.jboss.test., org.jboss.injbossaop., org.jboss.deployers.</property>
-      <property name="exclude">org.jboss.</property>
-      <!-- This avoids instrumentation of hibernate cglib enhanced proxies
-      <property name="ignore">*$$EnhancerByCGLIB$$*</property> -->
-      <property name="optimized">true</property>
-      <property name="verbose">false</property>
-      <!--
-         Available choices for this attribute are:
-            org.jboss.aop.instrument.ClassicInstrumentor (default)
-            org.jboss.aop.instrument.GeneratedAdvisorInstrumentor
-       <property name="instrumentor">org.jboss.aop.instrument.ClassicInstrumentor</property>
-      -->
-    </bean>
-
-    
-    <!-- The file repository profile service which provides full
-        support ProfileService spi.
-    -->
-    <bean name="ProfileService" class="org.jboss.system.server.profileservice.repository.ProfileServiceImpl">
-        <constructor>
-            <parameter>${jboss.server.name}</parameter>
-        </constructor>
-        <property name="profileRepository"><inject bean="FileProfileRepository"/></property>
-    </bean>
-    <bean name="FileProfileRepository" class="org.jboss.system.server.profileservice.repository.FileProfileRepository">
-        <property name="storeRoot">${jboss.server.base.dir}</property>
-        <property name="repositoryFactory"><inject bean="SerializableDeploymentRepositoryFactory"/></property>
-    </bean>
-   <bean name="SerializableDeploymentRepositoryFactory" class="org.jboss.system.server.profileservice.repository.SerializableDeploymentRepositoryFactory">
-      <property name="storeRoot">${jboss.server.base.dir}</property>
-      <property name="applicationURIs">
-         <array elementClass="java.net.URI">
-            <value>${jboss.server.home.url}/deploy</value>
-         </array>
-      </property>
-      <property name="serializer"><inject bean="JavaSerializationAttachmentsSerializer"/></property>
-   </bean>
-   <bean name="JavaSerializationAttachmentsSerializer" class="org.jboss.system.server.profileservice.repository.JavaSerializationAttachmentsSerializer">
-        <property name="attachmentsStoreDir">${jboss.server.home.dir}/attachments</property>
-    </bean>
-
-   <bean name="ProfileServiceBootstrap" class="org.jboss.system.server.profileservice.ProfileServiceBootstrap">
-      <property name="kernel"><inject bean="jboss.kernel:service=Kernel"/></property>
-   </bean>
-
-   <!-- The legacy JMX kernel -->
-   <bean name="JMXKernel" class="org.jboss.system.server.jmx.JMXKernel">
-      <property name="kernel"><inject bean="jboss.kernel:service=Kernel"/></property>
-      <property name="serverImpl"><inject bean="JBossServer"/></property>
-      <property name="oldClassLoader">false</property>
-   </bean>
-
-   <!-- Add the JMX -->
-   <lifecycle-configure xmlns="urn:jboss:aop-beans:1.0"
-               name="JMXRegistrationAdvice"
-               class="org.jboss.system.microcontainer.jmx.ServiceControllerRegistrationLifecycleCallback"
-               classes="@org.jboss.aop.microcontainer.aspects.jmx.JMX"
-               manager-bean="AspectManager"
-               manager-property="aspectManager">
-      <property name="serviceController"><inject bean="JMXKernel" property="serviceController"/></property>
-   </lifecycle-configure>
-   <lifecycle-create xmlns="urn:jboss:aop-beans:1.0"
-               name="JMXCreateDestroyAdvice"
-               class="org.jboss.system.microcontainer.jmx.ServiceControllerCreateDestroyLifecycleCallback"
-               classes="@org.jboss.aop.microcontainer.aspects.jmx.JMX"
-               manager-bean="AspectManager"
-               manager-property="aspectManager">
-      <property name="serviceController"><inject bean="JMXKernel" property="serviceController"/></property>
-   </lifecycle-create>
-   <lifecycle-install xmlns="urn:jboss:aop-beans:1.0"
-               name="JMXStartStopAdvice"
-               class="org.jboss.system.microcontainer.jmx.ServiceControllerStartStopLifecycleCallback"
-               classes="@org.jboss.aop.microcontainer.aspects.jmx.JMX"
-               manager-bean="AspectManager"
-               manager-property="aspectManager">
-      <property name="serviceController"><inject bean="JMXKernel" property="serviceController"/></property>
-   </lifecycle-install>
-
-   <!-- 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>
-      <property name="mgtDeploymentCreator"><inject bean="ManagedDeploymentCreator"/></property>
-   </bean>
-
-   <!-- The ManagedDeploymentCreator implementation -->
-   <bean name="ManagedDeploymentCreator" class="org.jboss.deployers.plugins.managed.DefaultManagedDeploymentCreator" />
-
-   <!-- 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>
-
-   <!-- A declared structure descriptor deployer -->
-   <bean name="DeclaredStructure" class="org.jboss.deployers.vfs.plugins.structure.explicit.DeclaredStructure"></bean>
-
-   <!-- WAR Structure -->
-   <bean name="WARStructure" class="org.jboss.deployers.vfs.plugins.structure.war.WARStructure">
-       <property name="webInfLibFilter">
-          <!-- We accept all .jar files in WEB-INF/lib -->
-          <bean name="WebInfLibFilter" class="org.jboss.virtual.plugins.vfs.helpers.SuffixMatchFilter">
-             <constructor><parameter class="java.lang.String">.jar</parameter></constructor>
-          </bean>
-       </property>
-    </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>
-
-    <!-- File Structure -->
-    <bean name="FileStructure" class="org.jboss.deployers.vfs.plugins.structure.file.FileStructure">
-       <!-- Unless specified the default list of suffixes is -service.xml, -beans.xml, -ds.xml, -aop.xml -->
-       <constructor>
-          <parameter>
-             <set elementClass="java.lang.String">
-                <value>-service.xml</value>
-                <value>-beans.xml</value>
-                <value>-ds.xml</value>
-                <value>-aop.xml</value>
-             </set>
-          </parameter>
-       </constructor>
-    </bean>
-
-    <!-- AOP deployment -->
-    <bean name="AspectDeployer" class="org.jboss.aop.deployers.AspectDeployer">
-       <property name="type">aop</property>
-       <property name="aspectManager"><inject bean="AspectManager" property="aspectManager"/></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>
-
-   <!-- JMX Deployment -->
-   <bean name="ServiceMetaDataICF" class="org.jboss.system.deployers.managed.ServiceMetaDataICF">
-      <property name="mbeanServer"><inject bean="JMXKernel" property="mbeanServer"/></property>
-   </bean>
-   <bean name="SARDeployer" class="org.jboss.system.deployers.SARDeployer">
-      <property name="type">sar</property>
-      <property name="icf"><inject bean="ServiceMetaDataICF"/></property>
-   </bean>
-   <bean name="ServiceDeploymentDeployer" class="org.jboss.system.deployers.ServiceDeploymentDeployer">
-       <property name="type">sar</property>
-   </bean>
-   <bean name="ServiceDeployer" class="org.jboss.system.deployers.ServiceDeployer">
-       <constructor><parameter><inject bean="JMXKernel" property="serviceController"/></parameter></constructor>
-       <property name="type">sar</property>
-   </bean>
-
-   <!-- UnifiedClassLoader -->
-   <!--<bean name="ServiceClassLoaderDeployer" class="org.jboss.system.deployers.ServiceClassLoaderDeployer">
-      <constructor><parameter><inject bean="JMXKernel" property="serviceController"/></parameter></constructor>
-   </bean>-->
-
-   <!-- VFS ClassLoader -->
-   <!-- VFS ClassLoader -->
-   <bean name="ClassLoaderSystem" class="org.jboss.classloader.spi.ClassLoaderSystem">
-      <constructor factoryClass="org.jboss.classloader.spi.ClassLoaderSystem" factoryMethod="getInstance"/>
-   </bean>
-   <bean name="ClassLoading" class="org.jboss.classloading.spi.dependency.ClassLoading">
-      <incallback method="addModule" state="Configured"/>
-      <uncallback method="removeModule" state="Configured"/>
-   </bean>
-   <!-- FIXME Remove this -->
-   <bean name="HackClassLoaderMetaDataDeployer" class="org.jboss.system.deployers.HackClassloaderMetaDataDeployer"/>
-   <bean name="ClassLoadingMetaDataParser" class="org.jboss.deployers.vfs.spi.deployer.SchemaResolverDeployer">
-      <constructor>
-         <parameter>org.jboss.classloading.spi.metadata.ClassLoadingMetaData</parameter>
-      </constructor>
-      <property name="name">jboss-classloading.xml</property>
-      <property name="buildManagedObject">true</property>
-   </bean>
-   <bean name="ClassLoadingDefaultDeployer" class="org.jboss.deployers.plugins.classloading.ClassLoadingDefaultDeployer">
-      <property name="defaultMetaData">
-         <classloading xmlns="urn:jboss:classloading:1.0" export-all="NON_EMPTY" import-all="true"/>
-      </property>
-   </bean>
-   <bean name="InMemoryClassesDeployer" class="org.jboss.deployers.vfs.plugins.classloader.InMemoryClassesDeployer"/>
-   <bean name="ClassLoaderDescribeDeployer" class="org.jboss.deployers.vfs.plugins.classloader.VFSClassLoaderDescribeDeployer">
-      <property name="classLoading"><inject bean="ClassLoading"/></property>
-   </bean>
-   <bean name="ClassLoaderDeployer" class="org.jboss.deployers.plugins.classloading.AbstractLevelClassLoaderSystemDeployer">
-      <property name="classLoading"><inject bean="ClassLoading"/></property>
-      <property name="system"><inject bean="ClassLoaderSystem"/></property>
-   </bean>
-
-   <!-- A filter for excluding files from the scanner -->
-   <bean name="DeploymentFilter" class="org.jboss.virtual.plugins.vfs.helpers.ExtensibleFilter">
-      <!-- Files starting with theses strings are ignored -->
-      <property name="prefixes">#,%,\,,.,_$</property>
-      <!-- Files ending with theses strings are ignored -->
-      <property name="suffixes">#,$,%,~,\,v,.BAK,.bak,.old,.orig,.tmp,.rej,.sh</property>
-      <!-- Files matching with theses strings are ignored -->
-      <property name="matches">.make.state,.nse_depinfo,CVS,CVS.admin,RCS,RCSLOG,SCCS,TAGS,core,tags</property>
-   </bean>
-   
-</deployment>

Added: trunk/server/src/etc/conf/default/bootstrap-repo.xml
===================================================================
--- trunk/server/src/etc/conf/default/bootstrap-repo.xml	                        (rev 0)
+++ trunk/server/src/etc/conf/default/bootstrap-repo.xml	2008-05-20 14:24:34 UTC (rev 73524)
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+   The list of configurations used to bootstrap the server
+   using a repository for the profile service
+-->
+<bootstrap xmlns="urn:jboss:bootstrap:1.0">
+
+   <url>classloader.xml</url>
+   <url>aop.xml</url>
+   <url>jmx.xml</url>
+   <url>deployers.xml</url>
+   <url>profile-service-repository.xml</url>
+
+</bootstrap>

Added: trunk/server/src/etc/conf/default/bootstrap.xml
===================================================================
--- trunk/server/src/etc/conf/default/bootstrap.xml	                        (rev 0)
+++ trunk/server/src/etc/conf/default/bootstrap.xml	2008-05-20 14:24:34 UTC (rev 73524)
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+   The list of configurations used to bootstrap the server
+   using hot deployment for the profile service
+-->
+<bootstrap xmlns="urn:jboss:bootstrap:1.0">
+
+   <url>classloader.xml</url>
+   <url>aop.xml</url>
+   <url>jmx.xml</url>
+   <url>deployers.xml</url>
+   <url>profile-service.xml</url>
+
+</bootstrap>

Added: trunk/server/src/etc/conf/default/classloader.xml
===================================================================
--- trunk/server/src/etc/conf/default/classloader.xml	                        (rev 0)
+++ trunk/server/src/etc/conf/default/classloader.xml	2008-05-20 14:24:34 UTC (rev 73524)
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+   The core classloading system
+-->
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+   <classloader><inject bean="bootstrap-classloader:0.0.0"/></classloader>
+
+   <classloader name="bootstrap-classloader" xmlns="urn:jboss:classloader:1.0" export-all="NON_EMPTY" import-all="true">
+      <!-- FIXME Move to Deployers -->
+      <root>${jboss.lib.url}/jboss-deployers-core-spi.jar</root>
+      <root>${jboss.lib.url}/jboss-deployers-core.jar</root>
+      <root>${jboss.lib.url}/jboss-deployers-client-spi.jar</root>
+      <root>${jboss.lib.url}/jboss-deployers-client.jar</root>
+      <root>${jboss.lib.url}/jboss-deployers-structure-spi.jar</root>
+      <root>${jboss.lib.url}/jboss-deployers-spi.jar</root>
+      <root>${jboss.lib.url}/jboss-deployers-impl.jar</root>
+      <root>${jboss.lib.url}/jboss-deployers-vfs-spi.jar</root>
+      <root>${jboss.lib.url}/jboss-deployers-vfs.jar</root>
+      <!-- System -->
+      <root>${jboss.lib.url}/jboss-system.jar</root>
+      <!-- FIXME Move to JMX -->
+      <root>${jboss.lib.url}/jboss-j2se.jar</root>
+      <root>${jboss.lib.url}/jboss-mbeans.jar</root>
+      <root>${jboss.lib.url}/jboss-jmx.jar</root>
+      <root>${jboss.lib.url}/jboss-system-jmx.jar</root>
+      <root>${jboss.lib.url}/dom4j.jar</root>
+      <!-- JAXB - shouldn't this be in endorsed? -->
+      <root>${jboss.lib.url}/activation.jar</root>
+      <root>${jboss.lib.url}/jaxb-impl.jar</root>
+      <root>${jboss.lib.url}/stax-api.jar</root>
+      <root>${jboss.lib.url}/wstx.jar</root>
+   </classloader>
+
+   <!--
+      The classloader implementation
+   -->
+   <bean name="ClassLoaderSystem" class="org.jboss.classloader.spi.ClassLoaderSystem">
+      <classloader><null/></classloader>
+      <constructor factoryClass="org.jboss.classloader.spi.ClassLoaderSystem" factoryMethod="getInstance"/>
+   </bean>
+
+   <!-- 
+      ClassLoader management and resolution
+   -->
+   <bean name="ClassLoading" class="org.jboss.classloading.spi.dependency.ClassLoading">
+      <incallback method="addModule" state="Configured"/>
+      <uncallback method="removeModule" state="Configured"/>
+   </bean>
+   
+</deployment>

Added: trunk/server/src/etc/conf/default/deployers.xml
===================================================================
--- trunk/server/src/etc/conf/default/deployers.xml	                        (rev 0)
+++ trunk/server/src/etc/conf/default/deployers.xml	2008-05-20 14:24:34 UTC (rev 73524)
@@ -0,0 +1,173 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+   The base deployers
+-->
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+   <classloader><inject bean="deployers-classloader:0.0.0"/></classloader>
+
+   <classloader name="deployers-classloader" xmlns="urn:jboss:classloader:1.0" export-all="NON_EMPTY" import-all="true">
+      <!-- FIXME
+      <root>${jboss.lib.url}/jboss-deployers-core-spi.jar</root>
+      <root>${jboss.lib.url}/jboss-deployers-core.jar</root>
+      <root>${jboss.lib.url}/jboss-deployers-client-spi.jar</root>
+      <root>${jboss.lib.url}/jboss-deployers-client.jar</root>
+      <root>${jboss.lib.url}/jboss-deployers-structure-spi.jar</root>
+      <root>${jboss.lib.url}/jboss-deployers-spi.jar</root>
+      <root>${jboss.lib.url}/jboss-deployers-impl.jar</root>
+      <root>${jboss.lib.url}/jboss-deployers-vfs-spi.jar</root>
+      <root>${jboss.lib.url}/jboss-deployers-vfs.jar</root>
+      -->
+   </classloader>
+
+   <!-- 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>
+      <property name="mgtDeploymentCreator"><inject bean="ManagedDeploymentCreator"/></property>
+   </bean>
+
+   <!-- The ManagedDeploymentCreator implementation -->
+   <bean name="ManagedDeploymentCreator" class="org.jboss.deployers.plugins.managed.DefaultManagedDeploymentCreator" />
+
+   <!-- 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>
+
+   <!-- A declared structure descriptor deployer -->
+   <bean name="DeclaredStructure" class="org.jboss.deployers.vfs.plugins.structure.explicit.DeclaredStructure"></bean>
+
+   <!-- WAR Structure -->
+   <bean name="WARStructure" class="org.jboss.deployers.vfs.plugins.structure.war.WARStructure">
+       <property name="webInfLibFilter">
+          <!-- We accept all .jar files in WEB-INF/lib -->
+          <bean name="WebInfLibFilter" class="org.jboss.virtual.plugins.vfs.helpers.SuffixMatchFilter">
+             <constructor><parameter class="java.lang.String">.jar</parameter></constructor>
+          </bean>
+       </property>
+    </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>
+
+    <!-- File Structure -->
+    <bean name="FileStructure" class="org.jboss.deployers.vfs.plugins.structure.file.FileStructure">
+       <!-- Unless specified the default list of suffixes is -service.xml, -beans.xml, -ds.xml, -aop.xml -->
+       <constructor>
+          <parameter>
+             <set elementClass="java.lang.String">
+                <value>-service.xml</value>
+                <value>-beans.xml</value>
+                <value>-ds.xml</value>
+                <value>-aop.xml</value>
+             </set>
+          </parameter>
+       </constructor>
+    </bean>
+
+    <!-- AOP deployment -->
+    <!-- FIXME Replace with org.jboss.aop.deployers.AspectAppParsingDeployer once AOP is released -->
+    <bean name="AspectAppParsingDeployer" class="org.jboss.aop.asintegration.jboss5.AspectAppParsingDeployer"/>
+    <bean name="AspectDeployer" class="org.jboss.aop.deployers.AspectDeployer">
+       <property name="type">aop</property>
+       <property name="aspectManager"><inject bean="AspectManager" property="aspectManager"/></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>
+
+   <!-- JMX Deployment -->
+   <bean name="SARDeployer" class="org.jboss.system.deployers.SARDeployer">
+      <property name="type">sar</property>
+   </bean>
+   <bean name="ServiceDeploymentDeployer" class="org.jboss.system.deployers.ServiceDeploymentDeployer">
+       <property name="type">sar</property>
+   </bean>
+   <bean name="ServiceDeployer" class="org.jboss.system.deployers.ServiceDeployer">
+       <constructor><parameter><inject bean="JMXKernel" property="serviceController"/></parameter></constructor>
+       <property name="type">sar</property>
+   </bean>
+
+   <!-- FIXME Remove this -->
+   <bean name="HackClassLoaderMetaDataDeployer" class="org.jboss.system.deployers.HackClassloaderMetaDataDeployer"/>
+   <bean name="ClassLoadingMetaDataParser" class="org.jboss.deployers.vfs.spi.deployer.SchemaResolverDeployer">
+      <constructor>
+         <parameter>org.jboss.classloading.spi.metadata.ClassLoadingMetaData</parameter>
+      </constructor>
+      <property name="name">jboss-classloading.xml</property>
+      <property name="buildManagedObject">true</property>
+   </bean>
+   <bean name="ClassLoadingDefaultDeployer" class="org.jboss.deployers.plugins.classloading.ClassLoadingDefaultDeployer">
+      <property name="defaultMetaData">
+         <classloading xmlns="urn:jboss:classloading:1.0" export-all="NON_EMPTY" import-all="true"/>
+      </property>
+   </bean>
+   <bean name="InMemoryClassesDeployer" class="org.jboss.deployers.vfs.plugins.classloader.InMemoryClassesDeployer"/>
+   <bean name="ClassLoaderDescribeDeployer" class="org.jboss.deployers.vfs.plugins.classloader.VFSClassLoaderDescribeDeployer">
+      <property name="classLoading"><inject bean="ClassLoading"/></property>
+   </bean>
+   <bean name="ClassLoaderDeployer" class="org.jboss.deployers.plugins.classloading.AbstractLevelClassLoaderSystemDeployer">
+      <property name="classLoading"><inject bean="ClassLoading"/></property>
+      <property name="system"><inject bean="ClassLoaderSystem"/></property>
+   </bean>
+   
+</deployment>

Added: trunk/server/src/etc/conf/default/jmx.xml
===================================================================
--- trunk/server/src/etc/conf/default/jmx.xml	                        (rev 0)
+++ trunk/server/src/etc/conf/default/jmx.xml	2008-05-20 14:24:34 UTC (rev 73524)
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+   The JMX Subsystem
+-->
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+   <classloader><inject bean="jmx-classloader:0.0.0"/></classloader>
+
+   <classloader name="jmx-classloader" xmlns="urn:jboss:classloader:1.0" export-all="NON_EMPTY" import-all="true">
+      <!-- FIXME
+      <root>${jboss.lib.url}/jboss-j2se.jar</root>
+      <root>${jboss.lib.url}/jboss-mbeans.jar</root>
+      <root>${jboss.lib.url}/jboss-jmx.jar</root>
+      <root>${jboss.lib.url}/jboss-system-jmx.jar</root>
+      <root>${jboss.lib.url}/dom4j.jar</root>
+      -->
+   </classloader>
+
+   <!-- The legacy JMX kernel -->
+   <bean name="JMXKernel" class="org.jboss.system.server.jmx.JMXKernel">
+      <property name="kernel"><inject bean="jboss.kernel:service=Kernel"/></property>
+      <property name="serverImpl"><inject bean="JBossServer"/></property>
+   </bean>
+   
+</deployment>

Added: trunk/server/src/etc/conf/default/profile-service-repository.xml
===================================================================
--- trunk/server/src/etc/conf/default/profile-service-repository.xml	                        (rev 0)
+++ trunk/server/src/etc/conf/default/profile-service-repository.xml	2008-05-20 14:24:34 UTC (rev 73524)
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+   The profile service
+-->
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+   <classloader><inject bean="profile-service-classloader:0.0.0"/></classloader>
+
+   <classloader name="profile-service-classloader" xmlns="urn:jboss:classloader:1.0" export-all="NON_EMPTY" import-all="true"/>
+    
+    <!-- The file repository profile service which provides full
+        support ProfileService spi.
+    -->
+    <bean name="ProfileService" class="org.jboss.system.server.profileservice.repository.ProfileServiceImpl">
+        <constructor>
+            <parameter>${jboss.server.name}</parameter>
+        </constructor>
+        <property name="profileRepository"><inject bean="FileProfileRepository"/></property>
+    </bean>
+    <bean name="FileProfileRepository" class="org.jboss.system.server.profileservice.repository.FileProfileRepository">
+        <property name="storeRoot">${jboss.server.base.dir}</property>
+        <property name="repositoryFactory"><inject bean="SerializableDeploymentRepositoryFactory"/></property>
+    </bean>
+   <bean name="SerializableDeploymentRepositoryFactory" class="org.jboss.system.server.profileservice.repository.SerializableDeploymentRepositoryFactory">
+      <property name="storeRoot">${jboss.server.base.dir}</property>
+      <property name="applicationURIs">
+         <array elementClass="java.net.URI">
+            <value>${jboss.server.home.url}/deploy</value>
+         </array>
+      </property>
+      <property name="serializer"><inject bean="JavaSerializationAttachmentsSerializer"/></property>
+   </bean>
+   <bean name="JavaSerializationAttachmentsSerializer" class="org.jboss.system.server.profileservice.repository.JavaSerializationAttachmentsSerializer">
+        <property name="attachmentsStoreDir">${jboss.server.home.dir}/attachments</property>
+    </bean>
+
+   <bean name="ProfileServiceBootstrap" class="org.jboss.system.server.profileservice.ProfileServiceBootstrap">
+      <property name="kernel"><inject bean="jboss.kernel:service=Kernel"/></property>
+   </bean>
+
+   <!-- A filter for excluding files from the scanner -->
+   <bean name="DeploymentFilter" class="org.jboss.virtual.plugins.vfs.helpers.ExtensibleFilter">
+      <!-- Files starting with theses strings are ignored -->
+      <property name="prefixes">#,%,\,,.,_$</property>
+      <!-- Files ending with theses strings are ignored -->
+      <property name="suffixes">#,$,%,~,\,v,.BAK,.bak,.old,.orig,.tmp,.rej,.sh</property>
+      <!-- Files matching with theses strings are ignored -->
+      <property name="matches">.make.state,.nse_depinfo,CVS,CVS.admin,RCS,RCSLOG,SCCS,TAGS,core,tags</property>
+   </bean>
+   
+</deployment>

Added: trunk/server/src/etc/conf/default/profile-service.xml
===================================================================
--- trunk/server/src/etc/conf/default/profile-service.xml	                        (rev 0)
+++ trunk/server/src/etc/conf/default/profile-service.xml	2008-05-20 14:24:34 UTC (rev 73524)
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+   The profile service
+-->
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+   <classloader><inject bean="profile-service-classloader:0.0.0"/></classloader>
+
+   <classloader name="profile-service-classloader" xmlns="urn:jboss:classloader:1.0" export-all="NON_EMPTY" import-all="true"/>
+
+   <!-- The basic profile service which relies on vfs scanners
+   to determine the profile deployments. This version does not
+   support the full ProfileService spi.
+   -->
+   <bean name="ProfileService" class="org.jboss.system.server.profileservice.basic.ProfileServiceImpl">
+      <constructor>
+         <parameter>${jboss.server.name}</parameter>
+      </constructor>
+      <property name="profileRoot">${jboss.server.home.dir}</property>
+   </bean>
+
+   <bean name="ProfileServiceBootstrap" class="org.jboss.system.server.profileservice.ProfileServiceBootstrap">
+      <property name="kernel"><inject bean="jboss.kernel:service=Kernel"/></property>
+   </bean>
+
+   <!-- A filter for excluding files from the scanner -->
+   <bean name="DeploymentFilter" class="org.jboss.virtual.plugins.vfs.helpers.ExtensibleFilter">
+      <!-- Files starting with theses strings are ignored -->
+      <property name="prefixes">#,%,\,,.,_$</property>
+      <!-- Files ending with theses strings are ignored -->
+      <property name="suffixes">#,$,%,~,\,v,.BAK,.bak,.old,.orig,.tmp,.rej,.sh</property>
+      <!-- Files matching with theses strings are ignored -->
+      <property name="matches">.make.state,.nse_depinfo,CVS,CVS.admin,RCS,RCSLOG,SCCS,TAGS,core,tags</property>
+   </bean>
+
+   <!-- Scan for bootstraps -->
+   <bean name="VFSBootstrapScanner" class="org.jboss.system.server.profileservice.VFSBootstrapScannerImpl">
+      <property name="profileService"><inject bean="ProfileService"/></property>
+      <property name="filterInstance"><inject bean="DeploymentFilter"/></property>
+      <property name="URIList">
+         <list elementClass="java.net.URI">
+            <!-- Legacy static conf/jboss-service.xml -->
+            <value>${jboss.server.home.url}conf/jboss-service.xml</value>
+         </list>
+      </property>
+   </bean>
+
+   <!-- Scan for deployers -->
+   <bean name="VFSDeployerScanner" class="org.jboss.system.server.profileservice.VFSDeployerScannerImpl">
+      <property name="profileService"><inject bean="ProfileService"/></property>
+      <property name="filterInstance"><inject bean="DeploymentFilter"/></property>
+      <property name="URIList">
+         <list elementClass="java.net.URI">
+            <!-- Directory for deployers -->
+            <value>${jboss.server.home.url}deployers/</value>
+         </list>
+      </property>
+   </bean>
+
+   <!-- Scan for applications -->
+   <bean name="VFSDeploymentScanner" class="org.jboss.system.server.profileservice.VFSDeploymentScannerImpl">
+      <property name="profileService"><inject bean="ProfileService"/></property>
+      <property name="filterInstance"><inject bean="DeploymentFilter"/></property>
+      <property name="URIList">
+         <list elementClass="java.net.URI">
+            <!-- Standard hot deployment directory -->
+            <value>${jboss.server.home.url}deploy/</value>
+         </list>
+      </property>
+   </bean>
+
+   <!-- Hotdeployment of applications -->
+   <bean name="HDScanner"
+      class="org.jboss.system.server.profileservice.hotdeploy.HDScanner">
+      <property name="mainDeployer"><inject bean="MainDeployer"/></property>
+      <!-- Workaround for JBMICROCONT-176
+      -->
+      <property name="controller"><inject bean="jboss.kernel:service=KernelController"/></property>
+      <!-- Broken due to JBMICROCONT-176
+         <property name="controller"><inject bean="jboss.kernel:service=Kernel" property="controller"/></property>
+      -->
+      <property name="profileService"><inject bean="ProfileService"/></property>
+      <property name="scanPeriod">5000</property>
+      <property name="scanThreadName">HDScanner</property>
+   </bean>
+   
+</deployment>

Modified: trunk/system/src/main/org/jboss/system/server/profileservice/ProfileServiceBootstrap.java
===================================================================
--- trunk/system/src/main/org/jboss/system/server/profileservice/ProfileServiceBootstrap.java	2008-05-20 14:24:11 UTC (rev 73523)
+++ trunk/system/src/main/org/jboss/system/server/profileservice/ProfileServiceBootstrap.java	2008-05-20 14:24:34 UTC (rev 73524)
@@ -41,9 +41,7 @@
 import org.jboss.system.server.Server;
 
 /**
- * An extension of the kernel basic bootstrap that boots the mc from
- * {profileName}/bootstrap-beans.xml descriptors using the BasicXMLDeployer, and
- * loads additional deployments using the ProfileService.
+ * Bootstraps the profile service
  * 
  * @author Scott.Stark at jboss.org
  * @author adrian at jboss.org

Modified: trunk/system-jmx/src/main/org/jboss/system/server/jmx/JMXKernel.java
===================================================================
--- trunk/system-jmx/src/main/org/jboss/system/server/jmx/JMXKernel.java	2008-05-20 14:24:11 UTC (rev 73523)
+++ trunk/system-jmx/src/main/org/jboss/system/server/jmx/JMXKernel.java	2008-05-20 14:24:34 UTC (rev 73524)
@@ -497,10 +497,6 @@
    private ClassLoader initBootLibraries() throws Exception
    {
       ClassLoaderSystem system = ClassLoaderSystem.getInstance();
-      
-      // FIXME
-      ClassLoaderDomain defaultDomain = system.getDefaultDomain();
-      defaultDomain.setParent(new ClassLoaderToLoaderAdapter(getClass().getClassLoader()));
       mbeanServer.registerMBean(system, new ObjectName("jboss.classloader:service=ClassLoaderSystem"));
       
       List<URL> list = getBootURLs();

Modified: trunk/testsuite/imports/server-config.xml
===================================================================
--- trunk/testsuite/imports/server-config.xml	2008-05-20 14:24:11 UTC (rev 73523)
+++ trunk/testsuite/imports/server-config.xml	2008-05-20 14:24:34 UTC (rev 73524)
@@ -838,8 +838,8 @@
             <include name="deployers/**"/>
          </fileset>         	
          </copy>
-      	 <copy file="${jboss.dist}/server/@{conf}/conf/bootstrap-repo-beans.xml" 
-      	 	tofile="${jboss.dist}/server/@{conf}/conf/bootstrap-beans.xml" overwrite="true"/>
+      	 <copy file="${jboss.dist}/server/@{conf}/conf/bootstrap-repo.xml" 
+      	 	tofile="${jboss.dist}/server/@{conf}/conf/bootstrap.xml" overwrite="true"/>
       	 <copy file="${jboss.dist}/server/@{conf}/deployers/profileservice-beans.xml.bak" 
       	 	tofile="${jboss.dist}/server/@{conf}/deployers/profileservice-beans.xml" overwrite="true"/>
          <!-- Overwrite any config content with that from the




More information about the jboss-cvs-commits mailing list