在我的Spring应用程序中,我喜欢使用带有特定模式的Spring元表。文档建议使用表前缀。
我试图将batch.table.prefix=abc.BATCH_添加到属性文件中。我还试图重写配置:
@Configuration
@EnableBatchProcessing
public class BatchConfig {
@Bean
public JobRepository jobRepository(DataSource dataSource) throws Exception {
final JobRepositoryFactoryBean factory = new JobRepositoryFactoryBean();
factory.setDataSource(dataSource);
factory.setTablePrefix("abc.BATCH_");
factory.setTransactionManager(transactionManager(dataSource));
factory.afterPropertiesSet();
return factory.getObject();
}
@Bean
public JobExplorer jobExplorer(DataSource dataSource) throws Exception {
final JobExplorerFactoryBean factory = new JobExplorerFactoryBean();
factory.setDataSource(dataSource);
factory.setTablePrefix("abs.BATCH_");
factory.afterPropertiesSet();
return factory.getObject();
}
@Bean
public PlatformTransactionManager transactionManager(DataSource dataSource) {
return new DataSourceTransactionManager(dataSource);
}
...
}但是我总是会得到错误:由: org.h2.jdbc.JdbcSQLException: Table " BATCH_JOB_INSTANCE“not;SQL语句: SELECT JOB_INSTANCE_ID,JOB_NAME from BATCH_JOB_INSTANCE BATCH_JOB_INSTANCE JOB_NAME =?JOB_KEY = 42102-182
发布于 2014-12-17 10:10:23
我认为使用@EnableBatchProcessing更改存储库/资源管理器的最佳方法是提供您自己的BatchConfigurer (只是一个bean定义)。您可以轻松地扩展现有的一个实例。
发布于 2015-11-13 15:32:37
在我的例子中,我使用mysql作为数据库,我得到了这样的错误.I解决如下:
1.从以下jar弹簧批处理核心jar复制mysql(eg.mongo db、hsqldb等)查询(创建和插入查询)。


2.粘贴您使用过的数据库中的insert和create查询(如mysql、mongo、hsqldb等)并执行这些查询,将创建所需的表,并将表中的数据插入相应的表中。
3.运行批处理程序,它将找到"batch_job_instance“表和其他必需表。
https://stackoverflow.com/questions/27522215
复制相似问题