@Override public void refreshSchedulerForJob(final JobConfiguration jobConfiguration) { this.terminate(jobConfiguration.getJobSchedulerConfiguration().getBeanName()); this.unregisterSchedulerForJob(jobConfiguration.getJobSchedulerConfiguration().getBeanName()); this.registerSchedulerForJob(jobConfiguration); }
@Override public void refreshSchedulerForJob(final JobConfiguration jobConfiguration) { this.terminate(jobConfiguration.getJobSchedulerConfiguration().getBeanName()); this.unregisterSchedulerForJob(jobConfiguration.getJobSchedulerConfiguration().getBeanName()); this.registerSchedulerForJob(jobConfiguration); }
private void attachSchedulerStatus(final JobConfiguration jobConfiguration) { if (jobConfiguration.getJobSchedulerConfiguration() != null) { final String schedulerName = jobConfiguration.getJobSchedulerConfiguration().getBeanName(); final SchedulerStatus schedulerStatus = this.schedulerService.getSchedulerStatus(schedulerName); jobConfiguration.getJobSchedulerConfiguration().setSchedulerStatus(schedulerStatus); } } }
public static List<ValueRecord> map(final JobSchedulerConfiguration jobSchedulerConfiguration, final Long jobConfigurationId) { final List<ValueRecord> valueRecords = new ArrayList<>(); final ValueRecord beanName = new ValueRecord(jobConfigurationId, JobSchedulerConfigurationKey.BEAN_NAME, jobSchedulerConfiguration.getBeanName()); final ValueRecord cronExpression = new ValueRecord(jobConfigurationId, JobSchedulerConfigurationKey.CRON_EXPRESSION, jobSchedulerConfiguration.getCronExpression()); final ValueRecord fixedDelay = new ValueRecord(jobConfigurationId, JobSchedulerConfigurationKey.FIXED_DELAY, jobSchedulerConfiguration.getFixedDelay()); final ValueRecord initialDelay = new ValueRecord(jobConfigurationId, JobSchedulerConfigurationKey.INITIAL_DELAY, jobSchedulerConfiguration.getInitialDelay()); final ValueRecord schedulerStatus = new ValueRecord(jobConfigurationId, JobSchedulerConfigurationKey.STATUS, jobSchedulerConfiguration.getSchedulerStatus().getValue()); final ValueRecord schedulerType = new ValueRecord(jobConfigurationId, JobSchedulerConfigurationKey.SCHEDULER_TYPE, jobSchedulerConfiguration.getJobSchedulerType().getId()); final ValueRecord executorType = new ValueRecord(jobConfigurationId, JobSchedulerConfigurationKey.TASK_EXECUTOR_TYPE, jobSchedulerConfiguration.getTaskExecutorType().getId()); valueRecords.add(beanName); valueRecords.add(cronExpression); valueRecords.add(fixedDelay); valueRecords.add(initialDelay); valueRecords.add(schedulerStatus); valueRecords.add(schedulerType); valueRecords.add(executorType); return valueRecords; } }
private void attachSchedulerStatus(final JobConfiguration jobConfiguration) { if (jobConfiguration.getJobSchedulerConfiguration() != null) { final String schedulerName = jobConfiguration.getJobSchedulerConfiguration().getBeanName(); final SchedulerStatus schedulerStatus = this.schedulerService.getSchedulerStatus(schedulerName); jobConfiguration.getJobSchedulerConfiguration().setSchedulerStatus(schedulerStatus); } } }
final JobSchedulerConfiguration jobSchedulerConfiguration = jobConfiguration.getJobSchedulerConfiguration(); final String beanName; if (jobSchedulerConfiguration.getBeanName() == null || jobSchedulerConfiguration.getBeanName().isEmpty()) { beanName = this.generateSchedulerBeanName(jobConfiguration.getJobName(), jobConfiguration.getJobConfigurationId(), jobConfiguration.getJobSchedulerConfiguration() .getJobSchedulerType()); } else { beanName = jobSchedulerConfiguration.getBeanName();
final JobSchedulerConfiguration jobSchedulerConfiguration = jobConfiguration.getJobSchedulerConfiguration(); final String beanName; if (jobSchedulerConfiguration.getBeanName() == null || jobSchedulerConfiguration.getBeanName().isEmpty()) { beanName = this.generateSchedulerBeanName(jobConfiguration.getJobName(), jobConfiguration.getJobConfigurationId(), jobConfiguration.getJobSchedulerConfiguration() .getJobSchedulerType()); } else { beanName = jobSchedulerConfiguration.getBeanName();
@Override public void deleteJobConfiguration(final Long jobConfigurationId) { try { final JobConfiguration jobConfiguration = this.jobConfigurationRepository.getJobConfiguration(jobConfigurationId, this.springBatchLightminCoreConfigurationProperties.getApplicationName()); final JobSchedulerConfiguration jobSchedulerConfiguration = jobConfiguration.getJobSchedulerConfiguration(); final JobListenerConfiguration jobListenerConfiguration = jobConfiguration.getJobListenerConfiguration(); if (jobSchedulerConfiguration != null) { final String beanName = jobSchedulerConfiguration.getBeanName(); this.schedulerService.terminate(beanName); this.schedulerService.unregisterSchedulerForJob(beanName); this.jobConfigurationRepository.delete(jobConfiguration, this.springBatchLightminCoreConfigurationProperties.getApplicationName()); } if (jobListenerConfiguration != null) { final String beanName = jobListenerConfiguration.getBeanName(); this.listenerService.terminateListener(beanName); this.jobConfigurationRepository.delete(jobConfiguration, this.springBatchLightminCoreConfigurationProperties.getApplicationName()); } } catch (final NoSuchJobConfigurationException e) { log.error(e.getMessage()); throw new SpringBatchLightminApplicationException(e, e.getMessage()); } }
@Override public void updateJobConfiguration(final JobConfiguration jobConfiguration) { jobConfiguration.validateForUpdate(); try { final JobConfiguration existingJobConfiguration = this.jobConfigurationRepository.getJobConfiguration(jobConfiguration.getJobConfigurationId(), this.springBatchLightminCoreConfigurationProperties.getApplicationName()); if (existingJobConfiguration.getJobSchedulerConfiguration() != null) { final String existingBeanName = existingJobConfiguration.getJobSchedulerConfiguration().getBeanName(); jobConfiguration.getJobSchedulerConfiguration().setBeanName(existingBeanName); this.jobConfigurationRepository.update(jobConfiguration, this.springBatchLightminCoreConfigurationProperties.getApplicationName()); this.schedulerService.refreshSchedulerForJob(jobConfiguration); if (SchedulerStatus.RUNNING.equals(jobConfiguration.getJobSchedulerConfiguration().getSchedulerStatus())) { this.schedulerService.schedule(jobConfiguration.getJobSchedulerConfiguration().getBeanName(), Boolean.TRUE); } else { log.info("Scheduler not started, no scheduling triggered!"); } } else if (existingJobConfiguration.getJobListenerConfiguration() != null) { final String existingBeanName = existingJobConfiguration.getJobListenerConfiguration().getBeanName(); jobConfiguration.getJobListenerConfiguration().setBeanName(existingBeanName); this.jobConfigurationRepository.update(jobConfiguration, this.springBatchLightminCoreConfigurationProperties.getApplicationName()); this.listenerService.refreshListenerForJob(jobConfiguration); } } catch (final NoSuchJobConfigurationException e) { log.error(e.getMessage()); throw new SpringBatchLightminApplicationException(e, e.getMessage()); } }
@Override public void updateJobConfiguration(final JobConfiguration jobConfiguration) { jobConfiguration.validateForUpdate(); try { final JobConfiguration existingJobConfiguration = this.jobConfigurationRepository.getJobConfiguration(jobConfiguration.getJobConfigurationId(), this.springBatchLightminCoreConfigurationProperties.getApplicationName()); if (existingJobConfiguration.getJobSchedulerConfiguration() != null) { final String existingBeanName = existingJobConfiguration.getJobSchedulerConfiguration().getBeanName(); jobConfiguration.getJobSchedulerConfiguration().setBeanName(existingBeanName); this.jobConfigurationRepository.update(jobConfiguration, this.springBatchLightminCoreConfigurationProperties.getApplicationName()); this.schedulerService.refreshSchedulerForJob(jobConfiguration); if (SchedulerStatus.RUNNING.equals(jobConfiguration.getJobSchedulerConfiguration().getSchedulerStatus())) { this.schedulerService.schedule(jobConfiguration.getJobSchedulerConfiguration().getBeanName(), Boolean.TRUE); } else { log.info("Scheduler not started, no scheduling triggered!"); } } else if (existingJobConfiguration.getJobListenerConfiguration() != null) { final String existingBeanName = existingJobConfiguration.getJobListenerConfiguration().getBeanName(); jobConfiguration.getJobListenerConfiguration().setBeanName(existingBeanName); this.jobConfigurationRepository.update(jobConfiguration, this.springBatchLightminCoreConfigurationProperties.getApplicationName()); this.listenerService.refreshListenerForJob(jobConfiguration); } } catch (final NoSuchJobConfigurationException e) { log.error(e.getMessage()); throw new SpringBatchLightminApplicationException(e, e.getMessage()); } }
@Override public void deleteJobConfiguration(final Long jobConfigurationId) { try { final JobConfiguration jobConfiguration = this.jobConfigurationRepository.getJobConfiguration(jobConfigurationId, this.springBatchLightminCoreConfigurationProperties.getApplicationName()); final JobSchedulerConfiguration jobSchedulerConfiguration = jobConfiguration.getJobSchedulerConfiguration(); final JobListenerConfiguration jobListenerConfiguration = jobConfiguration.getJobListenerConfiguration(); if (jobSchedulerConfiguration != null) { final String beanName = jobSchedulerConfiguration.getBeanName(); this.schedulerService.terminate(beanName); this.schedulerService.unregisterSchedulerForJob(beanName); this.jobConfigurationRepository.delete(jobConfiguration, this.springBatchLightminCoreConfigurationProperties.getApplicationName()); } if (jobListenerConfiguration != null) { final String beanName = jobListenerConfiguration.getBeanName(); this.listenerService.terminateListener(beanName); this.jobConfigurationRepository.delete(jobConfiguration, this.springBatchLightminCoreConfigurationProperties.getApplicationName()); } } catch (final NoSuchJobConfigurationException e) { log.error(e.getMessage()); throw new SpringBatchLightminApplicationException(e, e.getMessage()); } }
@Override public void startJobConfiguration(final Long jobConfigurationId) { try { final JobConfiguration jobConfiguration = this.jobConfigurationRepository.getJobConfiguration(jobConfigurationId, this.springBatchLightminCoreConfigurationProperties.getApplicationName()); final JobSchedulerConfiguration jobSchedulerConfiguration = jobConfiguration.getJobSchedulerConfiguration(); final JobListenerConfiguration jobListenerConfiguration = jobConfiguration.getJobListenerConfiguration(); if (jobSchedulerConfiguration != null) { final String beanName = jobSchedulerConfiguration.getBeanName(); this.schedulerService.schedule(beanName, Boolean.FALSE); jobConfiguration.getJobSchedulerConfiguration().setSchedulerStatus(SchedulerStatus.RUNNING); this.jobConfigurationRepository.update(jobConfiguration, this.springBatchLightminCoreConfigurationProperties.getApplicationName()); } else if (jobListenerConfiguration != null) { final String beanName = jobListenerConfiguration.getBeanName(); this.listenerService.activateListener(beanName, Boolean.FALSE); jobConfiguration.getJobListenerConfiguration().setListenerStatus(ListenerStatus.ACTIVE); this.jobConfigurationRepository.update(jobConfiguration, this.springBatchLightminCoreConfigurationProperties.getApplicationName()); } } catch (final NoSuchJobConfigurationException e) { throw new SpringBatchLightminApplicationException(e, e.getMessage()); } }
@Override public void stopJobConfiguration(final Long jobConfigurationId) { try { final JobConfiguration jobConfiguration = this.jobConfigurationRepository.getJobConfiguration(jobConfigurationId, this.springBatchLightminCoreConfigurationProperties.getApplicationName()); final JobSchedulerConfiguration jobSchedulerConfiguration = jobConfiguration.getJobSchedulerConfiguration(); final JobListenerConfiguration jobListenerConfiguration = jobConfiguration.getJobListenerConfiguration(); if (jobSchedulerConfiguration != null) { final String beanName = jobSchedulerConfiguration.getBeanName(); this.schedulerService.terminate(beanName); jobConfiguration.getJobSchedulerConfiguration().setSchedulerStatus(SchedulerStatus.STOPPED); this.jobConfigurationRepository.update(jobConfiguration, this.springBatchLightminCoreConfigurationProperties.getApplicationName()); } else if (jobListenerConfiguration != null) { final String beanName = jobListenerConfiguration.getBeanName(); this.listenerService.terminateListener(beanName); jobConfiguration.getJobListenerConfiguration().setListenerStatus(ListenerStatus.STOPPED); this.jobConfigurationRepository.update(jobConfiguration, this.springBatchLightminCoreConfigurationProperties.getApplicationName()); } } catch (final NoSuchJobConfigurationException e) { throw new SpringBatchLightminApplicationException(e, e.getMessage()); } }
@Override public void startJobConfiguration(final Long jobConfigurationId) { try { final JobConfiguration jobConfiguration = this.jobConfigurationRepository.getJobConfiguration(jobConfigurationId, this.springBatchLightminCoreConfigurationProperties.getApplicationName()); final JobSchedulerConfiguration jobSchedulerConfiguration = jobConfiguration.getJobSchedulerConfiguration(); final JobListenerConfiguration jobListenerConfiguration = jobConfiguration.getJobListenerConfiguration(); if (jobSchedulerConfiguration != null) { final String beanName = jobSchedulerConfiguration.getBeanName(); this.schedulerService.schedule(beanName, Boolean.FALSE); jobConfiguration.getJobSchedulerConfiguration().setSchedulerStatus(SchedulerStatus.RUNNING); this.jobConfigurationRepository.update(jobConfiguration, this.springBatchLightminCoreConfigurationProperties.getApplicationName()); } else if (jobListenerConfiguration != null) { final String beanName = jobListenerConfiguration.getBeanName(); this.listenerService.activateListener(beanName, Boolean.FALSE); jobConfiguration.getJobListenerConfiguration().setListenerStatus(ListenerStatus.ACTIVE); this.jobConfigurationRepository.update(jobConfiguration, this.springBatchLightminCoreConfigurationProperties.getApplicationName()); } } catch (final NoSuchJobConfigurationException e) { throw new SpringBatchLightminApplicationException(e, e.getMessage()); } }
@Override public void stopJobConfiguration(final Long jobConfigurationId) { try { final JobConfiguration jobConfiguration = this.jobConfigurationRepository.getJobConfiguration(jobConfigurationId, this.springBatchLightminCoreConfigurationProperties.getApplicationName()); final JobSchedulerConfiguration jobSchedulerConfiguration = jobConfiguration.getJobSchedulerConfiguration(); final JobListenerConfiguration jobListenerConfiguration = jobConfiguration.getJobListenerConfiguration(); if (jobSchedulerConfiguration != null) { final String beanName = jobSchedulerConfiguration.getBeanName(); this.schedulerService.terminate(beanName); jobConfiguration.getJobSchedulerConfiguration().setSchedulerStatus(SchedulerStatus.STOPPED); this.jobConfigurationRepository.update(jobConfiguration, this.springBatchLightminCoreConfigurationProperties.getApplicationName()); } else if (jobListenerConfiguration != null) { final String beanName = jobListenerConfiguration.getBeanName(); this.listenerService.terminateListener(beanName); jobConfiguration.getJobListenerConfiguration().setListenerStatus(ListenerStatus.STOPPED); this.jobConfigurationRepository.update(jobConfiguration, this.springBatchLightminCoreConfigurationProperties.getApplicationName()); } } catch (final NoSuchJobConfigurationException e) { throw new SpringBatchLightminApplicationException(e, e.getMessage()); } }