You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by bu...@apache.org on 2013/11/14 17:57:14 UTC
svn commit: r1541976 - in /uima/sandbox/uima-ducc/trunk: src/main/resources/
uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/
uima-ducc-duccdocs/src/site/tex/duccbook/part2/cli/
uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/
Author: burn
Date: Thu Nov 14 16:57:13 2013
New Revision: 1541976
URL: http://svn.apache.org/r1541976
Log:
UIMA-3428 Use wildcards everywhere in JD/JP classpaths; update docs
Modified:
uima/sandbox/uima-ducc/trunk/src/main/resources/jobclasspath.properties
uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/IUiOptions.java
uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/cli/ducc-submit.tex
uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/JobFactory.java
Modified: uima/sandbox/uima-ducc/trunk/src/main/resources/jobclasspath.properties
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/src/main/resources/jobclasspath.properties?rev=1541976&r1=1541975&r2=1541976&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/src/main/resources/jobclasspath.properties (original)
+++ uima/sandbox/uima-ducc/trunk/src/main/resources/jobclasspath.properties Thu Nov 14 16:57:13 2013
@@ -23,6 +23,8 @@
# May have to be modified if any of the jars in DUCC_HOME/lib are changed.
# ========================================================================
+#ducc.reload.file = if set file is reloaded on every job
+
ducc.jobdriver.classpath = \
${DUCC_HOME}/lib/uima-ducc-jd.jar:\
${DUCC_HOME}/lib/uima-ducc-common.jar:\
@@ -30,22 +32,11 @@ ducc.jobdriver.classpath = \
${DUCC_HOME}/lib/uima/*:\
${DUCC_HOME}/lib/apache-log4j/*:\
${DUCC_HOME}/lib/slf4j/*:\
- ${DUCC_HOME}/lib/apache-activemq/activemq-all-5.6.0.jar:\
- ${DUCC_HOME}/lib/apache-activemq/activemq-pool-5.6.0.jar:\
- ${DUCC_HOME}/lib/apache-activemq/commons-pool-1.5.4.jar:\
- ${DUCC_HOME}/lib/apache-camel/camel-core-2.10.1.jar:\
- ${DUCC_HOME}/lib/apache-camel/camel-jms-2.10.1.jar:\
- ${DUCC_HOME}/lib/apache-camel/camel-xstream-2.10.1.jar:\
+ ${DUCC_HOME}/lib/apache-activemq/*:\
+ ${DUCC_HOME}/lib/apache-camel/*:\
${DUCC_HOME}/lib/apache-commons-lang/*:\
${DUCC_HOME}/lib/google-gson/*:\
- ${DUCC_HOME}/lib/springframework/com.springsource.net.sf.cglib-2.2.0.jar:\
- ${DUCC_HOME}/lib/springframework/spring-asm-3.0.5.RELEASE.jar:\
- ${DUCC_HOME}/lib/springframework/spring-beans-3.0.5.RELEASE.jar:\
- ${DUCC_HOME}/lib/springframework/spring-context-3.0.5.RELEASE.jar:\
- ${DUCC_HOME}/lib/springframework/spring-core-3.0.5.RELEASE.jar:\
- ${DUCC_HOME}/lib/springframework/spring-expression-3.0.5.RELEASE.jar:\
- ${DUCC_HOME}/lib/springframework/spring-jms-3.0.5.RELEASE.jar:\
- ${DUCC_HOME}/lib/springframework/spring-tx-3.0.5.RELEASE.jar:\
+ ${DUCC_HOME}/lib/springframework/*:\
${DUCC_HOME}/lib/xmlbeans/*:\
${DUCC_HOME}/lib/xstream/*:\
${DUCC_HOME}/resources
@@ -57,20 +48,9 @@ ducc.jobprocess.classpath = \
${DUCC_HOME}/lib/uima/*:\
${DUCC_HOME}/lib/apache-log4j/*:\
${DUCC_HOME}/lib/slf4j/*:\
- ${DUCC_HOME}/lib/apache-activemq/activemq-all-5.6.0.jar:\
- ${DUCC_HOME}/lib/apache-camel/camel-core-2.10.1.jar:\
- ${DUCC_HOME}/lib/apache-camel/camel-jms-2.10.1.jar:\
- ${DUCC_HOME}/lib/apache-camel/camel-mina-2.10.1.jar:\
- ${DUCC_HOME}/lib/apache-camel/mina-core-1.1.7.jar:\
- ${DUCC_HOME}/lib/springframework/com.springsource.net.sf.cglib-2.2.0.jar:\
- ${DUCC_HOME}/lib/springframework/spring-aop-3.0.5.RELEASE.jar:\
- ${DUCC_HOME}/lib/springframework/spring-asm-3.0.5.RELEASE.jar:\
- ${DUCC_HOME}/lib/springframework/spring-beans-3.0.5.RELEASE.jar:\
- ${DUCC_HOME}/lib/springframework/spring-context-3.0.5.RELEASE.jar:\
- ${DUCC_HOME}/lib/springframework/spring-core-3.0.5.RELEASE.jar:\
- ${DUCC_HOME}/lib/springframework/spring-expression-3.0.5.RELEASE.jar:\
- ${DUCC_HOME}/lib/springframework/spring-jms-3.0.5.RELEASE.jar:\
- ${DUCC_HOME}/lib/springframework/spring-tx-3.0.5.RELEASE.jar:\
+ ${DUCC_HOME}/lib/apache-activemq/*:\
+ ${DUCC_HOME}/lib/apache-camel/*:\
+ ${DUCC_HOME}/lib/springframework/*:\
${DUCC_HOME}/lib/xstream/*
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/IUiOptions.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/IUiOptions.java?rev=1541976&r1=1541975&r2=1541976&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/IUiOptions.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/IUiOptions.java Thu Nov 14 16:57:13 2013
@@ -100,7 +100,7 @@ public interface IUiOptions
public String argname() { return ClasspathOrderParms.UserBeforeDucc.pname() + " or " + ClasspathOrderParms.DuccBeforeUser.pname(); }
public String description() { return "Specify user-supplied classpath before DUCC-supplied classpath, or the reverse."; }
public String example() { return null; }
- public String deflt() { return ClasspathOrderParms.UserBeforeDucc.pname(); }
+ public String deflt() { return ClasspathOrderParms.DuccBeforeUser.pname(); }
public String label() { return name(); }
},
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/cli/ducc-submit.tex
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/cli/ducc-submit.tex?rev=1541976&r1=1541975&r2=1541976&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/cli/ducc-submit.tex (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-duccdocs/src/site/tex/duccbook/part2/cli/ducc-submit.tex Thu Nov 14 16:57:13 2013
@@ -61,7 +61,7 @@
\item[$--$classpath\_order {[user-before-ducc $|$ ducc-before-user]} ]
When DUCC deploys a process, set the user-supplied CLASSPATH before DUCC-supplied
- CLASSPATH, or the reverse. The default is user-before-ducc.
+ CLASSPATH, or the reverse. The default is ducc-before-user.
\item[$--$debug] Enable debugging messages. This is primarily for debugging DUCC itself.
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/JobFactory.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/JobFactory.java?rev=1541976&r1=1541975&r2=1541976&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/JobFactory.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-orchestrator/src/main/java/org/apache/uima/ducc/orchestrator/JobFactory.java Thu Nov 14 16:57:13 2013
@@ -283,13 +283,7 @@ public class JobFactory {
driverCommandLine.addOption(IDuccCommand.arg_ducc_deploy_components);
driverCommandLine.addOption(IDuccCommand.arg_ducc_job_id+job.getDuccId().toString());
// classpath
- DuccProperties props = new DuccProperties();
- try {
- props.load(IDuccEnv.DUCC_CLASSPATH_FILE);
- } catch (Exception e) {
- logger.error(methodName, job.getDuccId(), "Failed to load " + IDuccEnv.DUCC_CLASSPATH_FILE);
- }
- String java_classpath = props.getProperty("ducc.jobdriver.classpath");
+ String java_classpath = getDuccClasspath(0); // for driver
String driverClasspath = jobRequestProperties.getProperty(JobSpecificationProperties.key_classpath);
logger.debug(methodName, job.getDuccId(), "driver CP (spec):"+driverClasspath);
logger.debug(methodName, job.getDuccId(), "java CP:"+java_classpath);
@@ -417,13 +411,7 @@ public class JobFactory {
// log
jobRequestProperties.specification(logger);
// classpath
- DuccProperties props = new DuccProperties();
- try {
- props.load(IDuccEnv.DUCC_CLASSPATH_FILE);
- } catch (Exception e) {
- logger.error(methodName, job.getDuccId(), "Failed to load " + IDuccEnv.DUCC_CLASSPATH_FILE);
- }
- String java_classpath = props.getProperty("ducc.jobprocess.classpath");
+ String java_classpath = getDuccClasspath(1); // for job processes & services
String processClasspath = jobRequestProperties.getProperty(JobSpecificationProperties.key_classpath);
logger.debug(methodName, job.getDuccId(), "process CP (spec):"+processClasspath);
logger.debug(methodName, job.getDuccId(), "java CP:"+java_classpath);
@@ -637,4 +625,31 @@ public class JobFactory {
//TODO be sure to clean-up fpath upon job completion!
return job;
}
+
+ /*
+ * Get minimal subset of the DUCC classpath for job driver & job processes
+ * Cache the values unless asked to reload when testing
+ */
+ private String[] cps = null;
+ private String getDuccClasspath(int type) {
+ if (cps != null) {
+ return cps[type];
+ }
+ DuccProperties props = new DuccProperties();
+ try {
+ props.load(IDuccEnv.DUCC_CLASSPATH_FILE);
+ } catch (Exception e) {
+ logger.error("getClasspath", null, "Using full classpath as failed to load " + IDuccEnv.DUCC_CLASSPATH_FILE);
+ return System.getProperty("java.class.path");
+ }
+ // If reload specified don't cache the results (for ease of testing changes to the classpaths)
+ if (props.getProperty("ducc.reload.file") != null) {
+ return props.getProperty(type==0 ? "ducc.jobdriver.classpath" : "ducc.jobprocess.classpath");
+ } else {
+ cps = new String[2];
+ cps[0] = props.getProperty("ducc.jobdriver.classpath");
+ cps[1] = props.getProperty("ducc.jobprocess.classpath");
+ return cps[type];
+ }
+ }
}