내 연락처 정보
우편메소피아@프로톤메일.com
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
프로젝트에서 @Scheduled를 사용하는 경우 프로젝트 시작 시 지정된 비동기 작업을 어떻게 미리 실행할 수 있나요?
@Scheduled 주석은 작업 실행 시간을 유연하게 제어하기 위한 여러 매개변수를 지원합니다.
/**
* @Author 码至终章
* @Version 1.0
*/
@Component
public class ScheduledTest {
@Scheduled(cron = "* 1 * * * ?")
public void task1() throws Exception{
System.out.println("task1 执行: " + Thread.currentThread() + "-" + DateTime.now());
}
}
이 클래스는 주로 시작 시 지정된 작업 메서드를 수동으로 호출합니다.
/**
* @Author 码至终章
* @Version 1.0
*/
@Component
public class StartupTasks {
private final ScheduledTest scheduledTasks;
public StartupTasks(ScheduledTest scheduledTasks) {
this.scheduledTasks = scheduledTasks;
}
@PostConstruct
public void startUp() {
try {
System.out.println("服务启动执行任务");
scheduledTasks.task1();
}catch (Exception e){
e.printStackTrace();
}
}
}
참고: 예약된 작업이 실행되도록 시작 클래스에 @EnableScheduling을 추가해야 합니다. 물론 이는 이 기사의 논리 테스트에 영향을 미치지 않습니다.
서비스 시작 후 인쇄정보를 확인하세요.