[jboss-cvs] JBossAS SVN: r86208 - in projects/ejb3/trunk: endpoint-deployer and 31 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Mar 23 10:48:14 EDT 2009
Author: wolfc
Date: 2009-03-23 10:48:14 -0400 (Mon, 23 Mar 2009)
New Revision: 86208
Added:
projects/ejb3/trunk/endpoint-deployer/
projects/ejb3/trunk/endpoint-deployer/.classpath
projects/ejb3/trunk/endpoint-deployer/.project
projects/ejb3/trunk/endpoint-deployer/.settings/
projects/ejb3/trunk/endpoint-deployer/.settings/org.eclipse.jdt.core.prefs
projects/ejb3/trunk/endpoint-deployer/.settings/org.maven.ide.eclipse.prefs
projects/ejb3/trunk/endpoint-deployer/ObjectStore/
projects/ejb3/trunk/endpoint-deployer/ObjectStore/HashedActionStore/
projects/ejb3/trunk/endpoint-deployer/ObjectStore/HashedActionStore/defaultStore/
projects/ejb3/trunk/endpoint-deployer/ObjectStore/HashedActionStore/defaultStore/Recovery/
projects/ejb3/trunk/endpoint-deployer/ObjectStore/HashedActionStore/defaultStore/Recovery/TransactionStatusManager/
projects/ejb3/trunk/endpoint-deployer/pom.xml
projects/ejb3/trunk/endpoint-deployer/src/
projects/ejb3/trunk/endpoint-deployer/src/main/
projects/ejb3/trunk/endpoint-deployer/src/main/java/
projects/ejb3/trunk/endpoint-deployer/src/main/java/org/
projects/ejb3/trunk/endpoint-deployer/src/main/java/org/jboss/
projects/ejb3/trunk/endpoint-deployer/src/main/java/org/jboss/ejb3/
projects/ejb3/trunk/endpoint-deployer/src/main/java/org/jboss/ejb3/endpoint/
projects/ejb3/trunk/endpoint-deployer/src/main/java/org/jboss/ejb3/endpoint/deployers/
projects/ejb3/trunk/endpoint-deployer/src/main/java/org/jboss/ejb3/endpoint/deployers/EJB3EndpointDeployer.java
projects/ejb3/trunk/endpoint-deployer/src/main/java/org/jboss/ejb3/endpoint/deployers/EJBIdentifier.java
projects/ejb3/trunk/endpoint-deployer/src/main/java/org/jboss/ejb3/endpoint/deployers/impl/
projects/ejb3/trunk/endpoint-deployer/src/main/java/org/jboss/ejb3/endpoint/deployers/impl/EndpointImpl.java
projects/ejb3/trunk/endpoint-deployer/src/main/resources/
projects/ejb3/trunk/endpoint-deployer/src/main/resources/META-INF/
projects/ejb3/trunk/endpoint-deployer/src/main/resources/META-INF/jboss-beans.xml
projects/ejb3/trunk/endpoint-deployer/src/test/
projects/ejb3/trunk/endpoint-deployer/src/test/java/
projects/ejb3/trunk/endpoint-deployer/src/test/java/org/
projects/ejb3/trunk/endpoint-deployer/src/test/java/org/jboss/
projects/ejb3/trunk/endpoint-deployer/src/test/java/org/jboss/ejb3/
projects/ejb3/trunk/endpoint-deployer/src/test/java/org/jboss/ejb3/endpoint/
projects/ejb3/trunk/endpoint-deployer/src/test/java/org/jboss/ejb3/endpoint/deployers/
projects/ejb3/trunk/endpoint-deployer/src/test/java/org/jboss/ejb3/endpoint/deployers/test/
projects/ejb3/trunk/endpoint-deployer/src/test/java/org/jboss/ejb3/endpoint/deployers/test/common/
projects/ejb3/trunk/endpoint-deployer/src/test/java/org/jboss/ejb3/endpoint/deployers/test/common/MockEJBIdentifier.java
projects/ejb3/trunk/endpoint-deployer/src/test/java/org/jboss/ejb3/endpoint/deployers/test/common/MockTimerServiceFactory.java
projects/ejb3/trunk/endpoint-deployer/src/test/java/org/jboss/ejb3/endpoint/deployers/test/simple/
projects/ejb3/trunk/endpoint-deployer/src/test/java/org/jboss/ejb3/endpoint/deployers/test/simple/Greeter.java
projects/ejb3/trunk/endpoint-deployer/src/test/java/org/jboss/ejb3/endpoint/deployers/test/simple/MyStatelessBean.java
projects/ejb3/trunk/endpoint-deployer/src/test/java/org/jboss/ejb3/endpoint/deployers/test/simple/unit/
projects/ejb3/trunk/endpoint-deployer/src/test/java/org/jboss/ejb3/endpoint/deployers/test/simple/unit/DeployEndpointTestCase.java
projects/ejb3/trunk/endpoint-deployer/src/test/resources/
projects/ejb3/trunk/endpoint-deployer/src/test/resources/conf/
projects/ejb3/trunk/endpoint-deployer/src/test/resources/conf/bootstrap.xml
projects/ejb3/trunk/endpoint-deployer/src/test/resources/conf/bootstrap/
projects/ejb3/trunk/endpoint-deployer/src/test/resources/conf/bootstrap/aop.xml
projects/ejb3/trunk/endpoint-deployer/src/test/resources/conf/bootstrap/classloader.xml
projects/ejb3/trunk/endpoint-deployer/src/test/resources/conf/bootstrap/deployers.xml
projects/ejb3/trunk/endpoint-deployer/src/test/resources/deploy/
projects/ejb3/trunk/endpoint-deployer/src/test/resources/deploy/ejb-container-beans.xml
projects/ejb3/trunk/endpoint-deployer/src/test/resources/deploy/ejb-deployers-beans.xml
projects/ejb3/trunk/endpoint-deployer/src/test/resources/deploy/jpa-deployers-beans.xml
projects/ejb3/trunk/endpoint-deployer/src/test/resources/deploy/naming-beans.xml
projects/ejb3/trunk/endpoint-deployer/src/test/resources/deploy/transactionmanager-beans.xml
projects/ejb3/trunk/endpoint-deployer/src/test/resources/log4j.xml
Log:
EJBTHREE-1786: initial setup of an endpoint deployer
Property changes on: projects/ejb3/trunk/endpoint-deployer
___________________________________________________________________
Name: svn:ignore
+ eclipse-target
target
Added: projects/ejb3/trunk/endpoint-deployer/.classpath
===================================================================
--- projects/ejb3/trunk/endpoint-deployer/.classpath (rev 0)
+++ projects/ejb3/trunk/endpoint-deployer/.classpath 2009-03-23 14:48:14 UTC (rev 86208)
@@ -0,0 +1,9 @@
+<classpath>
+ <classpathentry kind="src" path="src/main/java"/>
+ <classpathentry kind="src" path="src/main/resources" excluding="**/*.java"/>
+ <classpathentry kind="src" path="src/test/java" output="eclipse-target/tests-classes"/>
+ <classpathentry kind="src" path="src/test/resources" output="eclipse-target/tests-classes" excluding="**/*.java"/>
+ <classpathentry kind="output" path="eclipse-target/classes"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+ <classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
+</classpath>
\ No newline at end of file
Added: projects/ejb3/trunk/endpoint-deployer/.project
===================================================================
--- projects/ejb3/trunk/endpoint-deployer/.project (rev 0)
+++ projects/ejb3/trunk/endpoint-deployer/.project 2009-03-23 14:48:14 UTC (rev 86208)
@@ -0,0 +1,18 @@
+<projectDescription>
+ <name>jboss-ejb3-endpoint-deployer</name>
+ <comment>The Endpoint Deployer is an adapter for component
+ for Core, which deploys Endpoints for each session container.</comment>
+ <projects/>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ </buildCommand>
+ <buildCommand>
+ <name>org.maven.ide.eclipse.maven2Builder</name>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.maven.ide.eclipse.maven2Nature</nature>
+ </natures>
+</projectDescription>
\ No newline at end of file
Added: projects/ejb3/trunk/endpoint-deployer/.settings/org.eclipse.jdt.core.prefs
===================================================================
--- projects/ejb3/trunk/endpoint-deployer/.settings/org.eclipse.jdt.core.prefs (rev 0)
+++ projects/ejb3/trunk/endpoint-deployer/.settings/org.eclipse.jdt.core.prefs 2009-03-23 14:48:14 UTC (rev 86208)
@@ -0,0 +1,5 @@
+#Mon Mar 23 10:51:10 CET 2009
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.source=1.5
+org.eclipse.jdt.core.compiler.compliance=1.5
Added: projects/ejb3/trunk/endpoint-deployer/.settings/org.maven.ide.eclipse.prefs
===================================================================
--- projects/ejb3/trunk/endpoint-deployer/.settings/org.maven.ide.eclipse.prefs (rev 0)
+++ projects/ejb3/trunk/endpoint-deployer/.settings/org.maven.ide.eclipse.prefs 2009-03-23 14:48:14 UTC (rev 86208)
@@ -0,0 +1,8 @@
+#Mon Mar 23 11:42:22 CET 2009
+activeProfiles=eclipse
+eclipse.preferences.version=1
+fullBuildGoals=
+includeModules=false
+resolveWorkspaceProjects=false
+resourceFilterGoals=
+version=1
Added: projects/ejb3/trunk/endpoint-deployer/pom.xml
===================================================================
--- projects/ejb3/trunk/endpoint-deployer/pom.xml (rev 0)
+++ projects/ejb3/trunk/endpoint-deployer/pom.xml 2009-03-23 14:48:14 UTC (rev 86208)
@@ -0,0 +1,101 @@
+<!--
+ vi:ts=2:sw=2:expandtab
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+ <parent>
+ <groupId>org.jboss.ejb3</groupId>
+ <artifactId>jboss-ejb3-build</artifactId>
+ <version>1.0.2</version>
+ </parent>
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <!-- Artifact Configuration -->
+ <groupId>org.jboss.ejb3</groupId>
+ <artifactId>jboss-ejb3-endpoint-deployer</artifactId>
+ <version>0.1.0-SNAPSHOT</version>
+ <name>JBoss EJB 3.x Endpoint Deployer</name>
+ <description>
+ The Endpoint Deployer is an adapter for component
+ for Core, which deploys Endpoints for each session container.
+ </description>
+ <url>http://www.jboss.org/jbossejb3</url>
+
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.jboss.bootstrap</groupId>
+ <artifactId>jboss-bootstrap</artifactId>
+ <version>1.0.0-Beta-2</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.jboss.deployers</groupId>
+ <artifactId>jboss-deployers-vfs</artifactId>
+ <version>${version.org.jboss.deployers}</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.jboss.ejb3</groupId>
+ <artifactId>jboss-ejb3-aop-deployers</artifactId>
+ <version>0.1.0-SNAPSHOT</version>
+ <scope>test</scope>
+ </dependency>
+
+ <!-- TODO: this should come in via ejb3-deployers, for now we want to override embedded -->
+ <dependency>
+ <groupId>org.jboss.ejb3</groupId>
+ <artifactId>jboss-ejb3-core</artifactId>
+ <version>1.1.3-SNAPSHOT</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.jboss.jbossas</groupId>
+ <artifactId>jboss-as-bootstrap</artifactId>
+ </exclusion>
+ </exclusions>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.jboss.ejb3</groupId>
+ <artifactId>jboss-ejb3-endpoint</artifactId>
+ <version>0.1.0-SNAPSHOT</version>
+ </dependency>
+
+ <!-- FIXME: this must be ejb3-deployers, because else we get a recursive dependency -->
+ <dependency>
+ <groupId>org.jboss.ejb3</groupId>
+ <artifactId>jboss-ejb3-embedded</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <scope>test</scope>
+ </dependency>
+
+ <!--
+ <dependency>
+ <groupId>org.jboss.logging</groupId>
+ <artifactId>jboss-logging-spi</artifactId>
+ </dependency>
+ -->
+
+ <dependency>
+ <groupId>org.jboss.microcontainer</groupId>
+ <artifactId>jboss-aop-mc-int</artifactId>
+ <version>2.0.0.CR5</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.jboss.logging</groupId>
+ <artifactId>jboss-logging-log4j</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+</project>
Added: projects/ejb3/trunk/endpoint-deployer/src/main/java/org/jboss/ejb3/endpoint/deployers/EJB3EndpointDeployer.java
===================================================================
--- projects/ejb3/trunk/endpoint-deployer/src/main/java/org/jboss/ejb3/endpoint/deployers/EJB3EndpointDeployer.java (rev 0)
+++ projects/ejb3/trunk/endpoint-deployer/src/main/java/org/jboss/ejb3/endpoint/deployers/EJB3EndpointDeployer.java 2009-03-23 14:48:14 UTC (rev 86208)
@@ -0,0 +1,101 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2009, 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.ejb3.endpoint.deployers;
+
+import org.jboss.beans.metadata.api.annotations.Inject;
+import org.jboss.beans.metadata.plugins.builder.BeanMetaDataBuilderFactory;
+import org.jboss.beans.metadata.spi.BeanMetaData;
+import org.jboss.beans.metadata.spi.builder.BeanMetaDataBuilder;
+import org.jboss.deployers.spi.DeploymentException;
+import org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.ejb3.endpoint.deployers.impl.EndpointImpl;
+import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
+import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeansMetaData;
+import org.jboss.metadata.ejb.jboss.JBossMetaData;
+import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
+
+/**
+ * @author <a href="mailto:cdewolf at redhat.com">Carlo de Wolf</a>
+ * @version $Revision: $
+ */
+public class EJB3EndpointDeployer extends AbstractSimpleRealDeployer<JBossMetaData>
+{
+ private EJBIdentifier identifier;
+
+ public EJB3EndpointDeployer()
+ {
+ super(JBossMetaData.class);
+ setOutput(BeanMetaData.class);
+ }
+
+ @Override
+ public void deploy(DeploymentUnit unit, JBossMetaData metaData) throws DeploymentException
+ {
+ JBossEnterpriseBeansMetaData beans = metaData.getEnterpriseBeans();
+ for (JBossEnterpriseBeanMetaData bean : beans)
+ {
+ if (bean.isSession())
+ {
+ log.debug("found bean " + bean);
+ // Create view for each bean
+ deploy(unit, (JBossSessionBeanMetaData) bean);
+ }
+ }
+ }
+
+ protected void deploy(DeploymentUnit unit, JBossSessionBeanMetaData beanMetaData) throws DeploymentException
+ {
+ String ejbBeanName = identifier.identifyEJB(unit, beanMetaData.getEjbName());
+ String name = ejbBeanName + "_endpoint";
+ BeanMetaDataBuilder builder = BeanMetaDataBuilderFactory.createBuilder(name, EndpointImpl.class.getName());
+ builder.addPropertyMetaData("container", builder.createInject(ejbBeanName));
+ BeanMetaData bmd = builder.getBeanMetaData();
+ log.info("Deploy " + bmd);
+ unit.addAttachment(BeanMetaData.class + ":" + name, bmd);
+ }
+
+ @Inject
+ public void setEJBIdentifier(EJBIdentifier identifier)
+ {
+ this.identifier = identifier;
+ }
+
+ @Override
+ public void undeploy(DeploymentUnit unit, JBossMetaData metaData)
+ {
+ JBossEnterpriseBeansMetaData beans = metaData.getEnterpriseBeans();
+ for (JBossEnterpriseBeanMetaData bean : beans)
+ {
+ if (bean.isSession())
+ {
+ log.debug("found bean " + bean);
+ // Create view for each bean
+ undeploy(unit, (JBossSessionBeanMetaData) bean);
+ }
+ }
+ }
+
+ protected void undeploy(DeploymentUnit unit, JBossSessionBeanMetaData bean)
+ {
+ }
+}
Added: projects/ejb3/trunk/endpoint-deployer/src/main/java/org/jboss/ejb3/endpoint/deployers/EJBIdentifier.java
===================================================================
--- projects/ejb3/trunk/endpoint-deployer/src/main/java/org/jboss/ejb3/endpoint/deployers/EJBIdentifier.java (rev 0)
+++ projects/ejb3/trunk/endpoint-deployer/src/main/java/org/jboss/ejb3/endpoint/deployers/EJBIdentifier.java 2009-03-23 14:48:14 UTC (rev 86208)
@@ -0,0 +1,33 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2009, 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.ejb3.endpoint.deployers;
+
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+
+/**
+ * @author <a href="mailto:cdewolf at redhat.com">Carlo de Wolf</a>
+ * @version $Revision: $
+ */
+public interface EJBIdentifier
+{
+ String identifyEJB(DeploymentUnit unit, String ejbName);
+}
Added: projects/ejb3/trunk/endpoint-deployer/src/main/java/org/jboss/ejb3/endpoint/deployers/impl/EndpointImpl.java
===================================================================
--- projects/ejb3/trunk/endpoint-deployer/src/main/java/org/jboss/ejb3/endpoint/deployers/impl/EndpointImpl.java (rev 0)
+++ projects/ejb3/trunk/endpoint-deployer/src/main/java/org/jboss/ejb3/endpoint/deployers/impl/EndpointImpl.java 2009-03-23 14:48:14 UTC (rev 86208)
@@ -0,0 +1,115 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2009, 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.ejb3.endpoint.deployers.impl;
+
+import java.io.Serializable;
+import java.lang.reflect.Method;
+import java.lang.reflect.Proxy;
+
+import org.jboss.aop.advice.Interceptor;
+import org.jboss.ejb3.common.lang.SerializableMethod;
+import org.jboss.ejb3.endpoint.Endpoint;
+import org.jboss.ejb3.proxy.impl.handler.session.SessionProxyInvocationHandler;
+import org.jboss.ejb3.proxy.spi.container.InvokableContext;
+
+/**
+ * @author <a href="mailto:cdewolf at redhat.com">Carlo de Wolf</a>
+ * @version $Revision: $
+ */
+public class EndpointImpl implements Endpoint
+{
+ private InvokableContext container;
+
+ public Object invoke(final Serializable session, Class<?> invokedBusinessInterface, Method method, Object[] args)
+ throws Throwable
+ {
+ ClassLoader loader = Thread.currentThread().getContextClassLoader();
+ Class<?> interfaces[] = { invokedBusinessInterface };
+ SessionProxyInvocationHandler handler = new SessionProxyInvocationHandler() {
+ private static final long serialVersionUID = 1L;
+
+ public String getBusinessInterfaceType()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public String getContainerGuid()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public String getContainerName()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public Interceptor[] getInterceptors()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public Object getTarget()
+ {
+ return session;
+ }
+
+ public void setBusinessInterfaceType(String businessInterfaceType)
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public void setContainerGuid(String containerGuid)
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public void setContainerName(String containerName)
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public void setInterceptors(Interceptor[] interceptors)
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public void setTarget(Object target)
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public Object invoke(Object proxy, Method method, Object[] args) throws Throwable
+ {
+ throw new UnsupportedOperationException();
+ }
+ };
+ Object proxy = Proxy.newProxyInstance(loader, interfaces, handler);
+ SerializableMethod businessMethod = new SerializableMethod(method, invokedBusinessInterface);
+ return container.invoke(proxy, businessMethod, args);
+ }
+
+ //@Inject
+ public void setContainer(InvokableContext container)
+ {
+ this.container = container;
+ }
+}
Added: projects/ejb3/trunk/endpoint-deployer/src/main/resources/META-INF/jboss-beans.xml
===================================================================
--- projects/ejb3/trunk/endpoint-deployer/src/main/resources/META-INF/jboss-beans.xml (rev 0)
+++ projects/ejb3/trunk/endpoint-deployer/src/main/resources/META-INF/jboss-beans.xml 2009-03-23 14:48:14 UTC (rev 86208)
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+ <bean name="EJB3EndpointDeployer" class="org.jboss.ejb3.endpoint.deployers.EJB3EndpointDeployer"/>
+</deployment>
\ No newline at end of file
Added: projects/ejb3/trunk/endpoint-deployer/src/test/java/org/jboss/ejb3/endpoint/deployers/test/common/MockEJBIdentifier.java
===================================================================
--- projects/ejb3/trunk/endpoint-deployer/src/test/java/org/jboss/ejb3/endpoint/deployers/test/common/MockEJBIdentifier.java (rev 0)
+++ projects/ejb3/trunk/endpoint-deployer/src/test/java/org/jboss/ejb3/endpoint/deployers/test/common/MockEJBIdentifier.java 2009-03-23 14:48:14 UTC (rev 86208)
@@ -0,0 +1,87 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2009, 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.ejb3.endpoint.deployers.test.common;
+
+import javax.management.MalformedObjectNameException;
+import javax.management.ObjectName;
+
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.ejb3.endpoint.deployers.EJBIdentifier;
+import org.jboss.logging.Logger;
+import org.jboss.metadata.ear.spec.EarMetaData;
+
+/**
+ * @author <a href="mailto:cdewolf at redhat.com">Carlo de Wolf</a>
+ * @version $Revision: $
+ */
+public class MockEJBIdentifier implements EJBIdentifier
+{
+ private static final Logger log = Logger.getLogger(MockEJBIdentifier.class);
+
+ public String identifyEJB(DeploymentUnit unit, String ejbName)
+ {
+ // TODO the base ejb3 jmx object name comes from Ejb3Module.BASE_EJB3_JMX_NAME, but
+ // we don't need any reference to ejb3-core. Right now just hard code here, we need
+ // a better way/place for this later
+ StringBuilder containerName = new StringBuilder("jboss.j2ee:service=EJB3" + ",");
+
+ // Get the top level unit for this unit (ex: the top level might be an ear and this unit might be the jar
+ // in that ear
+ DeploymentUnit toplevelUnit = unit.getTopLevel();
+ if (toplevelUnit != null)
+ {
+ // if top level is an ear, then create the name with the ear reference
+ if (toplevelUnit.getAttachment(EarMetaData.class) != null)
+ {
+ containerName.append("ear=");
+ containerName.append(toplevelUnit.getSimpleName());
+ containerName.append(",");
+
+ }
+ }
+ // now work on the passed unit, to get the jar name
+ if (unit.getSimpleName() == null)
+ {
+ containerName.append("*");
+ }
+ else
+ {
+ containerName.append("jar=");
+ containerName.append(unit.getSimpleName());
+ }
+ // now the ejbname
+ containerName.append(",name=");
+ containerName.append(ejbName);
+
+ log.info("Container name generated for ejb = " + ejbName + " in unit " + unit + " is " + containerName);
+
+ try
+ {
+ ObjectName containerJMXName = new ObjectName(containerName.toString());
+ return containerJMXName.getCanonicalName();
+ }
+ catch(MalformedObjectNameException e)
+ {
+ throw new RuntimeException(e);
+ }
+ }
+}
Added: projects/ejb3/trunk/endpoint-deployer/src/test/java/org/jboss/ejb3/endpoint/deployers/test/common/MockTimerServiceFactory.java
===================================================================
--- projects/ejb3/trunk/endpoint-deployer/src/test/java/org/jboss/ejb3/endpoint/deployers/test/common/MockTimerServiceFactory.java (rev 0)
+++ projects/ejb3/trunk/endpoint-deployer/src/test/java/org/jboss/ejb3/endpoint/deployers/test/common/MockTimerServiceFactory.java 2009-03-23 14:48:14 UTC (rev 86208)
@@ -0,0 +1,53 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2009, 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.ejb3.endpoint.deployers.test.common;
+
+import javax.ejb.TimerService;
+
+import org.jboss.ejb3.timerservice.spi.TimedObjectInvoker;
+import org.jboss.ejb3.timerservice.spi.TimerServiceFactory;
+import org.jboss.logging.Logger;
+
+/**
+ * @author <a href="mailto:cdewolf at redhat.com">Carlo de Wolf</a>
+ * @version $Revision: $
+ */
+public class MockTimerServiceFactory implements TimerServiceFactory
+{
+ private static final Logger log = Logger.getLogger(MockTimerServiceFactory.class);
+
+ public TimerService createTimerService(TimedObjectInvoker invoker)
+ {
+ log.info("not creating a timer service");
+ return null;
+ }
+
+ public void restoreTimerService(TimerService timerService)
+ {
+ log.info("ignoring timer service restore");
+ }
+
+ public void suspendTimerService(TimerService timerService)
+ {
+ log.info("ignoring timer service suspend");
+ }
+}
Added: projects/ejb3/trunk/endpoint-deployer/src/test/java/org/jboss/ejb3/endpoint/deployers/test/simple/Greeter.java
===================================================================
--- projects/ejb3/trunk/endpoint-deployer/src/test/java/org/jboss/ejb3/endpoint/deployers/test/simple/Greeter.java (rev 0)
+++ projects/ejb3/trunk/endpoint-deployer/src/test/java/org/jboss/ejb3/endpoint/deployers/test/simple/Greeter.java 2009-03-23 14:48:14 UTC (rev 86208)
@@ -0,0 +1,31 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2009, 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.ejb3.endpoint.deployers.test.simple;
+
+/**
+ * @author <a href="mailto:cdewolf at redhat.com">Carlo de Wolf</a>
+ * @version $Revision: $
+ */
+public interface Greeter
+{
+ String sayHi(String me);
+}
Added: projects/ejb3/trunk/endpoint-deployer/src/test/java/org/jboss/ejb3/endpoint/deployers/test/simple/MyStatelessBean.java
===================================================================
--- projects/ejb3/trunk/endpoint-deployer/src/test/java/org/jboss/ejb3/endpoint/deployers/test/simple/MyStatelessBean.java (rev 0)
+++ projects/ejb3/trunk/endpoint-deployer/src/test/java/org/jboss/ejb3/endpoint/deployers/test/simple/MyStatelessBean.java 2009-03-23 14:48:14 UTC (rev 86208)
@@ -0,0 +1,38 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2009, 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.ejb3.endpoint.deployers.test.simple;
+
+import javax.ejb.Stateless;
+
+/**
+ * @author <a href="mailto:cdewolf at redhat.com">Carlo de Wolf</a>
+ * @version $Revision: $
+ */
+// TODO: some kind of error on metadata decoration occurs when implementing a default local interface
+ at Stateless
+public class MyStatelessBean //implements Greeter
+{
+ public String sayHi(String me)
+ {
+ return "Hi " + me + " from " + MyStatelessBean.class.getSimpleName();
+ }
+}
Added: projects/ejb3/trunk/endpoint-deployer/src/test/java/org/jboss/ejb3/endpoint/deployers/test/simple/unit/DeployEndpointTestCase.java
===================================================================
--- projects/ejb3/trunk/endpoint-deployer/src/test/java/org/jboss/ejb3/endpoint/deployers/test/simple/unit/DeployEndpointTestCase.java (rev 0)
+++ projects/ejb3/trunk/endpoint-deployer/src/test/java/org/jboss/ejb3/endpoint/deployers/test/simple/unit/DeployEndpointTestCase.java 2009-03-23 14:48:14 UTC (rev 86208)
@@ -0,0 +1,181 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2009, 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.ejb3.endpoint.deployers.test.simple.unit;
+
+import static org.junit.Assert.assertEquals;
+
+import java.io.File;
+import java.io.IOException;
+import java.lang.reflect.Proxy;
+import java.net.MalformedURLException;
+import java.net.URI;
+import java.net.URL;
+import java.util.List;
+import java.util.Properties;
+
+import org.jboss.bootstrap.microcontainer.ServerImpl;
+import org.jboss.bootstrap.spi.ServerConfig;
+import org.jboss.bootstrap.spi.microcontainer.MCServer;
+import org.jboss.dependency.spi.ControllerContext;
+import org.jboss.dependency.spi.ControllerState;
+import org.jboss.deployers.client.spi.main.MainDeployer;
+import org.jboss.deployers.spi.DeploymentException;
+import org.jboss.deployers.vfs.spi.client.VFSDeployment;
+import org.jboss.deployers.vfs.spi.client.VFSDeploymentFactory;
+import org.jboss.ejb3.endpoint.Endpoint;
+import org.jboss.ejb3.endpoint.deployers.test.simple.Greeter;
+import org.jboss.ejb3.endpoint.reflect.EndpointInvocationHandler;
+import org.jboss.logging.Logger;
+import org.jboss.virtual.VFS;
+import org.jboss.virtual.VirtualFile;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+/**
+ * @author <a href="mailto:cdewolf at redhat.com">Carlo de Wolf</a>
+ * @version $Revision: $
+ */
+public class DeployEndpointTestCase
+{
+ private static final Logger log = Logger.getLogger(DeployEndpointTestCase.class);
+
+ private static MCServer server;
+ private static MainDeployer mainDeployer;
+
+ @AfterClass
+ public static void afterClass()
+ {
+ if(server != null)
+ server.shutdown();
+ }
+
+ @BeforeClass
+ public static void beforeClass() throws Exception
+ {
+ server = new ServerImpl();
+
+ String dir = mkdir("target/bootstrap");
+
+ Properties props = new Properties();
+ props.put(ServerConfig.HOME_DIR, dir);
+ props.put(ServerConfig.SERVER_CONFIG_URL, findDir("src/test/resources/conf"));
+ server.init(props);
+
+ server.start();
+
+ mainDeployer = (MainDeployer) server.getKernel().getController().getContext("MainDeployer", ControllerState.INSTALLED).getTarget();
+
+ // TODO: another hack that simulates profile service going through deploy dir
+ VirtualFile deployDir = VFS.getRoot(findDirURI("src/test/resources/deploy"));
+ List<VirtualFile> candidates = deployDir.getChildren();
+ for(VirtualFile candidate : candidates)
+ {
+ deploy(candidate.toURL());
+ }
+
+ // TODO:
+ deployResource("ejb3-interceptors-aop.xml");
+
+ URL url = new File("src/main/resources").toURI().toURL();
+ log.debug("url = " + url);
+ deploy(url);
+
+ deploy(getURLToTestClasses());
+ }
+
+ protected static void deployResource(String name) throws DeploymentException, IOException
+ {
+ URL url = Thread.currentThread().getContextClassLoader().getResource(name);
+ if(url == null)
+ throw new IllegalArgumentException("Resource " + name + " not found");
+ deploy(url);
+ }
+
+ protected static void deploy(URL url) throws DeploymentException, IOException
+ {
+ VirtualFile root = VFS.getRoot(url);
+ VFSDeployment deployment = VFSDeploymentFactory.getInstance().createVFSDeployment(root);
+ mainDeployer.deploy(deployment);
+ mainDeployer.checkComplete(deployment);
+ }
+
+ private static String findDir(String path) throws IOException
+ {
+ File file = new File(path);
+ boolean success = file.isDirectory();
+ if(!success)
+ throw new IOException("failed to find " + path);
+ return file.toURI().toString();
+ }
+
+ private static URI findDirURI(String path) throws IOException
+ {
+ File file = new File(path);
+ boolean success = file.isDirectory();
+ if(!success)
+ throw new IOException("failed to find " + path);
+ return file.toURI();
+ }
+
+ private static URL getURLToTestClasses()
+ {
+ try
+ {
+ String p = "org/jboss/ejb3/endpoint/deployers/test";
+ URL url = Thread.currentThread().getContextClassLoader().getResource(p);
+ String s = url.toString();
+ return new URL(s.substring(0, s.length() - p.length()));
+ }
+ catch(MalformedURLException e)
+ {
+ throw new RuntimeException(e);
+ }
+ }
+
+ private static String mkdir(String path) throws IOException
+ {
+ File file = new File(path);
+ boolean success = file.mkdirs() || file.isDirectory();
+ if(!success)
+ throw new IOException("failed to create " + path);
+ return file.getAbsolutePath();
+ }
+
+ @Test
+ public void test1() throws Throwable
+ {
+ // name is not important
+ String name = "jboss.j2ee:jar=tests-classes,name=MyStatelessBean,service=EJB3_endpoint";
+ ControllerState state = null;
+ ControllerContext context = server.getKernel().getController().getContext(name, state);
+ if(context.getState() != ControllerState.INSTALLED)
+ context.getController().change(context, ControllerState.INSTALLED);
+ Endpoint endpoint = (Endpoint) context.getTarget();
+ EndpointInvocationHandler handler = new EndpointInvocationHandler(endpoint, null, Greeter.class);
+ ClassLoader loader = Thread.currentThread().getContextClassLoader();
+ Class<?> interfaces[] = { Greeter.class };
+ Greeter bean = (Greeter) Proxy.newProxyInstance(loader, interfaces, handler);
+ String result = bean.sayHi("Thingy");
+ assertEquals("Hi Thingy from MyStatelessBean", result);
+ }
+}
Added: projects/ejb3/trunk/endpoint-deployer/src/test/resources/conf/bootstrap/aop.xml
===================================================================
--- projects/ejb3/trunk/endpoint-deployer/src/test/resources/conf/bootstrap/aop.xml (rev 0)
+++ projects/ejb3/trunk/endpoint-deployer/src/test/resources/conf/bootstrap/aop.xml 2009-03-23 14:48:14 UTC (rev 86208)
@@ -0,0 +1,80 @@
+<?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">
+ <!-- TODO
+ <root>${jboss.lib.url}jboss-aop-asintegration-core.jar</root>
+ <root>${jboss.lib.url}jboss-aop-asintegration-jmx.jar</root>
+ <root>${jboss.lib.url}jboss-aop-asintegration-mc.jar</root>
+ <root>${jboss.lib.url}jboss-aop-jboss5.jar</root>
+ -->
+ </classloader>
+
+ <!-- Integration -->
+ <bean name="AOPJBossIntegration" class="org.jboss.aop.asintegration.jboss5.JBoss5Integration"/>
+
+ <bean name="DefaultAspectManager" class="org.jboss.aop.microcontainer.beans.metadata.DefaultAspectManager">
+ <property name="managerBean">AspectManager</property>
+ <property name="managerProperty">aspectManager</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>
+ -->
+ <!--
+ By default the deployment of the aspects contained in
+ ../deployers/jboss-aop-jboss5.deployer/base-aspects.xml
+ are not deployed. To turn on deployment uncomment this property
+ <property name="useBaseXml">true</property>
+ -->
+ </bean>
+
+</deployment>
Added: projects/ejb3/trunk/endpoint-deployer/src/test/resources/conf/bootstrap/classloader.xml
===================================================================
--- projects/ejb3/trunk/endpoint-deployer/src/test/resources/conf/bootstrap/classloader.xml (rev 0)
+++ projects/ejb3/trunk/endpoint-deployer/src/test/resources/conf/bootstrap/classloader.xml 2009-03-23 14:48:14 UTC (rev 86208)
@@ -0,0 +1,34 @@
+<?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>
+
+ <!--
+ 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">
+ <classloader><null/></classloader>
+ <incallback method="addModule" state="Configured"/>
+ <uncallback method="removeModule" state="Configured"/>
+ </bean>
+
+ <classloader name="bootstrap-classloader" xmlns="urn:jboss:classloader:1.0" export-all="NON_EMPTY" import-all="true">
+ <!-- System -->
+ <!-- TODO
+ <root>${jboss.lib.url}jboss-system.jar</root>
+ -->
+ </classloader>
+
+</deployment>
Added: projects/ejb3/trunk/endpoint-deployer/src/test/resources/conf/bootstrap/deployers.xml
===================================================================
--- projects/ejb3/trunk/endpoint-deployer/src/test/resources/conf/bootstrap/deployers.xml (rev 0)
+++ projects/ejb3/trunk/endpoint-deployer/src/test/resources/conf/bootstrap/deployers.xml 2009-03-23 14:48:14 UTC (rev 86208)
@@ -0,0 +1,246 @@
+<?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>
+
+ <!-- use legacy ordering -->
+ <!-- Can't depend on AS
+ <bean name="topContextComparator">
+ <constructor factoryClass="org.jboss.system.deployers.LegacyDeploymentContextComparator" factoryMethod="getInstance"/>
+ </bean>
+ -->
+
+ <!-- The ManagedObjectFactory -->
+ <!-- No managed stuff in unit test
+ <bean name="ManagedObjectFactory">
+ <constructor factoryClass="org.jboss.managed.api.factory.ManagedObjectFactory" factoryMethod="getInstance"/>
+ <!- - Accept any implementor of InstanceClassFactory - ->
+ <incallback method="addInstanceClassFactory"/>
+ <uncallback method="removeInstanceClassFactory"/>
+ </bean>
+ -->
+ <!-- The ManagedObjectCreator implementation -->
+ <!-- No managed stuff in unit test
+ <bean name="ManagedObjectCreator" class="org.jboss.deployers.spi.deployer.helpers.DefaultManagedObjectCreator">
+ <property name="mof"><inject bean="ManagedObjectFactory"/></property>
+ </bean>
+ -->
+
+ <!-- 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>
+ <property name="comparator"><inject bean="topContextComparator"/></property>
+ -->
+ </bean>
+
+ <!-- The ManagedDeploymentCreator implementation that supports mapping
+ attachment types to ManagedDeployment#getTypes
+ -->
+ <!-- Can't depend on AS
+ <bean name="ManagedDeploymentCreator" class="org.jboss.deployers.plugins.managed.TypedManagedDeploymentCreator" />
+ -->
+
+ <!-- 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">
+ <annotation>@org.jboss.aop.microcontainer.aspects.jmx.JMX(name="jboss.deployment:service=DeployersImpl", exposedInterface=org.jboss.deployers.plugins.deployers.DeployersImplMBean.class, registerDirectly=true)</annotation>
+ <constructor><parameter><inject bean="jboss.kernel:service=KernelController"/></parameter></constructor>
+ <!-- Accept any implementor of deployer -->
+ <incallback method="addDeployer"/>
+ <uncallback method="removeDeployer"/>
+ <property name="mgtObjectCreator"><inject option="optional" bean="ManagedObjectCreator"/></property>
+ </bean>
+
+ <!-- A declared structure descriptor deployer -->
+ <bean name="DeclaredStructure" class="org.jboss.deployers.vfs.plugins.structure.explicit.DeclaredStructure"/>
+
+ <!-- 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>
+
+ <!-- Old AOP deployment
+ <bean name="AspectAppParsingDeployer" class="org.jboss.aop.asintegration.jboss5.AspectAppParsingDeployer"/>
+ <bean name="AspectDeployer" class="org.jboss.aop.asintegration.jboss5.AspectDeployer">
+ <property name="aspectManager"><inject bean="AspectManager" property="aspectManager"/></property>
+ </bean>
+ -->
+
+ <bean name="AOPXMLMetaDataParserDeployer" class="org.jboss.deployers.vfs.spi.deployer.SchemaResolverDeployer">
+ <constructor>
+ <parameter>org.jboss.aop.microcontainer.beans.metadata.AOPDeployment</parameter>
+ </constructor>
+ <property name="suffix">-aop.xml</property>
+ </bean>
+ <bean name="AOPAnnotationMetaDataParserDeployer" class="org.jboss.aop.asintegration.jboss5.AOPAnnotationMetaDataParserDeployer">
+ <constructor>
+ <parameter><inject bean="AOPXMLMetaDataParserDeployer" property="relativeOrder"/></parameter>
+ </constructor>
+ </bean>
+ <bean name="AOPClassLoaderDeployer" class="org.jboss.aop.asintegration.jboss5.AOPClassLoaderDeployer">
+ <property name="aspectManager"><inject bean="AspectManager" property="aspectManager"/></property>
+ </bean>
+ <bean name="AOPDeploymentAopMetaDataDeployer" class="org.jboss.aop.asintegration.jboss5.AOPDeploymentAopMetaDataDeployer">
+ <property name="kernel"><inject bean="jboss.kernel:service=Kernel"/></property>
+ <property name="aspectManager"><inject bean="AspectManager" property="aspectManager"/></property>
+ </bean>
+ <bean name="BeansDeploymentAopMetaDataDeployer" class="org.jboss.aop.asintegration.jboss5.BeansDeploymentAopMetaDataDeployer">
+ <property name="kernel"><inject bean="jboss.kernel:service=Kernel"/></property>
+ <property name="aspectManager"><inject bean="AspectManager" property="aspectManager"/></property>
+ </bean>
+
+ <!-- POJO Deployment -->
+ <!--
+ <bean name="BeanMetaDataICF" class="org.jboss.deployers.plugins.managed.BeanMetaDataICF">
+ <property name="controller"><inject bean="jboss.kernel:service=KernelController"/></property>
+ </bean>
+ <bean name="KernelDeploymentManagedObjectCreator" class="org.jboss.deployers.plugins.managed.KernelDeploymentManagedObjectCreator">
+ <constructor><parameter><inject bean="ManagedObjectFactory"/></parameter></constructor>
+ </bean>
+ <bean name="BeanDeployer" class="org.jboss.deployers.vfs.deployer.kernel.BeanDeployer">
+ <property name="suffix">jboss-beans.xml</property>
+ </bean>
+ <bean name="KernelDeploymentDeployer" class="org.jboss.deployers.vfs.deployer.kernel.KernelDeploymentDeployer">
+ <install bean="ManagedDeploymentCreator" method="addAttachmentType">
+ <parameter>
+ <value>org.jboss.kernel.spi.deployment.KernelDeployment</value>
+ </parameter>
+ <parameter>
+ <value>beans</value>
+ </parameter>
+ </install>
+ <uninstall bean="ManagedDeploymentCreator" method="removeAttachmentType">
+ <parameter>
+ <value>org.jboss.kernel.spi.deployment.KernelDeployment</value>
+ </parameter>
+ </uninstall>
+ <property name="mgtObjectCreator"><inject bean="KernelDeploymentManagedObjectCreator"/></property>
+ </bean>
+ <bean name="BeanMetaDataDeployer" class="org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataDeployer">
+ <constructor><parameter class="org.jboss.kernel.Kernel"><inject bean="jboss.kernel:service=Kernel"/></parameter></constructor>
+ </bean>
+ -->
+
+ <!-- POJO Deployment, the bare essentials -->
+ <bean name="BeanDeployer" class="org.jboss.deployers.vfs.deployer.kernel.BeanDeployer"/>
+ <bean name="KernelDeploymentDeployer" class="org.jboss.deployers.vfs.deployer.kernel.KernelDeploymentDeployer"/>
+ <bean name="BeanMetaDataDeployer" class="org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataDeployer">
+ <constructor><parameter class="org.jboss.kernel.Kernel"><inject bean="jboss.kernel:service=Kernel"/></parameter></constructor>
+ </bean>
+
+ <!-- JMX Deployment -->
+ <!-- No JMX support in unit test
+ <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">
+ </bean>
+ <bean name="ServiceClassLoaderDeployer" class="org.jboss.system.deployers.ServiceClassLoaderDeployer"/>
+ <bean name="ServiceDeploymentDeployer" class="org.jboss.system.deployers.ServiceDeploymentDeployer">
+ </bean>
+ <bean name="ServiceDeployer" class="org.jboss.system.deployers.ServiceDeployer">
+ <constructor><parameter><inject bean="JMXKernel" property="serviceController"/></parameter></constructor>
+ </bean>
+ -->
+
+ <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="ClassLoaderClassPathDeployer" class="org.jboss.deployers.vfs.plugins.classloader.VFSClassLoaderClassPathDeployer"/>
+ <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: projects/ejb3/trunk/endpoint-deployer/src/test/resources/conf/bootstrap.xml
===================================================================
--- projects/ejb3/trunk/endpoint-deployer/src/test/resources/conf/bootstrap.xml (rev 0)
+++ projects/ejb3/trunk/endpoint-deployer/src/test/resources/conf/bootstrap.xml 2009-03-23 14:48:14 UTC (rev 86208)
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bootstrap xmlns="urn:jboss:bootstrap:1.0">
+<!-- JBoss AS 5.x Bootstrap
+ <url>bootstrap/logging.xml</url>
+ <url>bootstrap/vfs.xml</url>
+ <url>bootstrap/classloader.xml</url>
+ <url>bootstrap/aop.xml</url>
+ <url>bootstrap/jmx.xml</url>
+ <url>bootstrap/deployers.xml</url>
+ <url>bootstrap/bindings.xml</url>
+ <url>bootstrap/profile.xml</url>
+-->
+ <!-- Custom bootstrap -->
+ <!--
+ <url>bootstrap/naming.xml</url>
+ <url>bootstrap/jmx-jdk.xml</url>
+ -->
+ <url>bootstrap/classloader.xml</url>
+ <url>bootstrap/aop.xml</url>
+ <url>bootstrap/deployers.xml</url>
+</bootstrap>
Added: projects/ejb3/trunk/endpoint-deployer/src/test/resources/deploy/ejb-container-beans.xml
===================================================================
--- projects/ejb3/trunk/endpoint-deployer/src/test/resources/deploy/ejb-container-beans.xml (rev 0)
+++ projects/ejb3/trunk/endpoint-deployer/src/test/resources/deploy/ejb-container-beans.xml 2009-03-23 14:48:14 UTC (rev 86208)
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+ <!-- The provider for EJB3 UserTransactions -->
+ <bean name="EJB3UserTransactionprovider" class="org.jboss.ejb3.tx.EJB3UserTransactionProvider">
+ <constructor factoryClass="org.jboss.ejb3.tx.EJB3UserTransactionProvider" factoryMethod="getSingleton"/>
+ </bean>
+
+ <bean name="EmbeddedCachedConnectionManagerBridge" class="org.jboss.ejb3.embedded.connectionmanager.EmbeddedCachedConnectionManager"/>
+
+ <bean name="EJBIdentifier" class="org.jboss.ejb3.endpoint.deployers.test.common.MockEJBIdentifier"/>
+
+ <bean name="TimerServiceFactory" class="org.jboss.ejb3.endpoint.deployers.test.common.MockTimerServiceFactory"/>
+</deployment>
Added: projects/ejb3/trunk/endpoint-deployer/src/test/resources/deploy/ejb-deployers-beans.xml
===================================================================
--- projects/ejb3/trunk/endpoint-deployer/src/test/resources/deploy/ejb-deployers-beans.xml (rev 0)
+++ projects/ejb3/trunk/endpoint-deployer/src/test/resources/deploy/ejb-deployers-beans.xml 2009-03-23 14:48:14 UTC (rev 86208)
@@ -0,0 +1,154 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+ <!-- TODO: move SchemaResolverConfig to a more general beans.xml -->
+ <bean name="SchemaResolverConfig" class="org.jboss.xb.binding.sunday.unmarshalling.SchemaResolverConfig">
+ <property name="bindingClassesByLocations">
+ <map keyClass="java.lang.String" valueClass="java.lang.String">
+ <entry>
+ <key>ejb-jar_3_0.xsd</key>
+ <value>org.jboss.metadata.ejb.spec.EjbJar30MetaData</value>
+ </entry>
+ <entry>
+ <key>jboss_5_0.xsd</key>
+ <value>org.jboss.metadata.ejb.jboss.JBoss50MetaData</value>
+ </entry>
+ <entry>
+ <key>persistence_1_0.xsd</key>
+ <value>org.jboss.metadata.jpa.spec.PersistenceMetaData</value>
+ </entry>
+ </map>
+ </property>
+ </bean>
+
+ <!-- Deployer which parses the ejb-jar.xml -->
+ <bean name="EjbParsingDeployer" class="org.jboss.deployers.vfs.spi.deployer.SchemaResolverDeployer">
+
+ <constructor>
+ <parameter class="java.lang.Class">org.jboss.metadata.ejb.spec.EjbJarMetaData</parameter>
+ </constructor>
+ <property name="name">ejb-jar.xml</property>
+ <!-- We need to be fast, so no schema validation -->
+ <property name="useSchemaValidation">false</property>
+ </bean>
+
+ <!-- Deployer which parses jboss.xml -->
+ <bean name="JBossEjbParsingDeployer" class="org.jboss.deployers.vfs.spi.deployer.SchemaResolverDeployer">
+
+ <constructor>
+ <parameter class="java.lang.Class">org.jboss.metadata.ejb.jboss.JBossMetaData</parameter>
+ </constructor>
+ <property name="name">jboss.xml</property>
+ <!-- We need to be fast, so no schema validation -->
+ <property name="useSchemaValidation">false</property>
+ </bean>
+
+
+ <bean name="EjbAnnotationMetaDataDeployer" class="org.jboss.ejb3.deployers.EjbAnnotationMetaDataDeployer"/>
+
+ <bean name="MergedJBossMetaDataDeployer" class="org.jboss.ejb3.deployers.MergedJBossMetaDataDeployer"/>
+
+ <bean name="EjbMetadataJndiPolicyDecoratorDeployer" class="org.jboss.ejb3.deployers.EjbMetadataJndiPolicyDecoratorDeployer"/>
+
+ <!-- EJB3 ProcessorChain Deployer -->
+ <bean name="Ejb3MetadataProcessingDeployer" class="org.jboss.ejb3.deployers.Ejb3MetadataProcessingDeployer" />
+
+ <bean name="EjbModuleDeployer" class="org.jboss.ejb3.embedded.deployers.EjbModuleDeployer"/>
+ <bean name="EjbComponentDeployer" class="org.jboss.ejb3.embedded.deployers.EjbComponentDeployer"/>
+
+ <bean name="MessageDestinationReferenceResolver" class="org.jboss.ejb3.embedded.resolvers.EmbeddedMessageDestinationReferenceResolver"/>
+
+ <!-- EJB3 Cache Factory Registry -->
+ <bean name="EJB3CacheFactoryRegistry" class="org.jboss.ejb3.cache.CacheFactoryRegistry">
+ <property name="factories">
+ <!-- Define each of the registered factories -->
+ <map class="java.util.HashMap" keyClass="java.lang.String"
+ valueClass="java.lang.Class">
+ <!-- NoPassivationCache -->
+ <entry>
+ <key>NoPassivationCache</key>
+ <value>org.jboss.ejb3.cache.NoPassivationCacheFactory</value>
+ </entry>
+ <!-- SimpleStatefulCache -->
+ <entry>
+ <key>SimpleStatefulCache</key>
+ <value>org.jboss.ejb3.cache.simple.SimpleStatefulCacheFactory</value>
+ </entry>
+ <!-- StatefulTreeCache -->
+ <entry>
+ <key>StatefulTreeCache</key>
+ <value>org.jboss.ejb3.cache.tree.StatefulTreeCacheFactory</value>
+ </entry>
+ </map>
+ </property>
+ </bean>
+
+ <!-- EJB3 Persistence Manager Factory Registry -->
+ <bean name="EJB3PersistenceManagerFactoryRegistry" class="org.jboss.ejb3.cache.persistence.PersistenceManagerFactoryRegistry">
+ <property name="factories">
+ <!-- Define each of the registered factories -->
+ <map class="java.util.HashMap" keyClass="java.lang.String"
+ valueClass="java.lang.Class">
+ <!-- StatefulSessionFilePersistenceManager -->
+ <entry>
+ <key>StatefulSessionFilePersistenceManager</key>
+ <value>org.jboss.ejb3.cache.simple.StatefulSessionFilePersistenceManagerFactory</value>
+ </entry>
+ </map>
+ </property>
+ </bean>
+
+ <!-- EJB3 Pool Factory Registry -->
+ <bean name="EJB3PoolFactoryRegistry" class="org.jboss.ejb3.pool.PoolFactoryRegistry">
+ <property name="factories">
+ <!-- Define each of the registered factories -->
+ <map class="java.util.HashMap" keyClass="java.lang.String"
+ valueClass="java.lang.Class">
+ <!-- ThreadlocalPool -->
+ <entry>
+ <key>ThreadlocalPool</key>
+ <value>org.jboss.ejb3.pool.ThreadlocalPoolFactory</value>
+ </entry>
+ <!-- StrictMaxPool -->
+ <entry>
+ <key>StrictMaxPool</key>
+ <value>org.jboss.ejb3.pool.StrictMaxPoolFactory</value>
+ </entry>
+ </map>
+ </property>
+ </bean>
+
+ <!-- SFSB JNDI Registrar -->
+ <bean name="org.jboss.ejb3.JndiRegistrar.Session.SFSBJndiRegistrar"
+ class="org.jboss.ejb3.proxy.impl.jndiregistrar.JndiStatefulSessionRegistrar">
+ <constructor>
+ <parameter>
+ org.jboss.ejb3.proxy.impl.objectfactory.session.stateful.StatefulSessionProxyObjectFactory
+ </parameter>
+ </constructor>
+ </bean>
+
+ <!-- SLSB JNDI Registrar -->
+ <bean name="org.jboss.ejb3.JndiRegistrar.Session.SLSBJndiRegistrar"
+ class="org.jboss.ejb3.proxy.impl.jndiregistrar.JndiStatelessSessionRegistrar">
+ <constructor>
+ <parameter>
+ org.jboss.ejb3.proxy.impl.objectfactory.session.stateless.StatelessSessionProxyObjectFactory
+ </parameter>
+ </constructor>
+ </bean>
+
+ <!-- We could have directly used the org.jboss.ejb3.Ejb3Registry as a MC bean
+ and added the "register" and "unregister" methods as callbacks, but since
+ those methods are "static", MC complains and throws exception. So let's use
+ this indirection for the time being.
+
+ The Ejb3Registry is looked up by the IsLocalInterceptor for EJB containers.
+ -->
+
+ <bean name="EJB3ComponentRegistry" class="org.jboss.ejb3.embedded.Ejb3ComponentRegistry">
+ <!-- Accept any implementor of org.jboss.ejb3.EJBContainer -->
+ <incallback method="addContainer"/>
+ <uncallback method="removeContainer"/>
+ </bean>
+
+</deployment>
\ No newline at end of file
Added: projects/ejb3/trunk/endpoint-deployer/src/test/resources/deploy/jpa-deployers-beans.xml
===================================================================
--- projects/ejb3/trunk/endpoint-deployer/src/test/resources/deploy/jpa-deployers-beans.xml (rev 0)
+++ projects/ejb3/trunk/endpoint-deployer/src/test/resources/deploy/jpa-deployers-beans.xml 2009-03-23 14:48:14 UTC (rev 86208)
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+ <bean name="DataSourceDependencyResolver" class="org.jboss.ejb3.embedded.resolvers.EmbeddedDataSourceDependencyResolver"/>
+
+ <bean name="JavaEEModuleInformer" class="org.jboss.ejb3.embedded.javaee.SimpleJavaEEModuleInformer"/>
+
+ <bean name="SpecCompliantSearchStrategy" class="org.jboss.jpa.resolvers.strategy.SpecCompliantSearchStrategy"/>
+
+ <!-- DefaultPersistenceUnitDependencyResolver for spec compliant resolving. Uses SpecCompliantSearchStrategy-->
+ <bean name="PersistenceUnitDependencyResolver" class="org.jboss.jpa.resolvers.DefaultPersistenceUnitDependencyResolver"/>
+
+ <bean name="PersistenceParsingDeployer" class="org.jboss.jpa.deployers.PersistenceParsingDeployer"/>
+
+ <bean name="PersistenceDeployer" class="org.jboss.jpa.deployers.PersistenceDeployer"/>
+ <bean name="PersistenceUnitDeployer" class="org.jboss.jpa.deployers.PersistenceUnitDeployer">
+ <property name="defaultPersistenceProperties">
+ <map keyClass="java.lang.String" valueClass="java.lang.String">
+ <entry>
+ <key>hibernate.transaction.manager_lookup_class</key>
+ <value>org.hibernate.transaction.JBossTransactionManagerLookup</value>
+ </entry>
+ </map>
+ </property>
+ </bean>
+</deployment>
\ No newline at end of file
Added: projects/ejb3/trunk/endpoint-deployer/src/test/resources/deploy/naming-beans.xml
===================================================================
--- projects/ejb3/trunk/endpoint-deployer/src/test/resources/deploy/naming-beans.xml (rev 0)
+++ projects/ejb3/trunk/endpoint-deployer/src/test/resources/deploy/naming-beans.xml 2009-03-23 14:48:14 UTC (rev 86208)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+ <!-- JNDI -->
+ <bean name="NamingServer" class="org.jnp.server.SingletonNamingServer"/>
+
+ <bean name="JavaCompInitializer" class="org.jboss.naming.JavaCompInitializer">
+ <depends>NamingServer</depends>
+ </bean>
+</deployment>
\ No newline at end of file
Added: projects/ejb3/trunk/endpoint-deployer/src/test/resources/deploy/transactionmanager-beans.xml
===================================================================
--- projects/ejb3/trunk/endpoint-deployer/src/test/resources/deploy/transactionmanager-beans.xml (rev 0)
+++ projects/ejb3/trunk/endpoint-deployer/src/test/resources/deploy/transactionmanager-beans.xml 2009-03-23 14:48:14 UTC (rev 86208)
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+ <!-- JTA -->
+ <bean name="TransactionManager" class="org.jboss.ejb3.embedded.service.SimpleTransactionService">
+ <depends>NamingServer</depends>
+ </bean>
+
+ <bean name="RealTransactionManager">
+ <constructor factoryMethod="getTransactionManager">
+ <factory bean="TransactionManager"/>
+ </constructor>
+ </bean>
+</deployment>
Added: projects/ejb3/trunk/endpoint-deployer/src/test/resources/log4j.xml
===================================================================
--- projects/ejb3/trunk/endpoint-deployer/src/test/resources/log4j.xml (rev 0)
+++ projects/ejb3/trunk/endpoint-deployer/src/test/resources/log4j.xml 2009-03-23 14:48:14 UTC (rev 86208)
@@ -0,0 +1,133 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+<!-- ===================================================================== -->
+<!-- -->
+<!-- Log4j Configuration -->
+<!-- -->
+<!-- ===================================================================== -->
+
+<!-- $Id: log4j.xml 68671 2008-01-08 10:04:25Z wolfc $ -->
+
+<!--
+ | For more configuration infromation and examples see the Jakarta Log4j
+ | owebsite: http://jakarta.apache.org/log4j
+ -->
+
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="false">
+
+ <!-- ================================= -->
+ <!-- Preserve messages in a local file -->
+ <!-- ================================= -->
+
+ <!-- A time/date based rolling appender -->
+ <appender name="FILE" class="org.jboss.logging.appender.DailyRollingFileAppender">
+ <param name="File" value="target/test.log"/>
+ <param name="Append" value="false"/>
+
+ <!-- Rollover at midnight each day -->
+ <param name="DatePattern" value="'.'yyyy-MM-dd"/>
+
+ <!-- Rollover at the top of each hour
+ <param name="DatePattern" value="'.'yyyy-MM-dd-HH"/>
+ -->
+
+ <layout class="org.apache.log4j.PatternLayout">
+ <!-- The default pattern: Date Priority [Category] Message\n -->
+ <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/>
+
+ <!-- The full pattern: Date MS Priority [Category] (Thread:NDC) Message\n
+ <param name="ConversionPattern" value="%d %-5r %-5p [%c] (%t:%x) %m%n"/>
+ -->
+ </layout>
+ </appender>
+
+ <!-- A size based file rolling appender
+ <appender name="FILE" class="org.jboss.logging.appender.RollingFileAppender">
+ <param name="File" value="${jboss.server.home.dir}/log/server.log"/>
+ <param name="Append" value="false"/>
+ <param name="MaxFileSize" value="500KB"/>
+ <param name="MaxBackupIndex" value="1"/>
+
+ <layout class="org.apache.log4j.PatternLayout">
+ <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/>
+ </layout>
+ </appender>
+ -->
+
+ <!-- ============================== -->
+ <!-- Append messages to the console -->
+ <!-- ============================== -->
+
+ <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
+ <param name="Target" value="System.out"/>
+ <param name="Threshold" value="ALL"/>
+
+ <layout class="org.apache.log4j.PatternLayout">
+ <!-- The default pattern: Date Priority [Category] Message\n -->
+ <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n"/>
+ </layout>
+ </appender>
+
+
+ <!-- ================ -->
+ <!-- Limit categories -->
+ <!-- ================ -->
+
+ <!-- Limit JBoss categories to INFO
+ <category name="org.jboss">
+ <priority value="INFO" class="org.jboss.logging.XLevel"/>
+ </category>
+ -->
+
+ <!-- Increase the priority threshold for the DefaultDS category
+ <category name="DefaultDS">
+ <priority value="FATAL"/>
+ </category>
+ -->
+
+ <!-- Decrease the priority threshold for the org.jboss.varia category
+ <category name="org.jboss.varia">
+ <priority value="DEBUG"/>
+ </category>
+ -->
+
+ <!--
+ | An example of enabling the custom TRACE level priority that is used
+ | by the JBoss internals to diagnose low level details. This example
+ | turns on TRACE level msgs for the org.jboss.ejb.plugins package and its
+ | subpackages. This will produce A LOT of logging output.
+ <category name="org.jboss.system">
+ <priority value="TRACE" class="org.jboss.logging.XLevel"/>
+ </category>
+ -->
+
+ <category name="org.jboss">
+ <priority value="INFO"/>
+ </category>
+
+ <!--
+ <category name="org.jboss.ejb3">
+ <priority value="ALL"/>
+ </category>
+ -->
+
+ <category name="org.jboss.kernel.plugins.dependency">
+ <priority value="ERROR"/>
+ </category>
+
+ <category name="org.jboss.deployers.plugins.deployers.DeployWrapper">
+ <priority value="ERROR"/>
+ </category>
+
+ <!-- ======================= -->
+ <!-- Setup the Root category -->
+ <!-- ======================= -->
+
+ <root>
+ <priority value="WARN" />
+ <appender-ref ref="CONSOLE"/>
+ <appender-ref ref="FILE"/>
+ </root>
+
+</log4j:configuration>
More information about the jboss-cvs-commits
mailing list