Java 类org.springframework.batch.core.configuration.DuplicateJobException 实例源码

项目:batch-scheduler    文件:BatchSchedulerConfig.java   
private Map<String, Object> registerJob(String jobName) throws DuplicateJobException {
    String taskId = jobKeyMap.get(JoinCode.getTaskCode(jobName)).getTaskId();
    TaskDefineEntity tm = taskDefineMap.get(taskId);
    Job job = taskletConfig.job(conf, jobName, tm.getTaskType(), tm.getScriptFile());
    ReferenceJobFactory regJob = new ReferenceJobFactory(job);
    try {
        jobRegistry.register(regJob);
    } catch (DuplicateJobException e) {
        jobRegistry.unregister(jobName);
        jobRegistry.register(regJob);
    }
    logger.debug("register job,job name is :{}", jobName);
    Map<String, Object> map = new HashMap<>();
    map.put("jobName", jobName);
    map.put("jobLauncher", jobLauncher);
    map.put("jobRegistry", jobRegistry);
    map.put("jobKeyStatusService", jobKeyStatusService);
    map.put("argumentService", argumentService);
    return map;
}
项目:working-examples    文件:Application.java   
public static void main(String[] args) throws JobExecutionAlreadyRunningException, JobRestartException,
        JobInstanceAlreadyCompleteException, JobParametersInvalidException, DuplicateJobException {
    ConfigurableApplicationContext ctx = SpringApplication.run(Application.class, args);

    Job simpleJob = ctx.getBean("simpleJob", Job.class);
    JobRegistry jobRegistry = ctx.getBean("jobRegistry", JobRegistry.class);
    jobRegistry.register(new ReferenceJobFactory(simpleJob));

    //JobRepository jobRepository = ctx.getBean("jobRepository", JobRepository.class);
    //JobInstance jobInstance = jobRepository.createJobInstance("simpleJob", new JobParameters());
    // JobParameters jobParameters = ctx.getBean("basicParameters", JobParameters.class);
    //
    //JobRegistry jobRegistry = ctx.getBean("mapJobRegistry", JobRegistry.class);
    // jobRegistry.register();
    // jobLauncher.run(job, jobParameters);
}
项目:batch-scheduler    文件:BatchSchedulerConfig.java   
/**
 * 将任务与触发器关联
 * 每一个任务,对应着一个触发器
 * 每一个触发器,也只对应一个任务
 */
private SimpleTrigger createSimpleTrigger(String jobName) throws DuplicateJobException {
    SimpleTriggerFactoryBean simpleTriggerFactoryBean = new SimpleTriggerFactoryBean();
    JobDetail job = jobDetailFactoryBean(jobName).getObject();
    simpleTriggerFactoryBean.setJobDetail(job);
    simpleTriggerFactoryBean.setRepeatCount(0);
    simpleTriggerFactoryBean.setRepeatInterval(12);
    simpleTriggerFactoryBean.setGroup(jobName);
    simpleTriggerFactoryBean.setName(jobName);
    simpleTriggerFactoryBean.afterPropertiesSet();
    return simpleTriggerFactoryBean.getObject();
}
项目:spring-boot-starter-batch-web    文件:CustomJsrJobOperator.java   
public void register(Job job, org.springframework.batch.core.JobExecution jobExecution) throws DuplicateJobException {

            if(registry.containsKey(jobExecution.getId())) {
                throw new DuplicateJobException("This job execution has already been registered");
            } else {
                registry.put(jobExecution.getId(), job);
            }
        }