一个可能的解决方案是使用spring batch @JobScope beans并让你的石英工作启动spring批处理作业。
您可以将数据源配置为拥有@JobScope,然后每次执行作业时都会让spring创建该数据源。然后,您可以使用作业参数或其他变量来创建所需的特定数据源。创建如下数据源的配置类的示例如下所示...
@Configuration
public class JobDatabaseConfiguration {
@Bean
@JobScope
public DataSource jobDataSource() throws IOException {
// set these from job parameters...
String jdbcUrl = "<your jdbc url>";
String driver = "<your driver>";
String user = "user";
String password = "password";
return DataSourceBuilder.create()
.driverClassName(driver)
.url(jdbcUrl)
.username(user)
.password(password)
build();
}
}