好吧,这就是我的方法。
在application.properties中
### Database Detailsdatasource.app.driverClassName=oracle.jdbc.driver.OracleDriverdatasource.app.url=jdbc:oracle:thin:@//localhost:1521/xedatasource.app.username=YOUR_APP_DB_USERNAME datasource.app.password=YOUR_PASSWORDdatasource.batch.driverClassName=oracle.jdbc.driver.OracleDriverdatasource.batch.url=jdbc:oracle:thin:@//localhost:1521/xedatasource.batch.username=YOUR_BATCH_DB_USERNAME datasource.batch.password=YOUR_PASSWORD
然后在您的
@Configuration课程中添加以下bean
@Primary@Bean@ConfigurationProperties(prefix = "datasource.app")public DataSource appDataSource() { return DataSourceBuilder.create().build();}@Bean@ConfigurationProperties(prefix = "datasource.batch")public DataSource batchDataSource() { return DataSourceBuilder.create().build();}@Beanpublic JobLauncher jobLauncher() throws Exception { SimpleJobLauncher jobLauncher = new SimpleJobLauncher(); jobLauncher.setJobRepository(jobRepository()); return jobLauncher;}@Beanpublic JobRepository jobRepository() throws Exception { DataSourceTransactionManager batchTransactionManager = new DataSourceTransactionManager(); batchTransactionManager.setDataSource(batchDataSource()); JobRepositoryFactoryBean jobRepositoryFactoryBean = new JobRepositoryFactoryBean(); jobRepositoryFactoryBean.setTransactionManager(batchTransactionManager); jobRepositoryFactoryBean.setDatabaseType("ORACLE"); jobRepositoryFactoryBean.setIsolationLevelForCreate("ISOLATION_DEFAULT"); jobRepositoryFactoryBean.setDataSource(batchDataSource()); jobRepositoryFactoryBean.afterPropertiesSet(); return jobRepositoryFactoryBean.getObject();}


