我循环并使用两个不同的数据源(一个按架构) 在我的课上
@Service
public BillingService{
@Autowired
@Qualifier("primaryJdbcTemplate")
private JdbcTemplate primaryJdbcTemplate;
@Autowired
@Qualifier("secondaryJdbcTemplate")
private JdbcTemplate secondaryJdbcTemplate;
public void process(){
String row;
BufferedReader csvReader = new BufferedReader(new FileReader("xxx.csv"));
while ((row = csvReader.readLine()) != null) {
//start a transaction here...
Event event = new Event();
...
saveInX(event); //use one datasource
saveIny(event); //use another datasource
}
}
public void saveInX(Event event){
primaryJdbcTemplate.update("...");
}
public void saveIny(Event event){
secondaryJdbcTemplate.update("...");
}
}
同时,我想使用事务,如果在 saveInX 或 saveInY 中失败,我想回滚当前数据。
我需要使用两个 TransactionTemplate 吗?