[jboss-cvs] JBossAS SVN: r59856 - in trunk/embedded: src/main/java/org/jboss/embedded and 4 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri Jan 19 13:50:13 EST 2007
Author: bill.burke at jboss.com
Date: 2007-01-19 13:50:13 -0500 (Fri, 19 Jan 2007)
New Revision: 59856
Added:
trunk/embedded/bin2.bat
trunk/embedded/binary.bat
trunk/embedded/compiler.bat
trunk/embedded/embedded.bat
trunk/embedded/simple-beans.xml
trunk/embedded/src/main/java/org/jboss/embedded/BeanCompiler.java
trunk/embedded/src/main/java/org/jboss/embedded/BinaryBootstrap.java
trunk/embedded/src/main/resources/javase/conf/bootstrap-all-beans.xml
trunk/embedded/src/test/java/org/jboss/embedded/test/BeanCompilerTester.java
trunk/embedded/src/test/java/org/jboss/embedded/test/SimpleBean.java
trunk/embedded/src/test/java/org/jboss/embedded/test/TimedBinaryBootstrap.java
trunk/embedded/src/test/java/org/jboss/embedded/test/TimedBootstrap.java
Modified:
trunk/embedded/build.xml
trunk/embedded/src/main/java/org/jboss/embedded/Bootstrap.java
trunk/embedded/src/test/java/org/jboss/embedded/test/bootstrap/unit/BootstrapTestCase.java
trunk/embedded/src/test/java/org/jboss/embedded/test/ejb/unit/EjbTestCase.java
Log:
add readResolve so that == can be used on serialized instance
Added: trunk/embedded/bin2.bat
===================================================================
--- trunk/embedded/bin2.bat (rev 0)
+++ trunk/embedded/bin2.bat 2007-01-19 18:50:13 UTC (rev 59856)
@@ -0,0 +1,8 @@
+set CLASSPATH=output\lib\embedded-jboss\lib\jboss-embedded-all.jar;output\lib\embedded-jboss\lib\hibernate-all.jar;output\lib\embedded-jboss\lib\thirdparty-all.jar;output\lib\embedded-jboss\bootstrap;output\test-classes
+
+rem java -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=y,suspend=y,address=javadebug org.jboss.embedded.test.BeanCompilerTester simple-beans.xml
+
+java org.jboss.embedded.test.BeanCompilerTester simple-beans.xml
+
+
+
Added: trunk/embedded/binary.bat
===================================================================
--- trunk/embedded/binary.bat (rev 0)
+++ trunk/embedded/binary.bat 2007-01-19 18:50:13 UTC (rev 59856)
@@ -0,0 +1,7 @@
+set CLASSPATH=output\lib\embedded-jboss\lib\jboss-embedded-all.jar;output\lib\embedded-jboss\lib\hibernate-all.jar;output\lib\embedded-jboss\lib\thirdparty-all.jar;output\lib\embedded-jboss\bootstrap;output\test-classes
+
+rem java -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_shmem,server=y,suspend=y,address=javadebug org.jboss.embedded.test.TimedBinaryBootstrap
+java org.jboss.embedded.test.TimedBinaryBootstrap
+
+
+
Modified: trunk/embedded/build.xml
===================================================================
--- trunk/embedded/build.xml 2007-01-19 18:42:22 UTC (rev 59855)
+++ trunk/embedded/build.xml 2007-01-19 18:50:13 UTC (rev 59856)
@@ -334,6 +334,9 @@
<fileset dir="${resources}">
<include name="stylesheets/*"/>
</fileset>
+ <fileset dir="${jboss.system.root}/resources">
+ <include name="org/jboss/*"/>
+ </fileset>
<zipfileset src="${jboss.ejb3.lib}/jboss-ejb3.jar"/>
<zipfileset src="${jboss.ejb3.lib}/jboss-annotations-ejb3.jar"/>
<zipfileset src="${jboss.ejb3x.lib}/jboss-ejb3x.jar"/>
Added: trunk/embedded/compiler.bat
===================================================================
--- trunk/embedded/compiler.bat (rev 0)
+++ trunk/embedded/compiler.bat 2007-01-19 18:50:13 UTC (rev 59856)
@@ -0,0 +1,6 @@
+set CLASSPATH=output\lib\embedded-jboss\lib\jboss-embedded-all.jar;output\lib\embedded-jboss\lib\hibernate-all.jar;output\lib\embedded-jboss\lib\thirdparty-all.jar;output\lib\embedded-jboss\bootstrap;output\test-classes
+
+java org.jboss.embedded.BeanCompiler %1
+
+
+
Added: trunk/embedded/embedded.bat
===================================================================
--- trunk/embedded/embedded.bat (rev 0)
+++ trunk/embedded/embedded.bat 2007-01-19 18:50:13 UTC (rev 59856)
@@ -0,0 +1,6 @@
+set CLASSPATH=output\lib\embedded-jboss\lib\jboss-embedded-all.jar;output\lib\embedded-jboss\lib\hibernate-all.jar;output\lib\embedded-jboss\lib\thirdparty-all.jar;output\lib\embedded-jboss\bootstrap;output\test-classes
+
+java org.jboss.embedded.test.TimedBootstrap
+
+
+
Added: trunk/embedded/simple-beans.xml
===================================================================
--- trunk/embedded/simple-beans.xml (rev 0)
+++ trunk/embedded/simple-beans.xml 2007-01-19 18:50:13 UTC (rev 59856)
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ The bootstrap of the server
+-->
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+ <bean name="Two" class="org.jboss.embedded.test.SimpleBean">
+ <property name="kernel">
+ <inject bean="jboss.kernel:service=Kernel"/>
+ </property>
+ </bean>
+</deployment>
Added: trunk/embedded/src/main/java/org/jboss/embedded/BeanCompiler.java
===================================================================
--- trunk/embedded/src/main/java/org/jboss/embedded/BeanCompiler.java (rev 0)
+++ trunk/embedded/src/main/java/org/jboss/embedded/BeanCompiler.java 2007-01-19 18:50:13 UTC (rev 59856)
@@ -0,0 +1,87 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2006, 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.embedded;
+
+import org.jboss.xb.binding.Unmarshaller;
+import org.jboss.xb.binding.UnmarshallerFactory;
+import org.jboss.xb.binding.JBossXBException;
+import org.jboss.xb.binding.sunday.unmarshalling.SchemaBindingResolver;
+import org.jboss.xb.binding.sunday.unmarshalling.SingletonSchemaResolverFactory;
+import org.jboss.kernel.spi.deployment.KernelDeployment;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.ObjectOutputStream;
+import java.io.ObjectInputStream;
+import java.net.MalformedURLException;
+
+/**
+ * comment
+ *
+ * @author <a href="bill at jboss.com">Bill Burke</a>
+ * @version $Revision: 1.1 $
+ */
+public class BeanCompiler
+{
+ public static void main(String[] args) throws Exception
+ {
+ System.out.println("compiling: " + args[0]);
+ File fp = new File(args[0]);
+
+ KernelDeployment deployment = parse(fp);
+
+ long start = System.currentTimeMillis();
+
+ FileOutputStream fos = new FileOutputStream(args[0] + ".bin");
+ ObjectOutputStream oos = new ObjectOutputStream(fos);
+ oos.writeObject(deployment);
+ oos.close();
+ fos.close();
+
+ FileInputStream fis = new FileInputStream(args[0] + ".bin");
+ ObjectInputStream ois = new ObjectInputStream(fis);
+ deployment = (KernelDeployment)ois.readObject();
+ ois.close();
+ fis.close();
+
+ long end = System.currentTimeMillis() - start;
+
+ System.out.println("object loading took: " + end);
+
+
+
+ }
+
+ public static KernelDeployment parse(File fp)
+ throws JBossXBException, MalformedURLException
+ {
+ SchemaBindingResolver resolver = SingletonSchemaResolverFactory.getInstance().getSchemaBindingResolver();
+ long start = System.currentTimeMillis();
+ UnmarshallerFactory factory = UnmarshallerFactory.newInstance();
+ Unmarshaller unmarshaller = factory.newUnmarshaller();
+ KernelDeployment deployment = (KernelDeployment) unmarshaller.unmarshal(fp.toURL().toString(), resolver);
+ long end = System.currentTimeMillis() - start;
+ System.out.println("XML parsing took: " + end);
+ return deployment;
+ }
+}
Added: trunk/embedded/src/main/java/org/jboss/embedded/BinaryBootstrap.java
===================================================================
--- trunk/embedded/src/main/java/org/jboss/embedded/BinaryBootstrap.java (rev 0)
+++ trunk/embedded/src/main/java/org/jboss/embedded/BinaryBootstrap.java 2007-01-19 18:50:13 UTC (rev 59856)
@@ -0,0 +1,96 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2006, 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.embedded;
+
+import org.jboss.deployers.spi.DeploymentException;
+import org.jboss.deployers.spi.deployment.MainDeployer;
+import org.jboss.kernel.plugins.deployment.xml.BeanXMLDeployer;
+import org.jboss.kernel.plugins.deployment.AbstractKernelDeployer;
+import org.jboss.kernel.plugins.deployment.AbstractKernelDeployment;
+import org.jboss.kernel.spi.deployment.KernelDeployment;
+import org.jboss.kernel.spi.dependency.KernelControllerContext;
+import org.jboss.kernel.Kernel;
+import org.jboss.beans.metadata.spi.BeanMetaData;
+import org.jboss.xb.binding.JBossXBException;
+import org.jboss.xb.binding.UnmarshallerFactory;
+import org.jboss.xb.binding.Unmarshaller;
+import org.jboss.xb.binding.sunday.unmarshalling.SchemaBindingResolver;
+import org.jboss.xb.binding.sunday.unmarshalling.SingletonSchemaResolverFactory;
+
+import java.net.URL;
+import java.net.MalformedURLException;
+import java.io.FileInputStream;
+import java.io.ObjectInputStream;
+import java.io.File;
+import java.lang.reflect.Field;
+import java.util.concurrent.CopyOnWriteArrayList;
+import java.util.List;
+
+/**
+ * comment
+ *
+ * @author <a href="bill at jboss.com">Bill Burke</a>
+ * @version $Revision: 1.1 $
+ */
+public class BinaryBootstrap extends Bootstrap
+{
+ private static Bootstrap instance;
+
+
+ public BinaryBootstrap(Kernel kernel)
+ {
+ super(kernel);
+ }
+
+ /**
+ * For those applications that need a singelton Bootstrap instance
+ *
+ * @return
+ */
+ public static synchronized Bootstrap getInstance()
+ {
+ if (instance == null) instance = new BinaryBootstrap(createKernel());
+ return instance;
+ }
+
+ @Override
+ protected void bootstrapURL(URL url) throws DeploymentException
+ {
+ try
+ {
+ String urlString = url.toString() + ".bin";
+ url = new URL(urlString);
+ AbstractKernelDeployer deployer = new AbstractKernelDeployer(kernel);
+ ObjectInputStream ois = new ObjectInputStream(url.openStream());
+ KernelDeployment deployment = (KernelDeployment) ois.readObject();
+ ois.close();
+ deployer.deploy(deployment);
+ mainDeployer = (MainDeployer) kernel.getRegistry().getEntry("MainDeployer").getTarget();
+ }
+ catch (Throwable throwable)
+ {
+ throw new RuntimeException("Unable to bootstrap: ", throwable);
+ }
+ checkIncomplete();
+ started = true;
+ }
+}
Modified: trunk/embedded/src/main/java/org/jboss/embedded/Bootstrap.java
===================================================================
--- trunk/embedded/src/main/java/org/jboss/embedded/Bootstrap.java 2007-01-19 18:42:22 UTC (rev 59855)
+++ trunk/embedded/src/main/java/org/jboss/embedded/Bootstrap.java 2007-01-19 18:50:13 UTC (rev 59856)
@@ -50,11 +50,11 @@
public static final String BOOTSTRAP_RESOURCE_PATH="jboss.embedded.bootstrap.resource.path";
public static final String BOOTSTRAP_RESOURCE_FILE="conf/bootstrap-beans.xml";
- private Kernel kernel;
- private ClassLoader loader = Thread.currentThread().getContextClassLoader();
- private MainDeployer mainDeployer;
- private boolean started;
- private boolean ignoreShutdownErrors;
+ protected Kernel kernel;
+ protected ClassLoader loader = Thread.currentThread().getContextClassLoader();
+ protected MainDeployer mainDeployer;
+ protected boolean started;
+ protected boolean ignoreShutdownErrors;
@@ -67,13 +67,12 @@
*/
public static synchronized Bootstrap getInstance()
{
- if (instance == null) instance = new Bootstrap();
+ if (instance == null) instance = new Bootstrap(createKernel());
return instance;
}
public Bootstrap()
{
- kernel = createKernel();
}
@@ -119,7 +118,7 @@
}
- private static Kernel createKernel()
+ protected static Kernel createKernel()
{
BasicBootstrap bootstrap1 = new BasicBootstrap();
bootstrap1.run();
Added: trunk/embedded/src/main/resources/javase/conf/bootstrap-all-beans.xml
===================================================================
--- trunk/embedded/src/main/resources/javase/conf/bootstrap-all-beans.xml (rev 0)
+++ trunk/embedded/src/main/resources/javase/conf/bootstrap-all-beans.xml 2007-01-19 18:50:13 UTC (rev 59856)
@@ -0,0 +1,335 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ The bootstrap of the server
+-->
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+ <bean name="SystemProperties" class="org.jboss.embedded.util.SystemProperties">
+ <property name="properties">
+ <map keyClass="java.lang.String" valueClass="java.lang.String">
+ <entry>
+ <key>jboss.bind.address</key>
+ <value>0.0.0.0</value>
+ </entry>
+ </map>
+ </property>
+ </bean>
+
+ <bean name="ServerConfig" class="org.jboss.embedded.adapters.ServerConfig"/>
+
+ <!-- The legacy JMX kernel -->
+ <bean name="JMXKernel" class="org.jboss.embedded.adapters.JMXKernel">
+ <property name="kernel">
+ <inject bean="jboss.kernel:service=Kernel"/>
+ </property>
+ <property name="serverConfig">
+ <inject bean="ServerConfig"/>
+ </property>
+ </bean>
+
+ <!-- The MainDeployer -->
+ <bean name="MainDeployer" class="org.jboss.deployers.plugins.deployment.MainDeployerImpl">
+ <property name="structureDeployers">
+ <list>
+ <!-- A declared structure descriptor deployer -->
+ <bean name="DeclaredStructure" class="org.jboss.deployers.plugins.structure.vfs.explicit.DeclaredStructure">
+ </bean>
+ <!-- JAR Structure -->
+ <bean name="JARStructure" class="org.jboss.deployers.plugins.structure.vfs.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.plugins.structure.vfs.jar.JARCandidateStructureVisitorFactory">
+ <!-- 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.plugins.structure.vfs.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>
+ </list>
+ </property>
+ <property name="deployers">
+ <list>
+ <!-- POJO Deployment -->
+ <bean name="BeanDeployer" class="org.jboss.deployers.plugins.deployers.kernel.BeanDeployer"/>
+ <bean name="KernelDeploymentDeployer"
+ class="org.jboss.deployers.plugins.deployers.kernel.KernelDeploymentDeployer"/>
+ <bean name="BeanMetaDataDeployer" class="org.jboss.deployers.plugins.deployers.kernel.BeanMetaDataDeployer">
+ <constructor>
+ <parameter>
+ <inject bean="jboss.kernel:service=Kernel"/>
+ </parameter>
+ </constructor>
+ </bean>
+ <!-- JMX Deployment -->
+ <bean name="SARDeployer" class="org.jboss.system.deployers.SARDeployer"/>
+ <bean name="ServiceClassLoaderDeployer" class="org.jboss.embedded.ClassLoaderDeployer"/>
+ <bean name="ServiceDeploymentDeployer" class="org.jboss.system.deployers.ServiceDeploymentDeployer"/>
+ <bean name="ServiceDeployer" class="org.jboss.system.deployers.ServiceDeployer">
+ <constructor>
+ <parameter>
+ <inject bean="JMXKernel" property="serviceController"/>
+ </parameter>
+ </constructor>
+ </bean>
+ </list>
+ </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>
+
+ <!--
+ JNDI Initialization of basic beans (NO REMOTING)
+ -->
+ <bean name="Naming" class="org.jnp.server.SingletonNamingServer"/>
+ <bean name="java:comp" class="org.jboss.naming.JavaCompInitializer"/>
+
+ <!--
+ Bootstrap old JMX-based core services
+ setup deployers
+ setup deploy/ directory
+ -->
+ <bean name="ResourcesToDeploy" class="org.jboss.embedded.DeploymentScanner">
+ <property name="filter"><inject bean="DeploymentFilter"/></property>
+ <property name="mainDeployer">
+ <inject bean="MainDeployer"/>
+ </property>
+ <property name="kernel">
+ <inject bean="jboss.kernel:service=Kernel"/>
+ </property>
+ <property name="resources">
+ <list elementClass="java.lang.String">
+ <value>${jboss.embedded.bootstrap.resource.path}conf/jboss-service.xml</value>
+ </list>
+ </property>
+ </bean>
+
+ <bean name="UserTransaction" class="org.jboss.embedded.adapters.LocalOnlyUserTransaction"/>
+
+ <bean name="UserTransactionBinding" class="org.jboss.naming.JndiBinder">
+ <property name="target"><inject bean="UserTransaction"/></property>
+ <property name="bindTo">UserTransaction</property>
+ <property name="serializable">false</property>
+ </bean>
+
+ <!-- Aspect Deployment -->
+ <bean name="AspectDeployer" class="org.jboss.aop.deployers.AspectDeployer">
+ <install bean="MainDeployer" method="addDeployer">
+ <parameter><this/></parameter>
+ </install>
+ <uninstall bean="MainDeployer" method="removeDeployer">
+ <parameter><this/></parameter>
+ </uninstall>
+ </bean>
+
+ <bean name="DefaultPersistenceProperties" class="org.jboss.ejb3.DefaultPersistenceProperties"/>
+
+ <bean name="EJBRegistrationDeployer" class="org.jboss.ejb3.deployers.EJBRegistrationDeployer">
+ <install bean="MainDeployer" method="addDeployer">
+ <parameter>
+ <this/>
+ </parameter>
+ </install>
+ <uninstall bean="MainDeployer" method="removeDeployer">
+ <parameter>
+ <this/>
+ </parameter>
+ </uninstall>
+ <property name="kernel"><inject bean="jboss.kernel:service=Kernel"/></property>
+ <property name="mbeanServer"><inject bean="JMXKernel" property="mbeanServer"/></property>
+ <property name="defaultPersistenceProperties"><inject bean="DefaultPersistenceProperties" property="properties"/></property>
+ <property name="ignoredJarsSet">
+ <set elementClass="java.lang.String">
+ <value>snmp-adaptor.jar</value>
+ <value>otherimages.jar</value>
+ <value>applet.jar</value>
+ <value>jcommon.jar</value>
+ <value>console-mgr-classes.jar</value>
+ <value>jfreechart.jar</value>
+ <value>juddi-service.jar</value>
+ <value>wsdl4j.jar</value>
+ <value>commons-collections.jar</value>
+ <value>commons-pool.jar</value>
+ <value>juddi.jar</value>
+ <value>commons-discovery.jar</value>
+ <value>uddi4j.jar</value>
+ <value>axis.jar</value>
+ <value>commons-dbcp.jar</value>
+ <value>jboss-juddiaxis.jar</value>
+ <value>trove.jar</value>
+ <value>javassist.jar</value>
+ <value>jboss-aop-jdk50.jar</value>
+ <value>jboss-aspect-library-jdk50.jar</value>
+ <value>ejb3-persistence.jar</value>
+ <value>commons-validator-1.1.3.jar</value>
+ <value>commons-collections.jar</value>
+ <value>commons-fileupload.jar</value>
+ <value>commons-pool.jar</value>
+ <value>hibernate-entitymanager.jar</value>
+ <value>jboss-ejb3x.jar</value>
+ <value>commons-digester-1.6.jar</value>
+ <value>cglib-2.1.1.jar</value>
+ <value>commons-discovery.jar</value>
+ <value>jboss-annotations-ejb3.jar</value>
+ <value>jaxen-1.1-beta-4.jar</value>
+ <value>hibernate-annotations.jar</value>
+ <value>commons-httpclient.jar</value>
+ <value>commons-logging.jar</value>
+ <value>commons-vfs.jar</value>
+ <value>hibernate3.jar</value>
+ <value>commons-logging-api.jar</value>
+ <value>asm.jar</value>
+ <value>asm-attrs.jar</value>
+ <value>commons-lang-2.0.jar</value>
+ <value>commons-beanutils.jar</value>
+ <value>jboss-ejb3.jar</value>
+ <value>dom4j.jar</value>
+ <value>commons-codec-1.2.jar</value>
+ <value>wsdl4j.jar</value>
+ <value>xmlsec.jar</value>
+ <value>jbossws.jar</value>
+ <value>jboss-bean-deployer.jar</value>
+ <value>jboss-microcontainer.jar</value>
+ <value>jboss-dependency.jar</value>
+ <value>jboss-container.jar</value>
+ <value>tomcat-coyote.jar</value>
+ <value>commons-collections.jar</value>
+ <value>myfaces.jar</value>
+ <value>jstl.jar</value>
+ <value>commons-digester-1.6.jar</value>
+ <value>myfaces-impl.jar</value>
+ <value>commons-beanutils.jar</value>
+ <value>myfaces-jsf-api.jar</value>
+ <value>commons-codec-1.2.jar</value>
+ <value>catalina-optional.jar</value>
+ <value>tomcat-util.jar</value>
+ <value>jasper-compiler.jar</value>
+ <value>commons-el.jar</value>
+ <value>jasper-compiler-jdt.jar</value>
+ <value>tomcat-http.jar</value>
+ <value>catalina-manager.jar</value>
+ <value>jasper-runtime.jar</value>
+ <value>tomcat55-service.jar</value>
+ <value>servlets-invoker.jar</value>
+ <value>catalina.jar</value>
+ <value>naming-resources.jar</value>
+ <value>servlets-default.jar</value>
+ <value>tomcat-ajp.jar</value>
+ <value>commons-modeler.jar</value>
+ <value>tomcat-apr.jar</value>
+ <value>servlets-webdav.jar</value>
+ </set>
+ </property>
+ <depends>AspectDeployer</depends>
+ </bean>
+ <bean name="EJBStage2Deployer" class="org.jboss.ejb3.deployers.EJBStage2Deployer">
+ <install bean="MainDeployer" method="addDeployer">
+ <parameter>
+ <this/>
+ </parameter>
+ </install>
+ <uninstall bean="MainDeployer" method="removeDeployer">
+ <parameter>
+ <this/>
+ </parameter>
+ </uninstall>
+ <depends>AspectDeployer</depends>
+ </bean>
+
+ <!-- RAR Deployment -->
+ <bean name="RARParserDeployer" class="org.jboss.resource.deployers.RARParserDeployer">
+ <install bean="MainDeployer" method="addDeployer">
+ <parameter><this/></parameter>
+ </install>
+ <uninstall bean="MainDeployer" method="removeDeployer">
+ <parameter><this/></parameter>
+ </uninstall>
+ </bean>
+ <bean name="RARDeployer" class="org.jboss.resource.deployers.RARDeployer">
+ <property name="workManagerName">jboss.jca:service=WorkManager</property>
+ <property name="XATerminatorName">jboss:service=TransactionManager</property>
+ <install bean="MainDeployer" method="addDeployer">
+ <parameter><this/></parameter>
+ </install>
+ <uninstall bean="MainDeployer" method="removeDeployer">
+ <parameter><this/></parameter>
+ </uninstall>
+ </bean>
+
+ <!-- ConnectionFactory Deployment -->
+ <bean name="ConnectionFactoryDeployer" class="org.jboss.system.deployers.ServiceXSLDeployer">
+ <property name="suffix">-ds.xml</property>
+ <property name="XSLPath">stylesheets/NoJRMPConnectionFactoryTemplate.xsl</property>
+ <install bean="MainDeployer" method="addDeployer">
+ <parameter><this/></parameter>
+ </install>
+ <uninstall bean="MainDeployer" method="removeDeployer">
+ <parameter><this/></parameter>
+ </uninstall>
+ </bean>
+
+ <bean name="ResourcesToDeploy3" class="org.jboss.embedded.DeploymentScanner">
+ <property name="filter"><inject bean="DeploymentFilter"/></property>
+ <property name="mainDeployer">
+ <inject bean="MainDeployer"/>
+ </property>
+ <property name="kernel">
+ <inject bean="jboss.kernel:service=Kernel"/>
+ </property>
+ <property name="directoriesByResource">
+ <list elementClass="java.lang.String">
+ <value>${jboss.embedded.bootstrap.resource.path}conf/jboss-service.xml/../deploy</value>
+ </list>
+ </property>
+ </bean>
+</deployment>
Added: trunk/embedded/src/test/java/org/jboss/embedded/test/BeanCompilerTester.java
===================================================================
--- trunk/embedded/src/test/java/org/jboss/embedded/test/BeanCompilerTester.java (rev 0)
+++ trunk/embedded/src/test/java/org/jboss/embedded/test/BeanCompilerTester.java 2007-01-19 18:50:13 UTC (rev 59856)
@@ -0,0 +1,116 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2006, 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.embedded.test;
+
+import org.jboss.kernel.spi.deployment.KernelDeployment;
+import org.jboss.kernel.spi.dependency.KernelControllerContext;
+import org.jboss.kernel.Kernel;
+import org.jboss.kernel.plugins.bootstrap.basic.BasicBootstrap;
+import org.jboss.kernel.plugins.deployment.AbstractKernelDeployer;
+import org.jboss.kernel.plugins.deployment.AbstractKernelDeployment;
+import org.jboss.xb.binding.JBossXBException;
+import org.jboss.xb.binding.UnmarshallerFactory;
+import org.jboss.xb.binding.Unmarshaller;
+import org.jboss.xb.binding.sunday.unmarshalling.SchemaBindingResolver;
+import org.jboss.xb.binding.sunday.unmarshalling.SingletonSchemaResolverFactory;
+import org.jboss.embedded.BeanCompiler;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.ObjectOutputStream;
+import java.io.FileInputStream;
+import java.io.ObjectInputStream;
+import java.net.MalformedURLException;
+import java.lang.reflect.Field;
+import java.util.concurrent.CopyOnWriteArrayList;
+
+/**
+ * comment
+ *
+ * @author <a href="bill at jboss.com">Bill Burke</a>
+ * @version $Revision: 1.1 $
+ */
+public class BeanCompilerTester
+{
+ protected static Kernel createKernel()
+ {
+ BasicBootstrap bootstrap1 = new BasicBootstrap();
+ bootstrap1.run();
+ return bootstrap1.getKernel();
+ }
+
+ protected static void deploy(KernelDeployment deployment) throws Throwable
+ {
+ AbstractKernelDeployer deployer = new AbstractKernelDeployer(createKernel());
+ deployer.deploy(deployment);
+ deployer.validate();
+
+ }
+
+
+ public static void main(String[] args) throws Throwable
+ {
+ System.out.println("compiling: " + args[0]);
+ File fp = new File(args[0]);
+
+ KernelDeployment deployment = parse(fp);
+
+ long start = System.currentTimeMillis();
+
+ FileOutputStream fos = new FileOutputStream(args[0] +".bin");
+ ObjectOutputStream oos = new ObjectOutputStream(fos);
+ oos.writeObject(deployment);
+ oos.close();
+ fos.close();
+
+ FileInputStream fis = new FileInputStream(args[0] +".bin");
+ ObjectInputStream ois = new ObjectInputStream(fis);
+ KernelDeployment deployment2 = (KernelDeployment)ois.readObject();
+ ois.close();
+ fis.close();
+
+ long end = System.currentTimeMillis() - start;
+
+ System.out.println("object loading took: " + end);
+
+ System.out.println("deployment1");
+ deploy(deployment);
+ System.out.println("deployment2");
+ deploy(deployment2);
+
+
+
+ }
+
+ public static KernelDeployment parse(File fp)
+ throws JBossXBException, MalformedURLException
+ {
+ SchemaBindingResolver resolver = SingletonSchemaResolverFactory.getInstance().getSchemaBindingResolver();
+ long start = System.currentTimeMillis();
+ UnmarshallerFactory factory = UnmarshallerFactory.newInstance();
+ Unmarshaller unmarshaller = factory.newUnmarshaller();
+ KernelDeployment deployment = (KernelDeployment) unmarshaller.unmarshal(fp.toURL().toString(), resolver);
+ long end = System.currentTimeMillis() - start;
+ System.out.println("XML parsing took: " + end);
+ return deployment;
+ }
+}
Added: trunk/embedded/src/test/java/org/jboss/embedded/test/SimpleBean.java
===================================================================
--- trunk/embedded/src/test/java/org/jboss/embedded/test/SimpleBean.java (rev 0)
+++ trunk/embedded/src/test/java/org/jboss/embedded/test/SimpleBean.java 2007-01-19 18:50:13 UTC (rev 59856)
@@ -0,0 +1,63 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2006, 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.embedded.test;
+
+import org.jboss.kernel.Kernel;
+
+/**
+ * comment
+ *
+ * @author <a href="bill at jboss.com">Bill Burke</a>
+ * @version $Revision: 1.1 $
+ */
+public class SimpleBean
+{
+ private SimpleBean ref;
+ private Kernel kernel;
+
+
+ public SimpleBean getRef()
+ {
+ return ref;
+ }
+
+ public void setRef(SimpleBean ref)
+ {
+ this.ref = ref;
+ }
+
+
+ public Kernel getKernel()
+ {
+ return kernel;
+ }
+
+ public void setKernel(Kernel kernel)
+ {
+ this.kernel = kernel;
+ }
+
+ public void start()
+ {
+ System.out.println("**************** STARTED");
+ }
+}
Added: trunk/embedded/src/test/java/org/jboss/embedded/test/TimedBinaryBootstrap.java
===================================================================
--- trunk/embedded/src/test/java/org/jboss/embedded/test/TimedBinaryBootstrap.java (rev 0)
+++ trunk/embedded/src/test/java/org/jboss/embedded/test/TimedBinaryBootstrap.java 2007-01-19 18:50:13 UTC (rev 59856)
@@ -0,0 +1,51 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2006, 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.embedded.test;
+
+import org.jboss.embedded.Bootstrap;
+import org.jboss.embedded.BinaryBootstrap;
+
+/**
+ * comment
+ *
+ * @author <a href="bill at jboss.com">Bill Burke</a>
+ * @version $Revision: 1.1 $
+ */
+public class TimedBinaryBootstrap
+{
+ public static void main(String[] args) throws Exception
+ {
+ long start = System.currentTimeMillis();
+ BinaryBootstrap.getInstance().bootstrap();
+ long bootEnd = System.currentTimeMillis();
+ long end = bootEnd - start;
+
+ System.out.println("Bootstrap took: " + end);
+
+ BinaryBootstrap.getInstance().shutdown();
+
+ long shutEnd = System.currentTimeMillis() - bootEnd;
+
+ System.out.println("shutdown took: " + shutEnd);
+
+ }
+}
Added: trunk/embedded/src/test/java/org/jboss/embedded/test/TimedBootstrap.java
===================================================================
--- trunk/embedded/src/test/java/org/jboss/embedded/test/TimedBootstrap.java (rev 0)
+++ trunk/embedded/src/test/java/org/jboss/embedded/test/TimedBootstrap.java 2007-01-19 18:50:13 UTC (rev 59856)
@@ -0,0 +1,50 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2006, 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.embedded.test;
+
+import org.jboss.embedded.Bootstrap;
+
+/**
+ * comment
+ *
+ * @author <a href="bill at jboss.com">Bill Burke</a>
+ * @version $Revision: 1.1 $
+ */
+public class TimedBootstrap
+{
+ public static void main(String[] args) throws Exception
+ {
+ long start = System.currentTimeMillis();
+ Bootstrap.getInstance().bootstrap();
+ long bootEnd = System.currentTimeMillis();
+ long end = bootEnd - start;
+
+ System.out.println("Bootstrap took: " + end);
+
+ Bootstrap.getInstance().shutdown();
+
+ long shutEnd = System.currentTimeMillis() - bootEnd;
+
+ System.out.println("shutdown took: " + shutEnd);
+
+ }
+}
Modified: trunk/embedded/src/test/java/org/jboss/embedded/test/bootstrap/unit/BootstrapTestCase.java
===================================================================
--- trunk/embedded/src/test/java/org/jboss/embedded/test/bootstrap/unit/BootstrapTestCase.java 2007-01-19 18:42:22 UTC (rev 59855)
+++ trunk/embedded/src/test/java/org/jboss/embedded/test/bootstrap/unit/BootstrapTestCase.java 2007-01-19 18:50:13 UTC (rev 59856)
@@ -47,8 +47,6 @@
*/
public class BootstrapTestCase extends TestCase
{
- private static Bootstrap bootstrap = new Bootstrap();
-
public BootstrapTestCase()
{
super("BootstrapTestCase");
@@ -90,7 +88,7 @@
{
try
{
- bootstrap.bootstrap();
+ Bootstrap.getInstance().bootstrap();
}
catch (DeploymentException e)
{
@@ -100,7 +98,7 @@
public static void shutdownEmbeddedJboss()
{
- bootstrap.shutdown();
+ Bootstrap.getInstance().shutdown();
}
public void testDefaultDS() throws Exception
@@ -122,7 +120,7 @@
private static MBeanServer getMBeanServer()
{
- JMXKernel jmxKernel = (JMXKernel)bootstrap.getKernel().getRegistry().getEntry("JMXKernel").getTarget();
+ JMXKernel jmxKernel = (JMXKernel)Bootstrap.getInstance().getKernel().getRegistry().getEntry("JMXKernel").getTarget();
MBeanServer server = jmxKernel.getMbeanServer();
return server;
}
Modified: trunk/embedded/src/test/java/org/jboss/embedded/test/ejb/unit/EjbTestCase.java
===================================================================
--- trunk/embedded/src/test/java/org/jboss/embedded/test/ejb/unit/EjbTestCase.java 2007-01-19 18:42:22 UTC (rev 59855)
+++ trunk/embedded/src/test/java/org/jboss/embedded/test/ejb/unit/EjbTestCase.java 2007-01-19 18:50:13 UTC (rev 59856)
@@ -48,8 +48,6 @@
*/
public class EjbTestCase extends TestCase
{
- private static Bootstrap bootstrap = new Bootstrap();
-
public EjbTestCase()
{
super("BootstrapTestCase");
@@ -91,7 +89,7 @@
{
try
{
- bootstrap.bootstrap();
+ Bootstrap.getInstance().bootstrap();
}
catch (DeploymentException e)
{
@@ -101,7 +99,7 @@
public static void shutdownEmbeddedJboss()
{
- bootstrap.shutdown();
+ Bootstrap.getInstance().shutdown();
}
private static void outputJNDI()
@@ -114,7 +112,7 @@
private static MBeanServer getMBeanServer()
{
- JMXKernel jmxKernel = (JMXKernel)bootstrap.getKernel().getRegistry().getEntry("JMXKernel").getTarget();
+ JMXKernel jmxKernel = (JMXKernel)Bootstrap.getInstance().getKernel().getRegistry().getEntry("JMXKernel").getTarget();
MBeanServer server = jmxKernel.getMbeanServer();
return server;
}
@@ -122,7 +120,7 @@
public void testSimpleEjb() throws Exception
{
- DeploymentGroup group = bootstrap.createDeploymentGroup();
+ DeploymentGroup group = Bootstrap.getInstance().createDeploymentGroup();
group.addClasspath("ejb-test.jar");
group.process();
More information about the jboss-cvs-commits
mailing list