[
https://issues.apache.org/jira/browse/APEXCORE-304?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15108823#comment-15108823
]
ASF GitHub Bot commented on APEXCORE-304:
-----------------------------------------
Github user chinmaykolhatkar commented on a diff in the pull request:
https://github.com/apache/incubator-apex-core/pull/208#discussion_r50276326
--- 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 --
@vrozov I think all the exceptions can be propagated to parent. In order
not to change the interface of StramLocalCluster constructor, I've captured
exceptions and throwing a RuntimeException for it.
@gauravgopi123 As the exception is passed to the caller now, try/catch is
no more there for what you've pointed out.
@tweise I have to add the give jar to classpath hence accessing the
protected method via Reflection. Also this is in Local mode and not in actual
stram.
> 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)