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 2013/01/18 18:23:23 UTC

svn commit: r1435256 - in /tomee/tomee/trunk: container/openejb-core/src/main/java/org/apache/openejb/cdi/ container/openejb-core/src/main/java/org/apache/openejb/core/managed/ tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/

Author: rmannibucau
Date: Fri Jan 18 17:23:22 2013
New Revision: 1435256

URL: http://svn.apache.org/viewvc?rev=1435256&view=rev
Log:
logging host when deploying an app (and not only the context) + sending only once cdi events in ear + avoiding NPE

Modified:
    tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/WebappBeanManager.java
    tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/managed/ManagedContainer.java
    tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java

Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/WebappBeanManager.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/WebappBeanManager.java?rev=1435256&r1=1435255&r2=1435256&view=diff
==============================================================================
--- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/WebappBeanManager.java (original)
+++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/cdi/WebappBeanManager.java Fri Jan 18 17:23:22 2013
@@ -27,6 +27,7 @@ import javax.el.ExpressionFactory;
 import javax.enterprise.context.spi.Context;
 import javax.enterprise.context.spi.Contextual;
 import javax.enterprise.context.spi.CreationalContext;
+import javax.enterprise.inject.UnsatisfiedResolutionException;
 import javax.enterprise.inject.spi.AnnotatedType;
 import javax.enterprise.inject.spi.Bean;
 import javax.enterprise.inject.spi.Decorator;
@@ -152,7 +153,7 @@ public class WebappBeanManager extends B
     @Override
     public void fireEvent(Object event, Annotation... qualifiers) {
         super.fireEvent(event, qualifiers);
-        getParentBm().fireEvent(event, qualifiers);
+        // getParentBm().fireEvent(event, qualifiers); // send twice the same event for webapps with extension in lib part
     }
 
     @Override
@@ -204,8 +205,15 @@ public class WebappBeanManager extends B
 
     @Override
     public void validate(InjectionPoint injectionPoint) {
-        super.validate(injectionPoint);
-        // getParentBm().validate(injectionPoint); // prevent injections from webapp only
+        try {
+            super.validate(injectionPoint);
+        } catch (UnsatisfiedResolutionException ure) {
+            try {
+                getParentBm().validate(injectionPoint); // prevent injections from webapp only if called directly
+            } catch (UnsatisfiedResolutionException ure2) {
+                throw ure;
+            }
+        }
     }
 
     @Override

Modified: tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/managed/ManagedContainer.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/managed/ManagedContainer.java?rev=1435256&r1=1435255&r2=1435256&view=diff
==============================================================================
--- tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/managed/ManagedContainer.java (original)
+++ tomee/tomee/trunk/container/openejb-core/src/main/java/org/apache/openejb/core/managed/ManagedContainer.java Fri Jan 18 17:23:22 2013
@@ -251,12 +251,14 @@ public class ManagedContainer implements
     public synchronized void undeploy(final BeanContext bean) throws OpenEJBException {
         final Data data = (Data) bean.getContainerData();
 
-        final MBeanServer server = LocalMBeanServer.get();
-        for (final ObjectName objectName : data.jmxNames) {
-            try {
-                server.unregisterMBean(objectName);
-            } catch (Exception e) {
-                logger.error("Unable to unregister MBean " + objectName);
+        if (data != null) {
+            final MBeanServer server = LocalMBeanServer.get();
+            for (final ObjectName objectName : data.jmxNames) {
+                try {
+                    server.unregisterMBean(objectName);
+                } catch (Exception e) {
+                    logger.error("Unable to unregister MBean " + objectName);
+                }
             }
         }
 

Modified: tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java?rev=1435256&r1=1435255&r2=1435256&view=diff
==============================================================================
--- tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java (original)
+++ tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java Fri Jan 18 17:23:22 2013
@@ -713,7 +713,9 @@ public class TomcatWebAppBuilder impleme
         if (isIgnored(standardContext)) return;
 
         // just adding a carriage return to get logs more readable
-        logger.info("------------------------- " + finalName(standardContext.getPath()));
+        logger.info("------------------------- "
+                + standardContext.getHostname().replace("_", defaultHost) + " -> "
+                + finalName(standardContext.getPath()));
 
         if (FORCE_RELOADABLE) {
             standardContext.setReloadable(true);
@@ -1149,15 +1151,19 @@ public class TomcatWebAppBuilder impleme
             for (final WebAppInfo w : contextInfo.appInfo.webApps) {
                 final String wId = getId(w.host, w.contextRoot);
                 if (id.equals(wId)) {
-                    webAppInfo = w;
-
-                    if (appContext == null) {
-                        appContext = cs.getAppContext(contextInfo.appInfo.appId);
+                    if (webAppInfo == null) {
+                        webAppInfo = w;
+                    } else if (w.host != null && w.host.equals(standardContext.getHostname())) {
+                        webAppInfo = w;
                     }
 
                     break;
                 }
             }
+
+            if (appContext == null) {
+                appContext = cs.getAppContext(contextInfo.appInfo.appId);
+            }
         }
 
         if (webAppInfo != null) {