You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwebbeans.apache.org by st...@apache.org on 2015/05/25 19:22:29 UTC

svn commit: r1681618 - /openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/event/NotificationManager.java

Author: struberg
Date: Mon May 25 17:22:28 2015
New Revision: 1681618

URL: http://svn.apache.org/r1681618
Log:
OWB-798 do event binding check only if no observer could be found.

saves a lot of performance for most events

Modified:
    openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/event/NotificationManager.java

Modified: openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/event/NotificationManager.java
URL: http://svn.apache.org/viewvc/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/event/NotificationManager.java?rev=1681618&r1=1681617&r2=1681618&view=diff
==============================================================================
--- openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/event/NotificationManager.java (original)
+++ openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/event/NotificationManager.java Mon May 25 17:22:28 2015
@@ -177,8 +177,6 @@ public final class NotificationManager
 
     public <T> Set<ObserverMethod<? super T>> resolveObservers(T event, EventMetadataImpl metadata, boolean isLifecycleEvent)
     {
-        EventUtil.checkEventBindings(webBeansContext, metadata.getQualifiers());
-
         Type eventType = metadata.validatedType();
         Set<ObserverMethod<? super T>> observersMethods = filterByType(event, eventType, isLifecycleEvent);
 
@@ -189,9 +187,10 @@ public final class NotificationManager
             observersMethods = filterByWithAnnotations(observersMethods, ((ProcessAnnotatedType) event).getAnnotatedType());
         }
 
-        //this check for the TCK is only needed if no observer was found
-        if (observersMethods.isEmpty())
+        if (!isLifecycleEvent && observersMethods.isEmpty())
         {
+            //this check for the TCK is only needed if no observer was found
+            EventUtil.checkEventBindings(webBeansContext, metadata.getQualifiers());
             EventUtil.checkQualifierImplementations(metadata.getQualifiers());
         }