/** * @param context * @param jobException * @see org.quartz.JobListener#jobWasExecuted(JobExecutionContext, JobExecutionException) Called * by the Scheduler after a JobDetail has been executed, and be for the associated Trigger's * triggered method has been called */ @Override public void jobWasExecuted(JobExecutionContext context, JobExecutionException jobException) { try { String ipAddress = getIpAddress(); Trigger trigger = context.getTrigger(); Object[] args; if (jobException != null) { /*if (!getLog().isWarnEnabled()) { return; }*/ String errMsg = jobException.getMessage(); args = new Object[] { context.getFireInstanceId(), context.getJobDetail().getKey().getName(), context.getJobDetail().getKey().getGroup(), jobDataMapToString(context.getJobDetail().getJobDataMap()), new java.util.Date(), trigger.getKey().getName(), trigger.getKey().getGroup(), trigger.getPreviousFireTime() != null ? trigger.getPreviousFireTime() : new Date(0), trigger.getNextFireTime() != null ? trigger.getNextFireTime() : new Date(0), Integer.toString(context.getRefireCount()), errMsg, context.getScheduler().getSchedulerInstanceId(), context.getScheduler().getSchedulerName(), ipAddress != null ? ipAddress : "", "FAILED", "LoggingJobHistoryPluginCustom", "INFO" }; // getLog().warn(MessageFormat.format(getJobFailedMessage(), args), jobException); // log data and set progress value as null because it has not to be updated in the database // row logToDatabase(args, MessageFormat.format(getJobFailedMessage(), args), true, null); } else { /*if (!getLog().isInfoEnabled()) { return; }*/ String result = String.valueOf(context.getResult()); args = new Object[] { context.getFireInstanceId(), context.getJobDetail().getKey().getName(), context.getJobDetail().getKey().getGroup(), jobDataMapToString(context.getJobDetail().getJobDataMap()), new java.util.Date(), trigger.getKey().getName(), trigger.getKey().getGroup(), trigger.getPreviousFireTime() != null ? trigger.getPreviousFireTime() : new Date(0), trigger.getNextFireTime() != null ? trigger.getNextFireTime() : new Date(0), Integer.toString(context.getRefireCount()), result, // truncateResult(result) truncate result if too long to insert in the // database context.getScheduler().getSchedulerInstanceId(), context.getScheduler().getSchedulerName(), ipAddress != null ? ipAddress : "", "SUCCESS", "LoggingJobHistoryPluginCustom", "INFO" }; // getLog().info(MessageFormat.format(getJobSuccessMessage(), args)); // log data and set progress value as 100 because the job completed successfully logToDatabase(args, MessageFormat.format(getJobSuccessMessage(), args), true, "100"); } } catch (SQLException | SchedulerException e) { e.printStackTrace(); } }