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 { ... }