// A JOB xml-ben beállítható, hogy futhatnak-e párhuzamosan.
if (template.isMultiInstance())
return;
+
+ // Collection<IJobRuntime> values = getJobs().values();
+
+ // vegigmenni a submittedJobs-on!
+
+ Set<Long> ids = submittedJobs.keySet();
+ for (long id : ids) {
+ if (!submittedJobs.containsKey(id))
+ continue;
+
+ IJobRuntime runtime = submittedJobs.get(id);
+ if (runtime == null)
+ continue;
+
+ if (!template.getFileName().equals(runtime.getTemplate()))
+ continue;
+
+ //'EXECUTING', 'WAIT_EXECUTOR', 'WAIT_SUSPEND', 'RUNNABLE'
+ if(runtime.isExecuting() || runtime.isRunnable() || runtime.isWaitingSuspend()|| runtime.isWaitingExecutor())
+ throw new JobEngineException(String.format("Can not submit job. Job with %s.%s already running",
+ template.getFileName(), template.getName()));
+ }
+/*
List<Job> runningJobs = itemManager.getRunningJobs(template.getFileName());
if (runningJobs != null) {
for (Job job : runningJobs) {
Job runningJob = getJob(job.getId());
+
if (runningJob != null && runningJob.getStatus() != JobStatus.SUSPENDED)
throw new JobEngineException(String.format("Can not submit job. Job with %s.%s already running",
template.getFileName(), template.getName()));
}
}
+*/
}
@Override
@Override
public boolean isWaitingCancel() {
- return getStatus() == JobStatus.WAIT_CANCEL;
+ return JobStatus.WAIT_CANCEL.equals(status);
}
@Override
public boolean isWaitingExecutor() {
- return getStatus() == JobStatus.WAIT_EXECUTOR;
+ return JobStatus.WAIT_EXECUTOR.equals(status);
}
@Override
public boolean isWaitingSuspend() {
- return getStatus() == JobStatus.WAIT_SUSPEND;
+ return JobStatus.WAIT_SUSPEND.equals(status);
+ }
+
+ @Override
+ public boolean isExecuting() {
+ return JobStatus.EXECUTING.equals(status);
}
@Override