자바 에서 Spring 은 Quartz 작업 스케줄 러 를 사용 합 니 다.
Quartz 는 Job scheduling 분야 에서 OpenSymphony 오픈 소스 조직 이 또 하나의 오픈 소스 프로젝트 로 J2EE 와 J2SE 응용 프로그램 을 결합 하여 단독으로 사용 할 수 있다.Quartz 는 자바 가 완전히 작성 한 오픈 소스 작업 스케줄 링 프레임 워 크 입 니 다.작업 스케줄 이라는 용어 가 너 를 놀 라 게 하지 마라.비록 Quartz 프레임 워 크 는 많은 추가 기능 을 통합 시 켰 지만 간단 한 형식 으로 볼 때 쉽게 사용 할 수 있다 는 것 을 알 게 될 것 이다.
사실 그 는 여전히 명확 하 게 설명 하지 못 했다.나 는 간단하게 말 했다.Quartz 작업 스케줄 은 바로 정시 임 무 를 실현 할 수 있 는 것 이다.이것 은 윈도 우즈 와 유사 한 임무 계획,우리.Net 의 윈도 우즈 서비스 가 실현 하 는 정시 임무 등 을 실현 할 수 있다.또한 스프링 프레임 워 크 와 결합 하여 사용 하면 간단 하고 폭발 적 이 며 시원 하 게 참 을 수 없다.시간 설정 이 비교적 까다 로 운 것 을 제외 하고...이것 은 중요 하지 않다.이따가 해결 방안 을 알려 줄 게.
현재 하나의 수요 가 있 습 니 다.사용자 가 우리 시스템 에서 특정한 조작 을 완성 하고 우 리 는 금화 로 사용자 에 게 보답 합 니 다.그러나 실시 간 으로 사용자 에 게 충전 하 는 것 이 아니 라 성능 문 제 를 고려 하여 우 리 는 비동기 또는 우 리 는 새벽 1 시 에 사용자 계 정 에 통일 적 으로 충전 하려 고 합 니 다.이 시간 대 에 사용자 가 비교적 적 기 때 문 입 니 다.어떻게 할 거 예요?
GoldQuartz.java 파일 추가
물론 저 와 마찬가지 로 cn.mayongfa.quartz Package 패 키 지 를 추가 하여 정시 임 무 를 수행 하 는 종 류 를 넣 을 수 있 습 니 다.
이런 종류의 목적 은 정 해진 시간 에 자동 으로 사용자 에 게 금 화 를 넣 는 것 이다.
@Component
public class GlodQuartz {
/**
*
*
*/
@Scheduled(cron = "0 0 1 * * ? ")
public void addUserGold() {
System.out.println(" , ?");
}
/**
* 5
*/
@Scheduled(cron = "*/5 * * * * ? ")
public void cacheClear() {
System.out.println(" 5 , ...");
}
}
완성 이 야?응,그래,이렇게 간단 해.주로@Scheduled 와 관련 된 cron 이 무슨 뜻 인지,어떻게 쓰 고 어떻게 자동 으로 생 성 되 는 지,지금 은 전혀 보이 지 않 기 때 문 입 니 다.2.springMVC-servlet.xml 파일 설정
<!-- -->
<task:annotation-driven />
<context:component-scan base-package="cn.mayongfa.quartz"/>
여기까지.사실 이렇게 간단하게 완 성 했 어!쓰기 좋아.못 참 겠 어.이
xmlns:task="http://www.springframework.org/schema/task"
xsi:schemaLocation="
http://www.springframework.org/schema/task
http://www.springframework.org/schema/task/spring-task.xsd"
전체 버 전 설정 여기 보기 을 누 르 십시오.실행 보기 결과
여기까지 오 면 당신 은 자신의 요구 에 따라 자신 이 수행 하고 자 하 는 정시 임 무 를 완성 할 수 있 습 니 다.그럼 제 가 자세히 말씀 드 리 겠 습 니 다.@Scheduled 의 cron 은 무슨 뜻 입 니까?
Cron 표현 식 은 초,분,시간,월 내 날짜,월,주 내 날짜,년(선택 가능 한 필드)을 포함 합 니 다.
Cron 트리거 는 일련의 특수 문 자 를 사용 합 니 다.
어떤 사람들 은 사람들 이 cron 표현 식 을 빨리 쓰 는 것 을 편리 하 게 하기 위해 표현 식 을 만 드 는 사 이 트 를 만 들 었 다.http://tools.jb51.net/code/Quartz_Cron_create
이 사이트 에 가면 당신 에 게 맞 는 cron 표현 식 을 아주 빠르게 만 들 수 있 습 니 다.어서 가서 해 보 세 요.
총괄 하 다
시간 에 맞 춰 코드 를 실행 해 야 할 때 작업 스케줄 을 사용 할 수 있 습 니 다.Quartz 는 바로 이것 을 위해 태 어 났 고 Spring 과 결합 하 는 것 이 매우 편리 합 니 다.당신 에 게 코드 를 빨리 쓰 라 고 했 습 니 다.Quartz 는 며칠 전에 우리 프로젝트 팀 의 한 동료 가 나 에 게 알려 주 었 습 니 다.내 가 사용 하 자 나 는 그 에 게 굴복 당 했 습 니 다.
위의 코드 는 이 주 소 를 방문 하여 전체 항목 의 예 시 를 볼 수 있 습 니 다:http://xiazai.jb51.net/201702/yuanma/SpringQuartzDemo_jb51.rar
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
thymeleaf로 HTML 페이지를 동적으로 만듭니다 (spring + gradle)지난번에는 에서 화면에 HTML을 표시했습니다. 이번에는 화면을 동적으로 움직여보고 싶기 때문에 입력한 문자를 화면에 표시시키고 싶습니다. 초보자의 비망록이므로 이상한 점 등 있으면 지적 받을 수 있으면 기쁩니다! ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.