[
https://issues.apache.org/jira/browse/APEXCORE-304?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15107274#comment-15107274
]
ASF GitHub Bot commented on APEXCORE-304:
-----------------------------------------
Github user vrozov commented on a diff in the pull request:
https://github.com/apache/incubator-apex-core/pull/208#discussion_r50163000
--- Diff: engine/src/main/java/com/datatorrent/stram/StramLocalCluster.java
---
@@ -308,6 +313,24 @@ public StramLocalCluster(LogicalPlan dag) throws
IOException, ClassNotFoundExcep
this.dnmgr = new StreamingContainerManager(dag);
this.umbilical = new UmbilicalProtocolLocalImpl();
+ Method addURL;
+ URLClassLoader loader;
+ try {
+ loader = (URLClassLoader)ClassLoader.getSystemClassLoader();
+ addURL = URLClassLoader.class.getDeclaredMethod("addURL", new
Class[] { URL.class });
+ addURL.setAccessible(true);
+ } catch (NoSuchMethodException e) {
+ throw new RuntimeException("No method named addURL found.", e);
+ }
+
+ for (String jarPath : dag.getJarResources().keySet()) {
+ try {
+ addToClasspath(jarPath, loader, addURL);
+ } catch (InvocationTargetException | IllegalAccessException e) {
--- End diff --
Is it necessary to catch exception inside the loop? Both
InvocationTargetException and IllegalAccessException don't depend on the URL.
In case StramLocalCluster delegates IOException handling to the consumer of the
constructor, can other exception also be propagated?
> Ability to add jars to classpath in populateDAG
> -----------------------------------------------
>
> Key: APEXCORE-304
> URL: https://issues.apache.org/jira/browse/APEXCORE-304
> Project: Apache Apex Core
> Issue Type: Improvement
> Reporter: Chinmay Kolhatkar
> Assignee: Chinmay Kolhatkar
>
> This will have following functionality:
> 1) In populateDAG one would be allowed to add given local jar path to
> classpath of the application.
> 2) Optionally delete the given jar file after copying to HDFS is done.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)