[jboss-cvs] JBossAS SVN: r96264 - in projects/ejb3/trunk/sandbox: .settings and 6 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Nov 11 11:29:10 EST 2009


Author: wolfc
Date: 2009-11-11 11:29:09 -0500 (Wed, 11 Nov 2009)
New Revision: 96264

Modified:
   projects/ejb3/trunk/sandbox/.project
   projects/ejb3/trunk/sandbox/.settings/org.eclipse.jdt.core.prefs
   projects/ejb3/trunk/sandbox/.settings/org.maven.ide.eclipse.prefs
   projects/ejb3/trunk/sandbox/pom.xml
   projects/ejb3/trunk/sandbox/src/main/java/org/jboss/ejb3/sandbox/interceptorcontainer/InterceptorContainer.java
   projects/ejb3/trunk/sandbox/src/main/java/org/jboss/ejb3/sandbox/stateless/StatelessContainer.java
   projects/ejb3/trunk/sandbox/src/test/java/org/jboss/ejb3/test/sandbox/interceptorinterceptor/unit/InterceptorInterceptorUnitTestCase.java
   projects/ejb3/trunk/sandbox/src/test/java/org/jboss/ejb3/test/sandbox/performance/unit/EJBUnitTestCase.java
   projects/ejb3/trunk/sandbox/src/test/java/org/jboss/ejb3/test/sandbox/performance/unit/StressCreator.java
   projects/ejb3/trunk/sandbox/src/test/java/org/jboss/ejb3/test/sandbox/stateless/unit/SimpleStatelessUnitTestCase.java
   projects/ejb3/trunk/sandbox/src/test/java/org/jboss/ejb3/test/sandbox/tx/unit/TxStatelessUnitTestCase.java
Log:
Fix performance tests


Modified: projects/ejb3/trunk/sandbox/.project
===================================================================
--- projects/ejb3/trunk/sandbox/.project	2009-11-11 15:59:11 UTC (rev 96263)
+++ projects/ejb3/trunk/sandbox/.project	2009-11-11 16:29:09 UTC (rev 96264)
@@ -1,23 +1,17 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <projectDescription>
-	<name>jboss-ejb3-sandbox</name>
-	<comment>The JBoss EJB 3 Sandbox is a try out area</comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.maven.ide.eclipse.maven2Builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.maven.ide.eclipse.maven2Nature</nature>
-	</natures>
-</projectDescription>
+  <name>jboss-ejb3-sandbox</name>
+  <comment>The JBoss EJB 3 Sandbox is a try out area</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

Modified: projects/ejb3/trunk/sandbox/.settings/org.eclipse.jdt.core.prefs
===================================================================
--- projects/ejb3/trunk/sandbox/.settings/org.eclipse.jdt.core.prefs	2009-11-11 15:59:11 UTC (rev 96263)
+++ projects/ejb3/trunk/sandbox/.settings/org.eclipse.jdt.core.prefs	2009-11-11 16:29:09 UTC (rev 96264)
@@ -1,5 +1,5 @@
-#Mon Oct 08 15:42:55 CEST 2007
+#Mon Jun 16 11:22:19 CEST 2008
+eclipse.preferences.version=1
 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.compliance=1.5
 org.eclipse.jdt.core.compiler.source=1.5
-org.eclipse.jdt.core.compiler.compliance=1.5

Modified: projects/ejb3/trunk/sandbox/.settings/org.maven.ide.eclipse.prefs
===================================================================
--- projects/ejb3/trunk/sandbox/.settings/org.maven.ide.eclipse.prefs	2009-11-11 15:59:11 UTC (rev 96263)
+++ projects/ejb3/trunk/sandbox/.settings/org.maven.ide.eclipse.prefs	2009-11-11 16:29:09 UTC (rev 96264)
@@ -1,9 +1,10 @@
-#Fri May 09 17:45:27 CEST 2008
-activeProfiles=
+#Thu Mar 19 13:04:57 CET 2009
+activeProfiles=eclipse
 eclipse.preferences.version=1
 filterResources=false
+fullBuildGoals=
 includeModules=false
-resolveWorkspaceProjects=true
-resourceFilterGoals=process-resources resources\:testResources
+resolveWorkspaceProjects=false
+resourceFilterGoals=
 useMavenFolders=false
 version=1

