我有一個春季啓動應用程序和使用駱駝與它,我讀了一個文件,然後我嘗試插入我的數據庫,一切都運行良好唯一的問題是,我嘗試使用@transactional
或transactionTemplate
使回滾時發生錯誤,但它不會使回滾,如何管理在春季啓動交易
隨着@transactional
我添加到我的SpringBootApplication和@EnableTransactionManagement(proxyTargetClass=true)
在我的課我添加@Transactional(rollbackFor = Exception.class)
這些都是我的類:
@SpringBootApplication
@EnableDiscoveryClient
@EnableTransactionManagement(proxyTargetClass=true)
public class MsArchivo510Application {
public static void main(String[] args) {
SpringApplication.run(MsArchivo510Application.class, args);
}
}
@Service
public class ArchivoBS implements Processor{
@Transactional(rollbackFor = Exception.class)
@Override
public void process(Exchange exchange) throws Exception {
//Here I execute stored procedure and one of them fail
}
}
隨着transactioTemplate我的課結束這樣的:
@Service
public class ArchivoBS implements Processor{
@Override
public void process(Exchange exchange) throws Exception {
transactionTemplate.execute(new TransactionCallbackWithoutResult() {
@Override
protected void doInTransactionWithoutResult(TransactionStatus status) {
try {
//Here I execute stored procedure and one of them fail
} catch (Exception e) {
e.printStackTrace();
status.setRollbackOnly();
}
}
});
}
}
難道我失去了一些東西?有人可以幫助我這個問題?提前
感謝
所以你的意思是有從存儲過程的調用分離處理器? –
我嘗試你提到的但它不起作用 –