Use entity classloader as well as specified libraries.

See https://github.com/apache/brooklyn-server/pull/338#discussion_r80220390.


Project: http://git-wip-us.apache.org/repos/asf/brooklyn-server/repo
Commit: http://git-wip-us.apache.org/repos/asf/brooklyn-server/commit/a5c69782
Tree: http://git-wip-us.apache.org/repos/asf/brooklyn-server/tree/a5c69782
Diff: http://git-wip-us.apache.org/repos/asf/brooklyn-server/diff/a5c69782

Branch: refs/heads/master
Commit: a5c697822aeb6d7975aab7138d2ac6628f60c5f9
Parents: 47c5580
Author: Geoff Macartney <[email protected]>
Authored: Fri Sep 23 11:53:09 2016 +0100
Committer: Geoff Macartney <[email protected]>
Committed: Thu Apr 20 11:18:42 2017 +0100

----------------------------------------------------------------------
 .../brooklyn/core/mgmt/internal/AbstractManagementContext.java | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/a5c69782/core/src/main/java/org/apache/brooklyn/core/mgmt/internal/AbstractManagementContext.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/brooklyn/core/mgmt/internal/AbstractManagementContext.java
 
b/core/src/main/java/org/apache/brooklyn/core/mgmt/internal/AbstractManagementContext.java
index 42c9c14..a92a07b 100644
--- 
a/core/src/main/java/org/apache/brooklyn/core/mgmt/internal/AbstractManagementContext.java
+++ 
b/core/src/main/java/org/apache/brooklyn/core/mgmt/internal/AbstractManagementContext.java
@@ -133,7 +133,8 @@ public abstract class AbstractManagementContext implements 
ManagementContextInte
                     EntityInternal internal = (EntityInternal)input;
                     final List<String> catalogItemSuperIds = 
internal.getCatalogItemSuperIds();
                     if (catalogItemSuperIds.size() > 0) {
-                        BrooklynClassLoadingContextSequential seqLoader = new 
BrooklynClassLoadingContextSequential(internal.getManagementContext());
+                        BrooklynClassLoadingContextSequential seqLoader =
+                            new 
BrooklynClassLoadingContextSequential(internal.getManagementContext());
                         for (String catalogItemId : catalogItemSuperIds) {
                             addCatalogItemContext(internal, seqLoader, 
catalogItemId);
                         }
@@ -142,6 +143,9 @@ public abstract class AbstractManagementContext implements 
ManagementContextInte
                         if (seqLoader.getPrimaries().size() != 
catalogItemSuperIds.size()) {
                             log.error("Couldn't find all catalog items  used 
for instantiating entity " + internal);
                         }
+                        JavaBrooklynClassLoadingContext entityLoader =
+                            
JavaBrooklynClassLoadingContext.create(input.getClass().getClassLoader());
+                        seqLoader.add(entityLoader);
                         return seqLoader;
                     }
                     return apply(internal.getManagementSupport());

Reply via email to