@Test public void getJobConfigurationWithListenerIT() throws NoSuchJobConfigurationException { final JobListenerConfiguration jobListenerConfiguration = DomainTestHelper.createJobListenerConfiguration ("src/test/", "*.txt", JobListenerType.LOCAL_FOLDER_LISTENER); jobListenerConfiguration.setBeanName("testBean"); final JobConfiguration jobConfiguration = DomainTestHelper.createJobConfiguration(jobListenerConfiguration); final JobConfiguration addedJobConfiguration = this.getJobConfigurationRepository().add(jobConfiguration, APPLICATION_NAME); assertThat(addedJobConfiguration).isNotNull(); assertThat(addedJobConfiguration.getJobConfigurationId()).isNotNull(); assertThat(addedJobConfiguration.getJobListenerConfiguration()).isNotNull(); final JobConfiguration fetchedJobConfiguration = this.getJobConfigurationRepository().getJobConfiguration (addedJobConfiguration.getJobConfigurationId(), APPLICATION_NAME); assertThat(fetchedJobConfiguration.getJobConfigurationId()).isEqualTo(addedJobConfiguration.getJobConfigurationId()); }
@Test public void addWithListenerIT() { final JobListenerConfiguration jobListenerConfiguration = DomainTestHelper.createJobListenerConfiguration ("src/test/", "*.txt", JobListenerType.LOCAL_FOLDER_LISTENER); jobListenerConfiguration.setBeanName("testBean"); final JobConfiguration jobConfiguration = DomainTestHelper.createJobConfiguration(jobListenerConfiguration); final JobConfiguration addedJobConfiguration = this.getJobConfigurationRepository().add(jobConfiguration, APPLICATION_NAME); assertThat(addedJobConfiguration).isNotNull(); assertThat(addedJobConfiguration.getJobConfigurationId()).isNotNull(); assertThat(addedJobConfiguration.getJobListenerConfiguration()).isNotNull(); final JobConfiguration secondAddedJobConfiguration = this.getJobConfigurationRepository().add(jobConfiguration, APPLICATION_NAME); assertThat(secondAddedJobConfiguration).isNotNull(); assertThat(secondAddedJobConfiguration.getJobConfigurationId()).isNotNull(); assertThat(secondAddedJobConfiguration.getJobListenerConfiguration()).isNotNull(); final Collection<JobConfiguration> allResult = this.getJobConfigurationRepository().getAllJobConfigurations(APPLICATION_NAME); assertThat(allResult).hasSize(2); }
@Test public void getJobConfigurationWithListenerIT() throws NoSuchJobConfigurationException { final JobListenerConfiguration jobListenerConfiguration = DomainTestHelper.createJobListenerConfiguration ("src/test/", "*.txt", JobListenerType.LOCAL_FOLDER_LISTENER); jobListenerConfiguration.setBeanName("testBean"); final JobConfiguration jobConfiguration = DomainTestHelper.createJobConfiguration(jobListenerConfiguration); final JobConfiguration addedJobConfiguration = this.getJobConfigurationRepository().add(jobConfiguration, APPLICATION_NAME); assertThat(addedJobConfiguration).isNotNull(); assertThat(addedJobConfiguration.getJobConfigurationId()).isNotNull(); assertThat(addedJobConfiguration.getJobListenerConfiguration()).isNotNull(); final JobConfiguration fetchedJobConfiguration = this.getJobConfigurationRepository().getJobConfiguration (addedJobConfiguration.getJobConfigurationId(), APPLICATION_NAME); assertThat(fetchedJobConfiguration.getJobConfigurationId()).isEqualTo(addedJobConfiguration.getJobConfigurationId()); }
@Test public void addWithListenerIT() { final JobListenerConfiguration jobListenerConfiguration = DomainTestHelper.createJobListenerConfiguration ("src/test/", "*.txt", JobListenerType.LOCAL_FOLDER_LISTENER); jobListenerConfiguration.setBeanName("testBean"); final JobConfiguration jobConfiguration = DomainTestHelper.createJobConfiguration(jobListenerConfiguration); final JobConfiguration addedJobConfiguration = this.getJobConfigurationRepository().add(jobConfiguration, APPLICATION_NAME); assertThat(addedJobConfiguration).isNotNull(); assertThat(addedJobConfiguration.getJobConfigurationId()).isNotNull(); assertThat(addedJobConfiguration.getJobListenerConfiguration()).isNotNull(); final JobConfiguration secondAddedJobConfiguration = this.getJobConfigurationRepository().add(jobConfiguration, APPLICATION_NAME); assertThat(secondAddedJobConfiguration).isNotNull(); assertThat(secondAddedJobConfiguration.getJobConfigurationId()).isNotNull(); assertThat(secondAddedJobConfiguration.getJobListenerConfiguration()).isNotNull(); final Collection<JobConfiguration> allResult = this.getJobConfigurationRepository().getAllJobConfigurations(APPLICATION_NAME); assertThat(allResult).hasSize(2); }
@Test public void updateWithListenerWithParametersIT() throws NoSuchJobConfigurationException { final JobListenerConfiguration jobListenerConfiguration = DomainTestHelper.createJobListenerConfiguration ("src/test/", "*.txt", JobListenerType.LOCAL_FOLDER_LISTENER); jobListenerConfiguration.setBeanName("testBean"); final JobConfiguration jobConfiguration = DomainTestHelper.createJobConfiguration(jobListenerConfiguration); final JobConfiguration addedJobConfiguration = this.getJobConfigurationRepository().add(jobConfiguration, APPLICATION_NAME); assertThat(addedJobConfiguration).isNotNull(); assertThat(addedJobConfiguration.getJobConfigurationId()).isNotNull(); assertThat(addedJobConfiguration.getJobListenerConfiguration()).isNotNull(); addedJobConfiguration.setJobName("updated"); final Map<String, Object> parameters = new HashMap<>(); parameters.put("test", "input"); addedJobConfiguration.setJobParameters(parameters); final JobConfiguration updatedJobConfiguration = this.getJobConfigurationRepository().update(addedJobConfiguration, APPLICATION_NAME); assertThat(updatedJobConfiguration.getJobName()).isEqualTo("updated"); final JobConfiguration fetchedJobConfiguration = this.getJobConfigurationRepository().getJobConfiguration(1L, APPLICATION_NAME); assertThat(fetchedJobConfiguration.getJobConfigurationId()).isEqualTo(updatedJobConfiguration.getJobConfigurationId()); }
@Test public void updateWithListenerWithParametersIT() throws NoSuchJobConfigurationException { final JobListenerConfiguration jobListenerConfiguration = DomainTestHelper.createJobListenerConfiguration ("src/test/", "*.txt", JobListenerType.LOCAL_FOLDER_LISTENER); jobListenerConfiguration.setBeanName("testBean"); final JobConfiguration jobConfiguration = DomainTestHelper.createJobConfiguration(jobListenerConfiguration); final JobConfiguration addedJobConfiguration = this.getJobConfigurationRepository().add(jobConfiguration, APPLICATION_NAME); assertThat(addedJobConfiguration).isNotNull(); assertThat(addedJobConfiguration.getJobConfigurationId()).isNotNull(); assertThat(addedJobConfiguration.getJobListenerConfiguration()).isNotNull(); addedJobConfiguration.setJobName("updated"); final Map<String, Object> parameters = new HashMap<>(); parameters.put("test", "input"); addedJobConfiguration.setJobParameters(parameters); final JobConfiguration updatedJobConfiguration = this.getJobConfigurationRepository().update(addedJobConfiguration, APPLICATION_NAME); assertThat(updatedJobConfiguration.getJobName()).isEqualTo("updated"); final JobConfiguration fetchedJobConfiguration = this.getJobConfigurationRepository().getJobConfiguration(1L, APPLICATION_NAME); assertThat(fetchedJobConfiguration.getJobConfigurationId()).isEqualTo(updatedJobConfiguration.getJobConfigurationId()); }
@Test public void updateWithListenerIT() throws NoSuchJobConfigurationException { final JobListenerConfiguration jobListenerConfiguration = DomainTestHelper.createJobListenerConfiguration ("src/test/", "*.txt", JobListenerType.LOCAL_FOLDER_LISTENER); jobListenerConfiguration.setBeanName("testBean"); final JobConfiguration jobConfiguration = DomainTestHelper.createJobConfiguration(jobListenerConfiguration); final JobConfiguration addedJobConfiguration = this.getJobConfigurationRepository().add(jobConfiguration, APPLICATION_NAME); assertThat(addedJobConfiguration).isNotNull(); assertThat(addedJobConfiguration.getJobConfigurationId()).isNotNull(); assertThat(addedJobConfiguration.getJobListenerConfiguration()).isNotNull(); addedJobConfiguration.setJobName("updated"); final JobConfiguration updatedJobConfiguration = this.getJobConfigurationRepository().update(addedJobConfiguration, APPLICATION_NAME); assertThat(updatedJobConfiguration.getJobName()).isEqualTo("updated"); final JobConfiguration fetchedJobConfiguration = this.getJobConfigurationRepository().getJobConfiguration (updatedJobConfiguration.getJobConfigurationId(), APPLICATION_NAME); assertThat(fetchedJobConfiguration.getJobConfigurationId()).isEqualTo(updatedJobConfiguration.getJobConfigurationId()); }
@Test public void updateWithListenerIT() throws NoSuchJobConfigurationException { final JobListenerConfiguration jobListenerConfiguration = DomainTestHelper.createJobListenerConfiguration ("src/test/", "*.txt", JobListenerType.LOCAL_FOLDER_LISTENER); jobListenerConfiguration.setBeanName("testBean"); final JobConfiguration jobConfiguration = DomainTestHelper.createJobConfiguration(jobListenerConfiguration); final JobConfiguration addedJobConfiguration = this.getJobConfigurationRepository().add(jobConfiguration, APPLICATION_NAME); assertThat(addedJobConfiguration).isNotNull(); assertThat(addedJobConfiguration.getJobConfigurationId()).isNotNull(); assertThat(addedJobConfiguration.getJobListenerConfiguration()).isNotNull(); addedJobConfiguration.setJobName("updated"); final JobConfiguration updatedJobConfiguration = this.getJobConfigurationRepository().update(addedJobConfiguration, APPLICATION_NAME); assertThat(updatedJobConfiguration.getJobName()).isEqualTo("updated"); final JobConfiguration fetchedJobConfiguration = this.getJobConfigurationRepository().getJobConfiguration (updatedJobConfiguration.getJobConfigurationId(), APPLICATION_NAME); assertThat(fetchedJobConfiguration.getJobConfigurationId()).isEqualTo(updatedJobConfiguration.getJobConfigurationId()); }
public static JobListenerConfiguration map(final Map<String, Object> values) { final JobListenerConfiguration jobListenerConfiguration = new JobListenerConfiguration(); jobListenerConfiguration.setBeanName(getValueOrNull(values, JobListenerConfigurationKey.BEAN_NAME, String.class)); jobListenerConfiguration.setFilePattern(getValueOrNull(values, JobListenerConfigurationKey.FILE_PATTERN, String.class)); jobListenerConfiguration.setPollerPeriod(getValueOrNull(values, JobListenerConfigurationKey.POLLER_PERIOD, Long.class)); jobListenerConfiguration.setSourceFolder(getValueOrNull(values, JobListenerConfigurationKey.SOURCE_FOLDER, String.class)); final ListenerStatus listenerStatus = ListenerStatus.getByValue(getValueOrNull(values, JobListenerConfigurationKey.STATUS, String.class)); jobListenerConfiguration.setListenerStatus(listenerStatus); final JobListenerType jobListenerType = JobListenerType.getById(getValueOrNull(values, JobListenerConfigurationKey.LISTENER_TYPE, Long.class)); jobListenerConfiguration.setJobListenerType(jobListenerType); final TaskExecutorType taskExecutorType = TaskExecutorType.getById(getValueOrNull(values, JobSchedulerConfigurationKey.TASK_EXECUTOR_TYPE, Long.class)); jobListenerConfiguration.setTaskExecutorType(taskExecutorType); return jobListenerConfiguration; }
jobConfiguration.getJobSchedulerConfiguration().setBeanName(TEMP_BEAN_NAME + "_SCHEDULER_" + jobConfiguration.getJobConfigurationId()); } else if (jobConfiguration.getJobListenerConfiguration() != null) { jobConfiguration.getJobListenerConfiguration().setBeanName(TEMP_BEAN_NAME + "_LISTENER_" + jobConfiguration .getJobConfigurationId()); addedJobConfiguration.getJobListenerConfiguration().setBeanName(beanName); if (ListenerStatus.ACTIVE.equals(addedJobConfiguration.getJobListenerConfiguration().getListenerStatus())) { this.listenerService.activateListener(beanName, Boolean.TRUE);
jobConfiguration.getJobSchedulerConfiguration().setBeanName(TEMP_BEAN_NAME + "_SCHEDULER_" + jobConfiguration.getJobConfigurationId()); } else if (jobConfiguration.getJobListenerConfiguration() != null) { jobConfiguration.getJobListenerConfiguration().setBeanName(TEMP_BEAN_NAME + "_LISTENER_" + jobConfiguration .getJobConfigurationId()); addedJobConfiguration.getJobListenerConfiguration().setBeanName(beanName); if (ListenerStatus.ACTIVE.equals(addedJobConfiguration.getJobListenerConfiguration().getListenerStatus())) { this.listenerService.activateListener(beanName, Boolean.TRUE);
@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()); } }