You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2012/11/06 01:41:26 UTC

svn commit: r1406022 - /openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java

Author: rmannibucau
Date: Tue Nov  6 00:41:25 2012
New Revision: 1406022

URL: http://svn.apache.org/viewvc?rev=1406022&view=rev
Log:
trying to early init ejb which are asked by cdi (extensions) before being started - just do it more properly adapted to containers

Modified:
    openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java

Modified: openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java?rev=1406022&r1=1406021&r2=1406022&view=diff
==============================================================================
--- openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java (original)
+++ openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java Tue Nov  6 00:41:25 2012
@@ -790,8 +790,6 @@ public class Assembler extends Assembler
 
             appContext.getBeanContexts().addAll(allDeployments);
 
-            final Collection<BeanContext> alreadyDeployedBeanContexts = Arrays.asList(containerSystem.deployments());
-
             new CdiBuilder().build(appInfo, appContext, allDeployments);
 
             ensureWebBeansContext(appContext);
@@ -801,23 +799,24 @@ public class Assembler extends Assembler
 
             // now that everything is configured, deploy to the container
             if (start) {
+                final Collection<BeanContext> toStart = new ArrayList<BeanContext>();
+
                 // deploy
                 for (BeanContext deployment : allDeployments) {
-                    if (alreadyDeployedBeanContexts.contains(deployment)) {
-                        continue;
-                    }
-
                     try {
                         Container container = deployment.getContainer();
-                        container.deploy(deployment);
-                        if (!((String) deployment.getDeploymentID()).endsWith(".Comp")
-                                && !deployment.isHidden()) {
-                            logger.info("createApplication.createdEjb", deployment.getDeploymentID(), deployment.getEjbName(), container.getContainerID());
-                        }
-                        if (logger.isDebugEnabled()) {
-                            for (Map.Entry<Object, Object> entry : deployment.getProperties().entrySet()) {
-                                logger.info("createApplication.createdEjb.property", deployment.getEjbName(), entry.getKey(), entry.getValue());
+                        if (container.getBeanContext(deployment.getDeploymentID()) == null) {
+                            container.deploy(deployment);
+                            if (!((String) deployment.getDeploymentID()).endsWith(".Comp")
+                                    && !deployment.isHidden()) {
+                                logger.info("createApplication.createdEjb", deployment.getDeploymentID(), deployment.getEjbName(), container.getContainerID());
+                            }
+                            if (logger.isDebugEnabled()) {
+                                for (Map.Entry<Object, Object> entry : deployment.getProperties().entrySet()) {
+                                    logger.info("createApplication.createdEjb.property", deployment.getEjbName(), entry.getKey(), entry.getValue());
+                                }
                             }
+                            toStart.add(deployment);
                         }
                     } catch (Throwable t) {
                         throw new OpenEJBException("Error deploying '" + deployment.getEjbName() + "'.  Exception: " + t.getClass() + ": " + t.getMessage(), t);
@@ -825,13 +824,9 @@ public class Assembler extends Assembler
                 }
 
                 // start
-                for (BeanContext deployment : allDeployments) {
-                    if (alreadyDeployedBeanContexts.contains(deployment)) {
-                        continue;
-                    }
-
+                for (BeanContext deployment : toStart) {
                     try {
-                        Container container = deployment.getContainer();
+                        final Container container = deployment.getContainer();
                         container.start(deployment);
                         if (!((String) deployment.getDeploymentID()).endsWith(".Comp")
                                 && !deployment.isHidden()) {