一個可能的解決方案是使用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();
}
}