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) {
}
public final void run() {
+ // authenticate thread
+ // Authentication authentication = getProcessThreadGroup()
+ // .getAuthentication();
+ // if (authentication == null)
+ // throw new SlcException("Can only execute authenticated threads");
+ // SecurityContextHolder.getContext().setAuthentication(authentication);
+
+ // log.info("\n##\n## SLC Process #" + process.getUuid() +
+ // " STARTED by "
+ // + authentication.getName() + "\n##\n");
log.info("\n##\n## SLC Process #" + process.getUuid()
+ " STARTED\n##\n");
* 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);
}