Spring Batch 2 datasource
Spring Batch DataSource
Few months ago, I explained basic Spring Batch(Spring Batch Get Started)
Spring Batch JobBuilderFactory seems to require dataSource to save Batch status.
So, I need 2 datasources
- Spring Batch step status
- Data(read, write)
In this example, I use HSQL lib for status, use MySQL as data.
Preparation
To use HSQL and MySQL, please add following dependencies
compile("org.hsqldb:hsqldb")
compile("mysql:mysql-connector-java:5.1.40")
DataSourceConfiguration.java
This is datasource configuration class
public class DataSourceConfiguration {
@Bean
@Primary
public DataSource hsqldbDataSource() throws SQLException {
final SimpleDriverDataSource dataSource = new SimpleDriverDataSource();
dataSource.setDriver(new org.hsqldb.jdbcDriver());
dataSource.setUrl("jdbc:hsqldb:mem:mydb");
dataSource.setUsername("sa");
dataSource.setPassword("");
return dataSource;
}
@Bean
public DataSource mysqlDataSource() throws SQLException {
final SimpleDriverDataSource dataSource = new SimpleDriverDataSource();
dataSource.setDriver(new com.mysql.jdbc.Driver());
dataSource.setUrl("jdbc:mysql://localhost/test");
dataSource.setUsername("username");
dataSource.setPassword("password");
return dataSource;
}
}
BatchConfiguration.java
@Configuration
@EnableBatchProcessing
@ComponentScan(basePackageClasses = DefaultBatchConfigurer.class)
@EnableAutoConfiguration
@Import(DataSourceConfiguration.class)
public class BatchConfiguration {
...
}
