스케줄러 문의
- 작성자 :
- 아*
- 작성일 :
- 2024-01-08 17:37:50
- 조회수 :
- 500
- 구분 :
- 기타
- 진행상태 :
- 완료
Q
스케줄러에서 서비스를 호출하면 트랜잭션 적용이 되지를 않습니다
따로 설정해야 하는 부분이 있는지 문의드립니다.
현재 아래 파일처럼 스케줄러가 설정되어 있습니다.
* context scheduler.xml
컴포넌트 및 task 및 서비스 빈(AdminService)으로 설정
* Scheduler.java
Scheduled(cron 0 19 17 * * *)
public void insertScheduled() {
adminService.insertValue1()
}
* AdminService.java
public class insertValue1 {
해당 서비스에서 여러개를 인서트 하는데 예외처리 할 경우 트랜잭션 처리가 되지 않음
}
따로 설정해야 하는 부분이 있는지 문의드립니다.
현재 아래 파일처럼 스케줄러가 설정되어 있습니다.
* context scheduler.xml
컴포넌트 및 task 및 서비스 빈(AdminService)으로 설정
* Scheduler.java
Scheduled(cron 0 19 17 * * *)
public void insertScheduled() {
adminService.insertValue1()
}
* AdminService.java
public class insertValue1 {
해당 서비스에서 여러개를 인서트 하는데 예외처리 할 경우 트랜잭션 처리가 되지 않음
}
환경정보
-
- OS 정보 : 리눅스
- 표준프레임워크 버전 : 4.1
- JDK(JRE) 정보 : 1.8
- WAS 정보 : 톰켓
- DB 정보 : mysql
- 기타 환경 정보 :
A
안녕하세요.
표준프레임워크센터입니다.
감사합니다.
표준프레임워크센터입니다.
공통컴포넌트를 기반으로 확장하여 구성된 프로젝트의 경우
트랜잭션 설정이 다음 설정파일에 정의되어 있습니다.
/src/main/resources/egovframework/spring/com/context-transaction.xml
다음과 같이 기본 정의가 되어 있어
execution(* egovframework.com..*Impl.*(..))
~~~Impl 끝나는 이름의 서비스빈에 트랜잭션이 걸리므로
클래스 명을 규칙에 맞게 변경 하여야 합니다.
감사합니다.