You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by de...@apache.org on 2013/08/21 13:44:51 UTC

svn commit: r1516141 - /uima/sandbox/uima-ducc/trunk/uima-ducc-jd/src/main/java/org/apache/uima/ducc/jd/JobDriver.java

Author: degenaro
Date: Wed Aug 21 11:44:51 2013
New Revision: 1516141

URL: http://svn.apache.org/r1516141
Log:
UIMA-3165 DUCC webserver (WS) zero work items

Modified:
    uima/sandbox/uima-ducc/trunk/uima-ducc-jd/src/main/java/org/apache/uima/ducc/jd/JobDriver.java

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-jd/src/main/java/org/apache/uima/ducc/jd/JobDriver.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-jd/src/main/java/org/apache/uima/ducc/jd/JobDriver.java?rev=1516141&r1=1516140&r2=1516141&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-jd/src/main/java/org/apache/uima/ducc/jd/JobDriver.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-jd/src/main/java/org/apache/uima/ducc/jd/JobDriver.java Wed Aug 21 11:44:51 2013
@@ -116,6 +116,8 @@ public class JobDriver extends Thread im
 	
 	private ConcurrentHashMap<String,WorkItem> casWorkItemMap = null;
 	
+	private long total = -1;
+	
 	public JobDriver() {
 		super();
 	}
@@ -161,29 +163,31 @@ public class JobDriver extends Thread im
 			casSource = new CasSource(this, crxml, crcfg, casDispatchMap);
 			Progress progress = casSource.getProgress();
 			if(progress != null) {
-				long total = progress.getTotal();
+				total = progress.getTotal();
 				duccOut.info(location, jobid, "total: "+total);
 				driverStatusReport.setWorkItemsTotal(total);
 			}
 			duccOut.debug(location, jobid, "CAS source initialized");
-			// Initialize job process exception handler
-			String jdProcessExceptionHandlerClassName = job.getDriver().getProcessExceptionHandler();
-			if(jdProcessExceptionHandlerClassName != null) {
-				try {
-					jdProcessExceptionHandler = JdProcessExceptionHandlerLoader.load(job.getDriver().getProcessExceptionHandler());
-					duccOut.info(location, jobid, "user specified handler = "+jdProcessExceptionHandlerClassName);
+			if(total > 0) {
+				// Initialize job process exception handler
+				String jdProcessExceptionHandlerClassName = job.getDriver().getProcessExceptionHandler();
+				if(jdProcessExceptionHandlerClassName != null) {
+					try {
+						jdProcessExceptionHandler = JdProcessExceptionHandlerLoader.load(job.getDriver().getProcessExceptionHandler());
+						duccOut.info(location, jobid, "user specified handler = "+jdProcessExceptionHandlerClassName);
+					}
+					catch (Exception e) {
+						duccOut.error(location, jobid, e);
+						duccErr.error(location, jobid, e);
+						driverStatusReport.setInitializingFailed(new Rationale("job driver exception occurred: "+summarize(e)));
+						terminate();
+						throw new JobDriverTerminateException("initialize failed", e);
+					}
 				}
-				catch (Exception e) {
-					duccOut.error(location, jobid, e);
-					duccErr.error(location, jobid, e);
-					driverStatusReport.setInitializingFailed(new Rationale("job driver exception occurred: "+summarize(e)));
-					terminate();
-					throw new JobDriverTerminateException("initialize failed", e);
+				else {
+					duccOut.info(location, jobid, "default handler = "+JdProcessExceptionHandler.class.getName());
 				}
 			}
-			else {
-				duccOut.info(location, jobid, "default handler = "+JdProcessExceptionHandler.class.getName());
-			}
 		}
 		catch(JobDriverTerminateException e) {
 			throw e;
@@ -202,8 +206,15 @@ public class JobDriver extends Thread im
 	}
 	
 	public void run() {
+		String location = "run";
 		try {
-			process();
+			if(total > 0) {
+				process();
+			}
+			else {
+				duccOut.warn(location, jobid, "no work items to process");
+			}
+			
 		} 
 		catch (JobDriverTerminateException e) {
 		}