2016-06-09 7 views
1

Ich versuche, eine Feder-Anwendung zu entwickeln, die Integration von Quarz und Spring Batch haben. Aus irgendwelchen Gründen kann ich es nicht richtig ausführen und einige Kompilierungsfehler bekommen.Quarz + Spring Batch im Frühjahr Boot

Code:

QuartzConfiguration 

@Configuration 
@ComponentScan("com.concretepage") 
public class QuartzConfiguration { 

    @Bean 
    public MethodInvokingJobDetailFactoryBean methodInvokingJobDetailFactoryBean() { 
     MethodInvokingJobDetailFactoryBean obj = new MethodInvokingJobDetailFactoryBean(); 
     obj.setTargetBeanName("jobone"); 
     obj.setTargetMethod("myTask"); 
     return obj; 
    } 

    @Bean 
    public CronTriggerFactoryBean cronTriggerFactoryBean(){ 
     CronTriggerFactoryBean stFactory = new CronTriggerFactoryBean(); 
     SpringBatchJobs batch = new SpringBatchJobs(); 
     stFactory.setJobDetail(batch.job()); // here i'm getting some compilcation error like "The method job() from the type SpringBatchJobs refers to the missing type Job" 
     stFactory.setStartDelay(3000); 
     stFactory.setName("mytrigger"); 
     stFactory.setGroup("mygroup"); 
     stFactory.setCronExpression("0/1 * * * * ?"); 
     return stFactory; 
    } 

    @Bean 
    public SchedulerFactoryBean schedulerFactoryBean() { 
     SchedulerFactoryBean scheduler = new SchedulerFactoryBean(); 
     scheduler.setTriggers(cronTriggerFactoryBean().getObject()); 
     return scheduler; 
    } 
} 

Spring Batch: mit Quartz2 im Frühjahr Boot

@EnableBatchProcessing 
public class SpringBatchJobs { 

    @Autowired 
    private JobBuilderFactory jobs; 

    @Autowired 
    private StepBuilderFactory steps; 

    @Bean 
    protected Tasklet tasklet() { 

     return new Tasklet() { 
      @Override 
      public RepeatStatus execute(StepContribution contribution, 
        ChunkContext context) { 
       return RepeatStatus.FINISHED; 
      } 
     }; 

    } 

    @Bean 
    public Job job() throws Exception { 
     return this.jobs.get("job").start(step1()).build(); 
    } 

    @Bean 
    protected Step step1() throws Exception { 
     return this.steps.get("step1").tasklet(tasklet()).build(); 
    } 

} 

Das Problem kommt in der folgenden Zeile

stFactory.setJobDetail(batch.job()); // here i'm getting some compilcation error like "The method job() from the type SpringBatchJobs refers to the missing type Job" 

Wie kann ich Spring Batch-Jobs laufen? Irgendeine Idee

Antwort