Repository: incubator-reef Updated Branches: refs/heads/master a8ebe24e5 -> b4152d7db
[REEF-304]: Cache loaded ClassHierarchy in ActiveContextBridge This addressed the issue by only loading Class Hierarchy once in the constructor JIRA: [REEF-304](https://issues.apache.org/jira/browse/REEF-304) Pull Request: This closes #176 Project: http://git-wip-us.apache.org/repos/asf/incubator-reef/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-reef/commit/b4152d7d Tree: http://git-wip-us.apache.org/repos/asf/incubator-reef/tree/b4152d7d Diff: http://git-wip-us.apache.org/repos/asf/incubator-reef/diff/b4152d7d Branch: refs/heads/master Commit: b4152d7dbb3f6ca01769fc390a42728b787af79c Parents: a8ebe24 Author: Andrew Chung <[email protected]> Authored: Tue May 5 23:03:42 2015 -0700 Committer: Markus Weimer <[email protected]> Committed: Wed May 6 08:59:22 2015 -0700 ---------------------------------------------------------------------- .../apache/reef/javabridge/ActiveContextBridge.java | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/b4152d7d/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/ActiveContextBridge.java ---------------------------------------------------------------------- diff --git a/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/ActiveContextBridge.java b/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/ActiveContextBridge.java index a0dedf5..b374e73 100644 --- a/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/ActiveContextBridge.java +++ b/lang/java/reef-bridge-java/src/main/java/org/apache/reef/javabridge/ActiveContextBridge.java @@ -30,27 +30,25 @@ import java.util.logging.Logger; public class ActiveContextBridge extends NativeBridge implements Identifiable { private static final Logger LOG = Logger.getLogger(ActiveContextBridge.class.getName()); - private ActiveContext jactiveContext; - - private AvroConfigurationSerializer serializer; - - private String contextId; - - private String evaluatorId; + private final ActiveContext jactiveContext; + private final AvroConfigurationSerializer serializer; + private final String contextId; + private final String evaluatorId; + private final ClassHierarchy clrClassHierarchy; public ActiveContextBridge(ActiveContext activeContext) { jactiveContext = activeContext; serializer = new AvroConfigurationSerializer(); contextId = activeContext.getId(); evaluatorId = activeContext.getEvaluatorId(); + clrClassHierarchy = Utilities.loadClassHierarchy(NativeInterop.CLASS_HIERARCHY_FILENAME); } public void submitTaskString(final String taskConfigurationString) { - if (taskConfigurationString.isEmpty()) { throw new RuntimeException("empty taskConfigurationString provided."); } - ClassHierarchy clrClassHierarchy = Utilities.loadClassHierarchy(NativeInterop.CLASS_HIERARCHY_FILENAME); + Configuration taskConfiguration; try { taskConfiguration = serializer.fromString(taskConfigurationString, clrClassHierarchy);