Modified: projects/ejb3/trunk/sandbox/pom.xml
===================================================================
--- projects/ejb3/trunk/sandbox/pom.xml	2009-11-11 15:59:11 UTC (rev 96263)
+++ projects/ejb3/trunk/sandbox/pom.xml	2009-11-11 16:29:09 UTC (rev 96264)
@@ -6,7 +6,7 @@
   <parent>
     <groupId>org.jboss.ejb3</groupId>
     <artifactId>jboss-ejb3-build</artifactId>
-    <version>1.0.0-SNAPSHOT</version>
+    <version>1.0.3-SNAPSHOT</version>
     <relativePath>../build/pom.xml</relativePath>
   </parent>
   <modelVersion>4.0.0</modelVersion>
@@ -21,7 +21,13 @@
     <dependency>
       <groupId>org.jboss.ejb3</groupId>
       <artifactId>jboss-ejb3-interceptors</artifactId>
-      <version>0.12.0</version>
+      <version>1.0.1</version>
+      <exclusions>
+        <exclusion>
+          <groupId>log4j</groupId>
+          <artifactId>log4j</artifactId>
+        </exclusion>
+      </exclusions>
     </dependency>
     <dependency>
       <groupId>org.jboss.ejb3</groupId>
@@ -30,11 +36,13 @@
     </dependency>
 
     <!-- external -->
+    <!-- 
     <dependency>
       <groupId>apache-log4j</groupId>
       <artifactId>log4j</artifactId>
       <version>1.2.14</version>
     </dependency>
+    -->
     <dependency>
       <groupId>org.jboss.logging</groupId>
       <artifactId>jboss-logging-log4j</artifactId>

Modified: projects/ejb3/trunk/sandbox/src/main/java/org/jboss/ejb3/sandbox/interceptorcontainer/InterceptorContainer.java
===================================================================
--- projects/ejb3/trunk/sandbox/src/main/java/org/jboss/ejb3/sandbox/interceptorcontainer/InterceptorContainer.java	2009-11-11 15:59:11 UTC (rev 96263)
+++ projects/ejb3/trunk/sandbox/src/main/java/org/jboss/ejb3/sandbox/interceptorcontainer/InterceptorContainer.java	2009-11-11 16:29:09 UTC (rev 96264)
@@ -25,11 +25,12 @@
 import java.lang.reflect.AnnotatedElement;
 import java.lang.reflect.Method;
 
+import javax.annotation.Resource;
 import javax.interceptor.Interceptors;
 
 import org.jboss.aop.Advised;
 import org.jboss.ejb3.interceptors.ManagedObject;
-import org.jboss.ejb3.interceptors.direct.DirectContainer;
+import org.jboss.ejb3.interceptors.container.BeanContext;
 import org.jboss.ejb3.interceptors.direct.IndirectContainer;
 import org.jboss.ejb3.sandbox.interceptorcontainer.impl.ContainersInterceptorsInterceptor;
 
@@ -38,16 +39,19 @@
  * on a class.
  *
  * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
- * @version $Revision: $
+ * @version $Revision$
  */
 @Interceptors(ContainersInterceptorsInterceptor.class)
 @ManagedObject
-public class InterceptorContainer implements AnnotatedElement, IndirectContainer<InterceptorContainer, DirectContainer<InterceptorContainer>>
+public class InterceptorContainer implements AnnotatedElement, IndirectContainer<InterceptorContainer, InterceptorContainerContainer>
 {
    private Class<?> beanClass;
    private Object[] interceptors;
-   private DirectContainer<InterceptorContainer> directContainer;
+   private InterceptorContainerContainer directContainer;
    
+   // the bean context of this interceptor container instance
+   private BeanContext<InterceptorContainer> beanContext;
+   
    private static final Method INVOKE_METHOD;
    
    static
@@ -66,6 +70,12 @@
       }
    }
    
+   public InterceptorContainer()
+   {
+      super();
+   }
+   
+   // this is not in EJB style
    public InterceptorContainer(Class<?> beanClass) throws Exception
    {
       assert beanClass != null;
@@ -92,6 +102,12 @@
       return beanClass;
    }
    
+   @Resource(name="beanClass")
+   public void setBeanClass(Class<?> beanClass)
+   {
+      this.beanClass = beanClass;
+   }
+   
    public Object invoke(Method method, Object[] args) throws Throwable
    {
       //return new BeanClassInvocationContext(AroundInvoke.class, method, args).proceed();
@@ -103,7 +119,7 @@
       {
          // I'm indirectly advised, let's delegate to the direct container
          Object arguments[] = { method, args };
-         return directContainer.invokeIndirect(this, INVOKE_METHOD, arguments);
+         return directContainer.invokeIndirect(beanContext, INVOKE_METHOD, arguments);
       }
       else
       {
@@ -113,8 +129,14 @@
       }
    }
 
