Я использую Spring MVC и зимуютвесна + спящий режим: вручную совершить сделку в конце
@Controller
public class COACategoriesController {
protected static Logger log = Logger.getLogger(COACategoriesController.class);
@Resource(name="COACategoriesService")
private COACategoriesService obj_coacs;
@Resource(name="COAMaintenanceService")
private COAMaintenanceService obj_coams;
@RequestMapping(value = "/addCoaCategory", method = RequestMethod.POST)
public String addCoaCategory(@RequestParam("conCatName") String coaCatName, Model model) {
Date sysdate = null;
String Message="";
try{
sysdate = new Date();
COACategoriesModel model1 = new COACategoriesModel(coaCatName, 1, "", sysdate , 0);
COAMaintenanceModel account = new COAMaintenanceModel();
account.setDiscription("Test Description");
account.setCategoryId(model1);
Message="Fail-First";
obj_coacs.AddCOACategories(model1);
Message="Fail-Second";
obj_coams.AddCOAMaintenance (account);
Message="Add Successfully";
}catch(Exception ex){
log.error("Exception.."+ex);
model.addAttribute("success", Message);
}
return "fin/category";
}
}
Как совершить сделку вручную, так как все операции сохранения успешно, если транзакция не может вставить, откатить все транзакции в блоке catch. ?
Я использую Spring MVC и зимуют
да! это решает проблему, с которой я сейчас сталкиваюсь. но можете ли вы сказать мне, пожалуйста, если есть какой-либо способ без комбинирования 2 метода. Фактически в спящем режиме я могу легко совершить транзакцию и отменить транзакцию, но после интеграции с весной mvc у меня проблема. ? –
@ShahidGhafoor вы пытались использовать «@TransactionConfiguration (defaultRollback = false)»? Я думаю, что Алексей прав, вам может понадобиться разбить его на два (или более) метода. Кроме того, вы можете попытаться заставить TransactionManager использовать инъекцию зависимостей Spring или реализовать собственный TransactionManager с ручным фиксацией/откатом. Однако мне лично не нравится эта альтернатива. – Rafa
@ShahidGhafoor, дополняющий мой предыдущий комментарий: http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/transaction.html#transaction-programmatic – Rafa