用于回滚的多个 jdbcTemplate 和事务管理

时间:2021-07-05 13:43:00

标签: spring spring-transactions

我循环并使用两个不同的数据源(一个按架构) 在我的课上

@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 吗?

0 个答案:

没有答案
相关问题