[
https://issues.apache.org/jira/browse/APEXCORE-304?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15248129#comment-15248129
]
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/311#discussion_r60265869
--- Diff: api/src/main/java/com/datatorrent/api/StreamingApplication.java
---
@@ -47,6 +47,12 @@
String ENVIRONMENT = DT_PREFIX + "environment";
/**
+ * Use this config variable to to add any external library to classpath
for the DAG.
+ * Value of this variable is same as
StramAppLauncher.LIBJARS_CONF_KEY_NAME.
+ */
+ String LIBJARS_CONF_KEY_NAME = "tmplibjars";
--- End diff --
Hmmm.. got your point and agree with you.. I find attribute as a better
place than properties for such configuration.
Here is my suggestion about exposing this as an attribute:
1. Have a attribute in DAGContext:
Attribute<Map<String, Boolean>> APP_EXTERNAL_JARS = new Attribute<Map<,
>(new Map2String<String, Boolean>(",", "=", new String2String<>(), new
String2String<>()));
2. We pick up this attribute in following places:
a. For cluster mode: StramAppLauncher.launchApp
b. For local mode (apex cli) : StramAppLauncher.runLocal
c. For local mode (ApplicationTest): LocalModeImpl.getController
3. For individual approaches, jar becomes available from that point onwards.
Can you share though on above approach?
> 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)