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()) {