Java 计划程序未调用Spring引导批处理作业

Java 计划程序未调用Spring引导批处理作业,java,spring-boot,java-8,java-batch,Java,Spring Boot,Java 8,Java Batch,这是主课。 现在,我的问题是: 调度程序工作,每分钟重复一次, 但该作业仅在应用程序启动时执行(读取器、处理器和写入器在启动时仅执行一次),并且当调度程序在主类中触发时,它无法调用批处理作业 @EnableMongoAuditing @SpringBootApplication @EnableBatchProcessing @EnableScheduling //@EnableEurekaClient public class RewardPocApplication extends Sprin

这是主课。 现在,我的问题是:

调度程序工作,每分钟重复一次, 但该作业仅在应用程序启动时执行(读取器、处理器和写入器在启动时仅执行一次),并且当调度程序在主类中触发时,它无法调用批处理作业

@EnableMongoAuditing
@SpringBootApplication
@EnableBatchProcessing
@EnableScheduling
//@EnableEurekaClient
public class RewardPocApplication extends SpringBootServletInitializer {

    @Autowired
    ApplicationConfig applicationConfig;

    @Autowired
    private JobLauncher jobLauncher;

    @Autowired
    Job job;

    /**
     * @param args Java args
     */
    public static void main(String[] args) {
        SpringApplication.run(RewardPocApplication.class, args);
    }

     @Override
     protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
             return application.sources(RewardPocApplication .class);
    }

    @Scheduled(cron = "0 */1 * * * ?")
    public void triggerRewardManagementJob() throws Exception {

        JobParameters params = new JobParametersBuilder()
                .addString("readRewardPointsData", String.valueOf(System.currentTimeMillis()))
                .toJobParameters();
        JobExecution execution = jobLauncher.run(job, params);

        System.out.println("Exit Status : " + execution.getStatus());

     }
这是我的Java批处理作业代码

   @Configuration
    @EnableScheduling
    @EnableBatchProcessing
    public class ApplicationConfig {

        @Autowired
        private JobBuilderFactory jobBuilderFactory;

        @Autowired
        private StepBuilderFactory stepBuilderFactory;

        @Autowired
        private MongoTemplate mongoTemplate;

        @Autowired
        private MailUtil mailUtil;

        @Autowired
        RewardRepository rewardRepository;




        @Bean
        public Job rewardManagementJob() throws Exception {
            System.out.println("Deepak" + "Job Started");

            return jobBuilderFactory.get("rewardManagementJob")
                    .incrementer(new RunIdIncrementer())
                    .flow(step1())
                    .end()
                    .build();
        }

        @Bean
        public Step step1() throws Exception{

            System.out.println("Deepak" + "Step Started");
            return stepBuilderFactory.get("step1").<RewardEntity, RewardEntity>chunk(10)
                    .reader(reader())
                    .processor(process())
                    .writer(writter())
                    .build();
        }
@配置
@使能调度
@启用批处理
公共类应用程序配置{
@自动连线
私人JobBuilderFactory JobBuilderFactory;
@自动连线
私人StepBuilderFactory StepBuilderFactory;
@自动连线
私有MongoTemplate MongoTemplate;
@自动连线
私有MailUtil MailUtil;
@自动连线
奖赏库奖赏库;
@豆子
公共作业报酬ManagementJob()引发异常{
System.out.println(“Deepak”+“作业已启动”);
return jobBuilderFactory.get(“rewardManagementJob”)
.incrementer(新的RunIdIncrementer())
.flow(步骤1())
(完)
.build();
}
@豆子
公共步骤step1()引发异常{
System.out.println(“Deepak”+“步骤已启动”);
返回stepBuilderFactory.get(“step1”).chunk(10)
.reader(reader())
.processor(进程())
.writer(writer())
.build();
}