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());
