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