我新建了一个使用Java 8的SpringBoot批处理应用程序,并且我想仅使用注释为SpringBatch表创建数据库。
我想我应该创建配置文件,但我不知道如何做。
你可以在下面看到我想在我的Java程序中用注释复制的所有配置:
我已添加以下代码:
我想我应该创建配置文件,但我不知道如何做。
你可以在下面看到我想在我的Java程序中用注释复制的所有配置:
<!-- Base de donnees H2 pour les tables Spring Batch -->
<jdbc:embedded-database id="springBatchDataSource" type="H2">
<jdbc:script location="org/springframework/batch/core/schema-drop-h2.sql" />
<jdbc:script location="org/springframework/batch/core/schema-h2.sql" />
</jdbc:embedded-database>
<!-- TransactionManager Spring Batch -->
<bean id="springBatchTransactionManager" class="org.springframework.batch.support.transaction.ResourcelessTransactionManager" />
<!-- JobRepository Spring Batch -->
<bean id="jobRepository" class="org.springframework.batch.core.repository.support.JobRepositoryFactoryBean">
<property name="dataSource" ref="springBatchDataSource" />
<property name="transactionManager" ref="springBatchTransactionManager" />
<property name="databaseType" value="H2" />
</bean>
我已添加以下代码:
@Configuration public class ConfigBatch {
@Bean(destroyMethod = "shutdown")
public EmbeddedDatabase dataSourceH2() {
return new EmbeddedDatabaseBuilder().setType(EmbeddedDatabaseType.H2)
.addScript("classpath:org/springframework/batch/core/schema-drop-h2.sql")
.addScript("classpath:org/springframework/batch/core/schema-h2.sql").build();
}
@Bean
public SimpleJobLauncher jobLauncher() throws Exception {
final SimpleJobLauncher launcher = new SimpleJobLauncher();
launcher.setJobRepository(jobRepository());
return launcher;
}
@Bean
public JobRepository jobRepository() throws Exception {
final JobRepositoryFactoryBean factory = new JobRepositoryFactoryBean();
factory.setDatabaseType(DatabaseType.H2.getProductName());
factory.setDataSource(dataSourceH2());
factory.setTransactionManager(transactionManager());
return factory.getObject();
}
@Bean
public ResourcelessTransactionManager transactionManager() {
return new ResourcelessTransactionManager();
}
}
我的"@ImportResource"导入出现错误,因为我的Java代码中有一个数据源,在我的XML文件中又有一个数据源:
没有找到符合条件的类型为[javax.sql.DataSource]的bean:期望只有一个匹配的bean,但找到了2个:
我只想在H2数据源中生成Spring批处理表,并在Oracle数据源上运行批处理写入器(XML导入资源)。
你需要帮忙吗? 谢谢:)