mvc-config.xml
xmlns:task="http://www.springframework.org/schema/task"
xsi:schemaLocation="http://www.springframework.org/schema/task
http://www.springframework.org/schema/task/spring-task-3.0.xsd"
<task:annotation-driven />
컨트롤러에 @Service 추가
@Service
public class TargetController {
....
}
@PostConstruct, @Scheduled(fixedDelay=5000)
해당 메소드가 서버 시작할 때 시작하고 싶을 때 @PosrtConstruct를 사용하면 WAS가 띄워질 때 실행된다.
스케줄러를 돌릴 메소드에 @Scheduled추가
1000이 1초에 해당해 아래의 경우 5초마다 해당 메소드가 실행됨
@PostConstruct
private void resendThread() {
// TODO Auto-generated method stub//스레드 주기 설정, 5=5초
int sleepSec = 5;
//스레드 갯수 설정
final ScheduledThreadPoolExecutor exec = new ScheduledThreadPoolExecutor(2);
//스레드 실행 -> run 메소드를 정의해줘야함
exec.scheduleAtFixedRate(new Runnable() {
@Scheduled(fixedDelay=5000)
public void run() {
try {
...
} catch (Exception e) {
e.printStackTrace();
// 에러 발생시 Executor를 중지시킨다
exec.shutdown();
}
}
}, 0, sleepSec, TimeUnit.SECONDS);
}
@PreDestroy
반대로 스프링 컨테이너에서 객체를 제거하기 전에 해야할 작업이 있다면
close()하기전에 ((AbstractApplicationContext) context. close())
'Spring' 카테고리의 다른 글
@Qualifier 어노테이션 사용법 (0) | 2019.03.14 |
---|---|
스프링 검색 내용 정리 (추후 추가 정리 필요) (0) | 2019.03.05 |
DAO 확장 (0) | 2018.08.02 |
DAO작성& 관심사 분리 & 커넥션 추출 & mysql 연동 (0) | 2018.08.01 |
JDBC 프로그래밍 객체 정리 (0) | 2018.07.31 |
댓글