트랜잭션 널포인트 익셉션
- 작성자 :
- 김*혁
- 작성일 :
- 2023-03-10 12:38:29
- 조회수 :
- 458
- 구분 :
- 개발환경 / 3.7
- 진행상태 :
- 완료
Q
안녕하세요 .
제가 트랜잭션 관련해서 잘안되는게 있어서 문의 드립니다.
먼저 제가 진행하려고 하는건 프로그래밍적 트랜잭션을 하려고 합니다.
그래서 전자정부에서 알려준데로 적용을 하고 있는데요.
근데 계속 아래의 부분에서 null point exception 이 뜹니다... 왜 그러는지 이유를 모르겠습니다. 어떤 아규먼트를 넣어줘야 되는건지... 알려 주시면 감사하겠습니다.
public class FormServiceImpl extends EgovAbstractServiceImpl implements FormService {
@Resource(name = "formMapper")
FormMapper mapper;
ObjectMapper objMapper = new ObjectMapper();
TransactionTemplate transactionTemplate;
@Override
public void damageInsert() throws Exception {
try {
transactionTemplate.execute(new TransactionCallbackWithoutResult() {
@Override
public void doInTransactionWithoutResult(TransactionStatus status) { <== 이녀석에서 null point exception이 뜹니다..
try {
} catch (Exception e) {
status.setRollbackOnly();
}
}
});
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
}
제가 트랜잭션 관련해서 잘안되는게 있어서 문의 드립니다.
먼저 제가 진행하려고 하는건 프로그래밍적 트랜잭션을 하려고 합니다.
그래서 전자정부에서 알려준데로 적용을 하고 있는데요.
근데 계속 아래의 부분에서 null point exception 이 뜹니다... 왜 그러는지 이유를 모르겠습니다. 어떤 아규먼트를 넣어줘야 되는건지... 알려 주시면 감사하겠습니다.
public class FormServiceImpl extends EgovAbstractServiceImpl implements FormService {
@Resource(name = "formMapper")
FormMapper mapper;
ObjectMapper objMapper = new ObjectMapper();
TransactionTemplate transactionTemplate;
@Override
public void damageInsert() throws Exception {
try {
transactionTemplate.execute(new TransactionCallbackWithoutResult() {
@Override
public void doInTransactionWithoutResult(TransactionStatus status) { <== 이녀석에서 null point exception이 뜹니다..
try {
} catch (Exception e) {
status.setRollbackOnly();
}
}
});
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
}
환경정보
-
- OS 정보 : window
- 표준프레임워크 버전 :3.7
- JDK(JRE) 정보 : 1.8
- WAS 정보 :tomcat 8.5
- DB 정보 : psql
- 기타 환경 정보 :
A
안녕하세요.
표준프레임워크센터입니다.
TransactionTemplate을 이용하여 직접 트랜잭션을 관리하려고 하면
context-datasource.xml 파일에 DataSourceTransactionManager, TransactionTemplate Bean 설정 추가하고
서비스단에서 TransactionTemplate을 주입받아 사용해야 합니다.
TransactionTemplate Bean을 주입받을 때는
@Autowired, @Resource, @Qualifier을 사용하여 간단하게 설정할 수 있으므로
기존의 설정을 다시 확인해보시기 바랍니다.
감사합니다.
표준프레임워크센터입니다.
TransactionTemplate을 이용하여 직접 트랜잭션을 관리하려고 하면
context-datasource.xml 파일에 DataSourceTransactionManager, TransactionTemplate Bean 설정 추가하고
서비스단에서 TransactionTemplate을 주입받아 사용해야 합니다.
TransactionTemplate Bean을 주입받을 때는
@Autowired, @Resource, @Qualifier을 사용하여 간단하게 설정할 수 있으므로
기존의 설정을 다시 확인해보시기 바랍니다.
감사합니다.