@Override public void run() { if (this.acceptOnExecution) { this.workListener.workAccepted(new WorkEvent(this, WorkEvent.WORK_ACCEPTED, this.work, null)); } synchronized (this.monitor) { this.started = true; this.monitor.notify(); } this.workListener.workStarted(new WorkEvent(this, WorkEvent.WORK_STARTED, this.work, null)); try { this.work.run(); } catch (RuntimeException | Error ex) { this.workListener.workCompleted( new WorkEvent(this, WorkEvent.WORK_COMPLETED, this.work, new WorkCompletedException(ex))); throw ex; } this.workListener.workCompleted(new WorkEvent(this, WorkEvent.WORK_COMPLETED, this.work, null)); }
@Override public void workRejected(WorkEvent event) { if (event.getException() != null) { logEventException(event.getWork().toString() + " Rejected", event.getException()); } }
private WorkEvent unwrapWorkEvent(WorkEvent e) { return new WorkEvent(e.getSource(), e.getType(), work, e.getException(), e.getStartDuration()); } }
public void workRejected(WorkEvent e) { LOG.severe("workRejected: [" + e.getWork() + "], source is [" + e.getSource() + "]"); LOG.severe("root cause is:" + e.getException().getMessage()); e.getException().printStackTrace(); }
protected void handleWorkException(WorkEvent event, String type) { super.handleWorkException(event, type); if (event.getException() != null) { Throwable t = event.getException().getCause(); if (t != null) { if (t instanceof Error) { throw (Error) t; } else if (t instanceof RuntimeException) { throw (RuntimeException) t; } } } } }
public void workCompleted(WorkEvent we) { if (we.getType() == WorkEvent.WORK_COMPLETED) { WorkException workException = we.getException(); if (workException != null) { xaFileSystem.notifySystemFailure(workException); } } }
public void workCompleted(WorkEvent e) { if( trace ) log.trace("workCompleted, e="+e); MailActivation activation = (MailActivation) e.getWork(); try { watch(activation); } catch(InterruptedException ex) { Thread.currentThread().interrupt(); log.warn("Failed to reschedule new msg check", ex); } } // --- End WorkListener interface methods
@Override public void workCompleted(WorkEvent event) { if (event.getException() != null) { logEventException(event.getWork().toString() + " Completed with exception", event.getException()); } }
public void workRejected(final WorkEvent event) { // Don't log doWork or startWork since exception is propagated to caller if (workType == WorkType.DO || workType == WorkType.START) { return; } final WorkException exception = event.getException(); if (exception != null) { if (WorkException.START_TIMED_OUT.equals(exception.getErrorCode())) { logger.error(exception.getMessage()); } } }
@Override public void run() { if (this.acceptOnExecution) { this.workListener.workAccepted(new WorkEvent(this, WorkEvent.WORK_ACCEPTED, this.work, null)); } synchronized (this.monitor) { this.started = true; this.monitor.notify(); } this.workListener.workStarted(new WorkEvent(this, WorkEvent.WORK_STARTED, this.work, null)); try { this.work.run(); } catch (RuntimeException | Error ex) { this.workListener.workCompleted( new WorkEvent(this, WorkEvent.WORK_COMPLETED, this.work, new WorkCompletedException(ex))); throw ex; } this.workListener.workCompleted(new WorkEvent(this, WorkEvent.WORK_COMPLETED, this.work, null)); }
public void workRejected(WorkEvent event) { if (event.getException() != null) { if (event.getException() instanceof WorkCompletedException && event.getException().getCause() != null) { log.error(event.getWork().toString(), event.getException().getCause()); } else { log.error(event.getWork().toString(), event.getException()); } } } };
public void workRejected(final WorkEvent event) { // Don't log doWork or startWork since exception is propagated to caller if (workType == WorkType.DO || workType == WorkType.START) { return; } final WorkException exception = event.getException(); if (exception != null) { if (WorkException.START_TIMED_OUT.equals(exception.getErrorCode())) { logger.error(exception.getMessage()); } } }
WorkException wex = new WorkRejectedException("TaskExecutor rejected Work because of timeout: " + work, ex); wex.setErrorCode(WorkException.START_TIMED_OUT); workListenerToUse.workRejected(new WorkEvent(this, WorkEvent.WORK_REJECTED, work, wex)); throw wex; WorkException wex = new WorkRejectedException("TaskExecutor rejected Work: " + work, ex); wex.setErrorCode(WorkException.INTERNAL); workListenerToUse.workRejected(new WorkEvent(this, WorkEvent.WORK_REJECTED, work, wex)); throw wex; workListenerToUse.workAccepted(new WorkEvent(this, WorkEvent.WORK_ACCEPTED, work, null));
public void workCompleted(final WorkEvent event) { // Don't log doWork since exception is propagated to caller if (workType == WorkType.DO) { return; } Throwable cause = event.getException(); if (cause != null && cause.getCause() != null) { cause = cause.getCause(); } if (cause != null) { logger.error(event.getWork().toString(), cause); } } }
public void workRejected(WorkEvent event) { // Don't log doWork or startWork since exception is propagated to caller if (workType == DO || workType == START) { return; } WorkException exception = event.getException(); if (exception != null) { if (WorkException.START_TIMED_OUT.equals(exception.getErrorCode())) { logger.error(exception.getMessage()); } } }
WorkException wex = new WorkRejectedException("TaskExecutor rejected Work because of timeout: " + work, ex); wex.setErrorCode(WorkException.START_TIMED_OUT); workListenerToUse.workRejected(new WorkEvent(this, WorkEvent.WORK_REJECTED, work, wex)); throw wex; WorkException wex = new WorkRejectedException("TaskExecutor rejected Work: " + work, ex); wex.setErrorCode(WorkException.INTERNAL); workListenerToUse.workRejected(new WorkEvent(this, WorkEvent.WORK_REJECTED, work, wex)); throw wex; workListenerToUse.workAccepted(new WorkEvent(this, WorkEvent.WORK_ACCEPTED, work, null));
public void workCompleted(final WorkEvent event) { // Don't log doWork since exception is propagated to caller if (workType == WorkType.DO) { return; } Throwable cause = event.getException(); if (cause != null && cause.getCause() != null) { cause = cause.getCause(); } if (cause != null) { logger.error(event.getWork().toString(), cause); } } }