import java.util.HashSet;
import java.util.List;
import java.util.Set;
-import java.util.concurrent.ArrayBlockingQueue;
-import java.util.concurrent.BlockingQueue;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.argeo.slc.process.SlcExecution;
/** Thread of the SLC Process, starting the sub executions. */
+@SuppressWarnings("deprecation")
public class ProcessThread extends Thread {
private final static Log log = LogFactory.getLog(ProcessThread.class);
private Boolean hadAnError = false;
private Boolean killed = false;
- private final static Integer STEPS_BUFFER_CAPACITY = 10000;
- private BlockingQueue<ExecutionStep> steps = new ArrayBlockingQueue<ExecutionStep>(
- STEPS_BUFFER_CAPACITY);
-
public ProcessThread(ThreadGroup processesThreadGroup,
ExecutionModulesManager executionModulesManager,
ExecutionProcess process) {
* Implementation specific execution. To be overridden in order to deal with
* custom process types. Default expects an {@link SlcExecution}.
*/
- @SuppressWarnings("deprecation")
protected void process() throws InterruptedException {
if (!(process instanceof SlcExecution))
throw new SlcException("Unsupported process type "
}
private class LoggingThread extends Thread {
+
+ public LoggingThread() {
+ super("SLC Process Logger #" + process.getUuid());
+ }
+
public void run() {
boolean run = true;
while (run) {
List<ExecutionStep> newSteps = new ArrayList<ExecutionStep>();
processThreadGroup.getSteps().drainTo(newSteps);
if (newSteps.size() > 0) {
- //System.out.println(steps.size() + " steps");
+ // System.out.println(steps.size() + " steps");
process.addSteps(newSteps);
}