달력

7

« 2019/7 »

  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
  •  
2017.01.06 09:40

Spring 컨트롤러에서 트랜잭션 사용하기 WEB2017.01.06 09:40

//트랜잭션 기능 추가 시 추가해야 될 목록들

import org.springframework.transaction.TransactionDefinition;

import org.springframework.transaction.TransactionStatus;

import org.springframework.transaction.support.DefaultTransactionDefinition;


@RequestMapping(value="/Main.do", method=RequestMethod.GET)

public @ResponseBody List Main(ModelMap model, MVoidCostVO vo) throws Exception{

List<HashMap> result = new ArrayList<HashMap>();

HashMap<String, String> hm = new HashMap<String, String>();


DefaultTransactionDefinition def = new DefaultTransactionDefinition();

def.setName("MPreferReg-transation");

def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);

TransactionStatus status = transactionManager.getTransaction(def);

Boolean isSucc = true;

try{

//같은 트랜잭션으로 사용할 부분을 여기서 사용한다.


//논리적으로 오류가 발생 시 isSucc값을 false 로 반환한다.

}catch(Exception e){

isSucc = false;

transactionManager.rollback(status);    //오류 시 롤백

}finally{

if( isSucc ){

transactionManager.commit(status);  //오류가 없을 경우 커밋

}

}

}


     result.add(hm);

return result;

}

'WEB' 카테고리의 다른 글

Spring 컨트롤러에서 트랜잭션 사용하기  (0) 2017.01.06
Posted by 현자