Monday, 31 March 2014

SpringInterviewQuestions

How to make transaction roll back when sql failes:

DataSourceTransactionManager transactionmanager = new DataSourceTransactionManager(dataSource);
TransactionTemplate  transactionTemplate = new TransactionTemplate(transactionmanager);
String message = transactionTemplate.execute(new TransactionCallback<String>(){

@override

public String doInTransaction(TransactionSatua ts){
If any one of transaction failed in execution, then complete transaction is rolled back. Suppose if deleteRecords() and addrecords()is executed successfully and updateRecords() is failed, then previous two transaction also rolled back.
try
{
deleteRecords();
addRecords("someinput");
UpdateRecords("someInput");
} catch(Exception e){
ts.setRollbackOnly();
return "sql failed. so whole transaction is rolledback";
}
}

No comments:

Post a Comment