public void setStatus(Status status) { if (this.status == status) { return; } Status before = this.status; Status after = status; this.status = status; if (listener != null && before != null && before != after) { listener.onStatusChange(this, before, after); } }
@Override public void run() { try { while (!Thread.interrupted()) { JobListener listener = job.getListener(); if (listener != null) { try { if (job.isRunning()) { listener.onProgressUpdate(job, job.progress()); } } catch (Exception e) { logger.error("Can not get or update progress", e); } } Thread.sleep(intervalMs); } } catch (InterruptedException ignored) { // just ignore this exception } } }