Spring批处理不会将Job实例插入数据库

时间:2017-09-12 08:10:30

标签: java spring-batch

我尝试将spring批处理实现到现有环境中。 我的spring批处理工作正常,但似乎没有将实例插入spring批处理表(Batch_job_execution,...)

我不明白它为什么没有失败,批次的雕像完成了?

我如何解决这个问题,并正确配置我的弹簧批处理已有的配置?

我有一个transactionManager配置如下: 项目的常见配置

@Bean
public JpaTransactionManager myTxManager() {
    return new JpaTransactionManager(myEmf().getObject());
}

我目前的春季批量配置

@Bean
@Override
public JobRepository getJobRepository() throws Exception {
    MapJobRepositoryFactoryBean factory = new MapJobRepositoryFactoryBean(getTransactionManager());
    factory.setIsolationLevelForCreate("ISOLATION_DEFAULT");
    factory.afterPropertiesSet();
    return factory.getObject();
}

@Override
public JobLauncher getJobLauncher() throws Exception {
    SimpleJobLauncher jobLauncher = new SimpleJobLauncher();
    jobLauncher.setJobRepository(getJobRepository());
    jobLauncher.afterPropertiesSet();
    return jobLauncher;
}

@Override
public JpaTransactionManager getTransactionManager() throws Exception {
    return myTxManager;
}


@Override
public JobExplorer getJobExplorer() throws Exception {
    return this.jobExplorer;
}

1 个答案:

答案 0 :(得分:1)

MapJobRepositoryFactoryBean创建一个由内存JobRepository实现支持的Map ...而不是数据库。改为使用JobRepositoryFactoryBean,您将看到数据库中的记录。