-   public void setDirectContainer(DirectContainer<InterceptorContainer> container)
+   public void setBeanContext(BeanContext<InterceptorContainer> beanContext)
    {
+      assert beanContext.getInstance() == this;
+      this.beanContext = beanContext;
+   }
+   
+   public void setDirectContainer(InterceptorContainerContainer container)
+   {
       assert container != null : "directContainer is null";
       this.directContainer = container;
    }

Modified: projects/ejb3/trunk/sandbox/src/main/java/org/jboss/ejb3/sandbox/stateless/StatelessContainer.java
===================================================================
--- projects/ejb3/trunk/sandbox/src/main/java/org/jboss/ejb3/sandbox/stateless/StatelessContainer.java	2009-11-11 15:59:11 UTC (rev 96263)
+++ projects/ejb3/trunk/sandbox/src/main/java/org/jboss/ejb3/sandbox/stateless/StatelessContainer.java	2009-11-11 16:29:09 UTC (rev 96264)
@@ -30,16 +30,16 @@
  * Comment
  *
  * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
- * @version $Revision: $
+ * @version $Revision$
  */
 public class StatelessContainer extends InterceptorContainer
 {
    private Pool<StatelessBeanContext> pool;
    
-   public StatelessContainer(Class<?> beanClass) throws Exception
-   {
-      super(beanClass);
-   }
+//   public StatelessContainer(Class<?> beanClass) throws Exception
+//   {
+//      super(beanClass);
+//   }
 
    public Object invoke(Method method, Object args[])
    {

Modified: projects/ejb3/trunk/sandbox/src/test/java/org/jboss/ejb3/test/sandbox/interceptorinterceptor/unit/InterceptorInterceptorUnitTestCase.java
===================================================================
--- projects/ejb3/trunk/sandbox/src/test/java/org/jboss/ejb3/test/sandbox/interceptorinterceptor/unit/InterceptorInterceptorUnitTestCase.java	2009-11-11 15:59:11 UTC (rev 96263)
+++ projects/ejb3/trunk/sandbox/src/test/java/org/jboss/ejb3/test/sandbox/interceptorinterceptor/unit/InterceptorInterceptorUnitTestCase.java	2009-11-11 16:29:09 UTC (rev 96264)
@@ -26,6 +26,7 @@
 import junit.framework.TestCase;
 
 import org.jboss.aop.AspectXmlLoader;
+import org.jboss.ejb3.interceptors.container.BeanContext;
 import org.jboss.ejb3.interceptors.direct.DirectContainer;
 import org.jboss.ejb3.test.sandbox.interceptorinterceptor.InterceptorInterceptorBean;
 import org.jboss.logging.Logger;
@@ -34,7 +35,7 @@
  * Comment
  *
  * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
- * @version $Revision: $
+ * @version $Revision$
  */
 public class InterceptorInterceptorUnitTestCase extends TestCase
 {
@@ -51,6 +52,6 @@
       AspectXmlLoader.deployXML(url);
 
       DirectContainer<InterceptorInterceptorBean> container = new DirectContainer<InterceptorInterceptorBean>("InterceptorInterceptorBean", "InterceptorContainer", InterceptorInterceptorBean.class);
-      InterceptorInterceptorBean instance = container.construct();
+      BeanContext<InterceptorInterceptorBean> instance = container.construct();
    }
 }

Modified: projects/ejb3/trunk/sandbox/src/test/java/org/jboss/ejb3/test/sandbox/performance/unit/EJBUnitTestCase.java
===================================================================
--- projects/ejb3/trunk/sandbox/src/test/java/org/jboss/ejb3/test/sandbox/performance/unit/EJBUnitTestCase.java	2009-11-11 15:59:11 UTC (rev 96263)
+++ projects/ejb3/trunk/sandbox/src/test/java/org/jboss/ejb3/test/sandbox/performance/unit/EJBUnitTestCase.java	2009-11-11 16:29:09 UTC (rev 96264)
@@ -29,19 +29,23 @@
 import junit.framework.TestCase;
 
 import org.jboss.aop.AspectXmlLoader;
-import org.jboss.ejb3.interceptors.direct.DirectContainer;
+import org.jboss.ejb3.interceptors.container.BeanContext;
+import org.jboss.ejb3.interceptors.container.BeanContextFactory;
+import org.jboss.ejb3.sandbox.interceptorcontainer.InjectingBeanContextFactory;
 import org.jboss.ejb3.sandbox.interceptorcontainer.InterceptorContainer;
+import org.jboss.ejb3.sandbox.interceptorcontainer.InterceptorContainerContainer;
 import org.jboss.ejb3.sandbox.stateless.StatelessInterceptor;
 import org.jboss.ejb3.test.sandbox.performance.Calculator;
 import org.jboss.ejb3.test.sandbox.performance.CalculatorBean;
 import org.jboss.logging.Logger;
+import org.jboss.util.naming.Util;
 import org.jnp.server.SingletonNamingServer;
 
 /**
  * Comment
  *
  * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
- * @version $Revision: $
+ * @version $Revision$
  */
 public class EJBUnitTestCase extends TestCase
 {
@@ -56,17 +60,26 @@
       log.info("deploying AOP from " + url);
       AspectXmlLoader.deployXML(url);
 
-      DirectContainer<InterceptorContainer> interceptorContainerContainer = new DirectContainer<InterceptorContainer>("FIXME", "InterceptorContainer", InterceptorContainer.class);
-      Object args[] = { CalculatorBean.class };
-      Class<?> parameterTypes[] = { Class.class };
-      InterceptorContainer interceptorContainer = interceptorContainerContainer.construct(args, parameterTypes);
-      
       InitialContext ctx = new InitialContext();
       
+      Util.bind(ctx, "java:comp/env/beanClass", CalculatorBean.class);
+      
+//      DirectContainer<InterceptorContainer> interceptorContainerContainer = new DirectContainer<InterceptorContainer>("FIXME", "InterceptorContainer", InterceptorContainer.class);
+      final InterceptorContainerContainer interceptorContainerContainer = new InterceptorContainerContainer("FIXME", "InterceptorContainer", InterceptorContainer.class);
+      // With EJBTHREE-1246 construction with arguments no longer works
+      Class<? extends BeanContextFactory<InterceptorContainer, InterceptorContainerContainer>> beanContextFactoryClass = (Class<? extends BeanContextFactory<InterceptorContainer, InterceptorContainerContainer>>) InjectingBeanContextFactory.class;
+      interceptorContainerContainer.setBeanContextFactoryClass(beanContextFactoryClass);
+      final BeanContext<InterceptorContainer> interceptorContainer = interceptorContainerContainer.construct();
+      // FIXME: bug in AbstractDirectContainer.construct
+      interceptorContainer.getInstance().setDirectContainer(interceptorContainerContainer);
+      interceptorContainer.getInstance().setBeanContext(interceptorContainer);
+      
       Calculator bean = (Calculator) ctx.lookup("CalculatorBean/local");
       
       assertNotNull(bean);
       
+      System.out.println(bean.calculatePi(10));
+      
       System.out.println("BLACKBOX MEASURED STATS:");
       StressCreator.createStress(bean);
       //System.err.println(bean.calculatePi(10));

Modified: projects/ejb3/trunk/sandbox/src/test/java/org/jboss/ejb3/test/sandbox/performance/unit/StressCreator.java
===================================================================
--- projects/ejb3/trunk/sandbox/src/test/java/org/jboss/ejb3/test/sandbox/performance/unit/StressCreator.java	2009-11-11 15:59:11 UTC (rev 96263)
+++ projects/ejb3/trunk/sandbox/src/test/java/org/jboss/ejb3/test/sandbox/performance/unit/StressCreator.java	2009-11-11 16:29:09 UTC (rev 96264)
@@ -63,7 +63,7 @@
          start = System.currentTimeMillis();
          try
          {
-            return calculator.calculatePi(8000);
+            return calculator.calculatePi(10000);
          }
          finally
          {
@@ -76,8 +76,8 @@
    {
       ExecutorService executor = new ThreadPoolExecutor(0, Integer.MAX_VALUE, Long.MAX_VALUE, NANOSECONDS,
             new SynchronousQueue<Runnable>());
-      Task tasks[] = new Task[100];
-      Future<BigDecimal> results[] = new Future[100];
+      Task tasks[] = new Task[75];
+      Future<BigDecimal> results[] = new Future[tasks.length];
       long start = System.currentTimeMillis();
       for (int i = 0; i < results.length; i++)
       {
@@ -119,10 +119,11 @@
             maxWaitQueue = Math.max(maxWaitQueue, waitQueue);
             maxExecution = Math.max(maxExecution, execution);
          }
+         
+         double t = tasks.length;
+         System.out.println("Average wait queue " + ((totalWaitQueue / t) / 1000.0));
+         System.out.println("Average execution " + ((totalExecution / t) / 1000.0));
 
-         System.out.println("Average wait queue " + ((totalWaitQueue / 100.0) / 1000.0));
-         System.out.println("Average execution " + ((totalExecution / 100.0) / 1000.0));
-
          System.out.println("Max wait queue " + (maxWaitQueue / 1000.0));
          System.out.println("Max execution " + (maxExecution / 1000.0));
 

Modified: projects/ejb3/trunk/sandbox/src/test/java/org/jboss/ejb3/test/sandbox/stateless/unit/SimpleStatelessUnitTestCase.java
===================================================================
--- projects/ejb3/trunk/sandbox/src/test/java/org/jboss/ejb3/test/sandbox/stateless/unit/SimpleStatelessUnitTestCase.java	2009-11-11 15:59:11 UTC (rev 96263)
+++ projects/ejb3/trunk/sandbox/src/test/java/org/jboss/ejb3/test/sandbox/stateless/unit/SimpleStatelessUnitTestCase.java	2009-11-11 16:29:09 UTC (rev 96264)
@@ -28,6 +28,7 @@
 import junit.framework.TestCase;
 
 import org.jboss.aop.AspectXmlLoader;
+import org.jboss.ejb3.interceptors.container.BeanContext;
 import org.jboss.ejb3.interceptors.direct.DirectContainer;
 import org.jboss.ejb3.sandbox.interceptorcontainer.InterceptorContainer;
 import org.jboss.ejb3.test.sandbox.stateless.SimpleStatelessBean;
@@ -39,7 +40,7 @@
  * Comment
  *
  * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
- * @version $Revision: $
+ * @version $Revision$
  */
 public class SimpleStatelessUnitTestCase extends TestCase
 {
@@ -59,7 +60,7 @@
       DirectContainer<InterceptorContainer> interceptorContainerContainer = new DirectContainer<InterceptorContainer>("FIXME", "InterceptorContainer", InterceptorContainer.class);
       Object args[] = { SimpleStatelessBean.class };
       Class<?> parameterTypes[] = { Class.class };
-      InterceptorContainer interceptorContainer = interceptorContainerContainer.construct(args, parameterTypes);
+      BeanContext<InterceptorContainer> interceptorContainer = interceptorContainerContainer.construct(args, parameterTypes);
       
       InitialContext ctx = new InitialContext();
       

Modified: projects/ejb3/trunk/sandbox/src/test/java/org/jboss/ejb3/test/sandbox/tx/unit/TxStatelessUnitTestCase.java
===================================================================
--- projects/ejb3/trunk/sandbox/src/test/java/org/jboss/ejb3/test/sandbox/tx/unit/TxStatelessUnitTestCase.java	2009-11-11 15:59:11 UTC (rev 96263)
+++ projects/ejb3/trunk/sandbox/src/test/java/org/jboss/ejb3/test/sandbox/tx/unit/TxStatelessUnitTestCase.java	2009-11-11 16:29:09 UTC (rev 96264)
@@ -29,6 +29,7 @@
 import junit.framework.TestCase;
 
 import org.jboss.aop.AspectXmlLoader;
+import org.jboss.ejb3.interceptors.container.BeanContext;
 import org.jboss.ejb3.interceptors.direct.DirectContainer;
 import org.jboss.ejb3.sandbox.interceptorcontainer.InterceptorContainer;
 import org.jboss.ejb3.test.sandbox.tx.TxStatelessBean;
@@ -41,7 +42,7 @@
  * Comment
  *
  * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
- * @version $Revision: $
+ * @version $Revision$
  */
 public class TxStatelessUnitTestCase extends TestCase
 {
@@ -69,7 +70,7 @@
       DirectContainer<InterceptorContainer> interceptorContainerContainer = new DirectContainer<InterceptorContainer>("FIXME", "InterceptorContainer", InterceptorContainer.class);
       Object args[] = { TxStatelessBean.class };
       Class<?> parameterTypes[] = { Class.class };
-      InterceptorContainer interceptorContainer = interceptorContainerContainer.construct(args, parameterTypes);
+      BeanContext<InterceptorContainer> interceptorContainer = interceptorContainerContainer.construct(args, parameterTypes);
       
       TxStatelessLocal bean = (TxStatelessLocal) ctx.lookup("TxStatelessBean/local");
       assertNotNull(bean);




More information about the jboss-cvs-commits mailing list