Java 计划作业不存在';别再跑了

Java 计划作业不存在';别再跑了,java,spring,spring-batch,Java,Spring,Spring Batch,我有一个spring批处理项目,代码如下: @Scheduled(fixedRate = 5000) public Job xmlJob() throws Exception { return jobBuilderFactory .get("XMLjob") .start(stepBuilderFactory.get("XML") .<Person, Pe

我有一个spring批处理项目,代码如下:

@Scheduled(fixedRate = 5000)
    public Job xmlJob() throws Exception {
        return jobBuilderFactory
                .get("XMLjob")
                .start(stepBuilderFactory.get("XML")
                        .<Person, Person>chunk(10)
                        .reader(personXmlReader())
                        .processor(xmlPersonProcessor())
                        .writer(displayData())
                        .build()
                )
                .build();
    }

@Bean
    StaxEventItemReader personXmlReader() throws Exception {
        System.out.println("Reader");
        Jaxb2Marshaller jaxb2Marshaller = new Jaxb2Marshaller();
        jaxb2Marshaller.setClassesToBeBound(Person.class);
        jaxb2Marshaller.afterPropertiesSet();

        StaxEventItemReader staxEventItemReader = new StaxEventItemReader();
        staxEventItemReader.setName("persons");
        staxEventItemReader.setResource(new ClassPathResource("person.xml"));
        staxEventItemReader.setFragmentRootElementName("person");
        staxEventItemReader.setUnmarshaller(jaxb2Marshaller);

        return staxEventItemReader;
    }

@Override
    public Person process(final Person person) throws Exception {

        final int id = person.getPersonId();
        final String firstName = person.getFirstName().toUpperCase();
        final String lastName = person.getLastName().toUpperCase();
        final int age = person.getAge();
        final String job = person.getJob();

        final Person transformedPerson = new Person(id, firstName, lastName, age+1, job);
        log.info("Job Converting (" + person + ") into (" + transformedPerson + ")");
        return transformedPerson;
    }
@Scheduled(fixedRate = 5000)
    public String show(){
        System.out.println("System");
        return null;
    }
程序运行良好。。。
我启用了@EnableScheduling。

为什么要将@Bean与@Scheduled混合使用?在运行期间,这不会改变任何东西,以固定速率运行时,您正在构建作业,但从未执行它们。除了将每个作业传递给垃圾收集器之外,Spring还应该如何处理这些大量的已构建作业?而不执行它们?我不明白你是什么意思。。。