Fall through only if loader fails with the available catalog items. https://github.com/apache/brooklyn-server/pull/338#discussion_r94751531
Project: http://git-wip-us.apache.org/repos/asf/brooklyn-server/repo Commit: http://git-wip-us.apache.org/repos/asf/brooklyn-server/commit/68b94ced Tree: http://git-wip-us.apache.org/repos/asf/brooklyn-server/tree/68b94ced Diff: http://git-wip-us.apache.org/repos/asf/brooklyn-server/diff/68b94ced Branch: refs/heads/master Commit: 68b94ced5af0a18be08277e9bdb5aff4696a4e80 Parents: 1e5ca51 Author: Geoff Macartney <[email protected]> Authored: Tue Feb 21 10:17:42 2017 +0000 Committer: Geoff Macartney <[email protected]> Committed: Thu Apr 20 11:20:36 2017 +0100 ---------------------------------------------------------------------- .../brooklyn/core/mgmt/rebind/RebindIteration.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/68b94ced/core/src/main/java/org/apache/brooklyn/core/mgmt/rebind/RebindIteration.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/org/apache/brooklyn/core/mgmt/rebind/RebindIteration.java b/core/src/main/java/org/apache/brooklyn/core/mgmt/rebind/RebindIteration.java index fa0a3af..3e75700 100644 --- a/core/src/main/java/org/apache/brooklyn/core/mgmt/rebind/RebindIteration.java +++ b/core/src/main/java/org/apache/brooklyn/core/mgmt/rebind/RebindIteration.java @@ -952,12 +952,16 @@ public abstract class RebindIteration { List<String> idsFromReboundCatalog = MutableList.of(); if (catalogItemIds != null && !catalogItemIds.isEmpty()) { findCatalogIdsInReboundCatalog(bType, catalogItemIds, contextSuchAsId, idsFromReboundCatalog); - if (idsFromReboundCatalog.size() == catalogItemIds.size()) { + if (idsFromReboundCatalog.size() != catalogItemIds.size()) { + LOG.warn("Unable to load all catalog items "+ Iterables.toString(catalogItemIds) + +" for "+contextSuchAsId + " (" + bType.getSimpleName()+"); attempting load nevertheless"); + } + try { BrooklynClassLoadingContext loader = CatalogUtils.newClassLoadingContextForCatalogItems(managementContext, idsFromReboundCatalog); return new LoadedClass<T>(loader.loadClass(jType, bType), idsFromReboundCatalog); - } else { - LOG.warn("Unable to load all catalog items "+ Iterables.toString(catalogItemIds) +" for "+contextSuchAsId - +" ("+bType.getSimpleName()+"); will try default class loader"); + } catch (Exception e) { + Exceptions.propagateIfFatal(e); + LOG.warn("Unable to load "+jType+" using loader; will try reflections"); } }
