You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ro...@apache.org on 2014/05/20 13:45:56 UTC

svn commit: r1596214 - /qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectTypeRegistry.java

Author: robbie
Date: Tue May 20 11:45:55 2014
New Revision: 1596214

URL: http://svn.apache.org/r1596214
Log:
QPID-5762: log a warning but allow the model processing to continue when there are unsatisfied dependencies, enabling startup if the associated pluggable services are not being used

Modified:
    qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectTypeRegistry.java

Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectTypeRegistry.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectTypeRegistry.java?rev=1596214&r1=1596213&r2=1596214&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectTypeRegistry.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectTypeRegistry.java Tue May 20 11:45:55 2014
@@ -35,6 +35,7 @@ import java.util.Set;
 import java.util.SortedSet;
 import java.util.TreeSet;
 
+import org.apache.log4j.Logger;
 import org.apache.qpid.server.plugin.ConfiguredObjectRegistration;
 import org.apache.qpid.server.plugin.QpidServiceLoader;
 import org.apache.qpid.server.util.ServerScopedRuntimeException;
@@ -42,6 +43,8 @@ import org.apache.qpid.util.Strings;
 
 public class ConfiguredObjectTypeRegistry
 {
+    private static final Logger LOGGER = Logger.getLogger(ConfiguredObjectTypeRegistry.class);
+
     private static final Comparator<ConfiguredObjectAttributeOrStatistic<?,?>> NAME_COMPARATOR = new Comparator<ConfiguredObjectAttributeOrStatistic<?, ?>>()
     {
         @Override
@@ -88,15 +91,22 @@ public class ConfiguredObjectTypeRegistr
         {
             for (Class<? extends ConfiguredObject> configuredObjectClass : registration.getConfiguredObjectClasses())
             {
-                process(configuredObjectClass);
-                ManagedObject annotation = configuredObjectClass.getAnnotation(ManagedObject.class);
-                if (annotation.category())
+                try
                 {
-                    categories.add(configuredObjectClass);
+                    process(configuredObjectClass);
+                    ManagedObject annotation = configuredObjectClass.getAnnotation(ManagedObject.class);
+                    if (annotation.category())
+                    {
+                        categories.add(configuredObjectClass);
+                    }
+                    if (!"".equals(annotation.type()))
+                    {
+                        types.add(configuredObjectClass);
+                    }
                 }
-                if (!"".equals(annotation.type()))
+                catch(NoClassDefFoundError ncdfe)
                 {
-                    types.add(configuredObjectClass);
+                    LOGGER.warn("A class definition could not be found while processing the model for '" + configuredObjectClass.getName() + "': " + ncdfe.getMessage());
                 }
             }
         }



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org