web.xml 구성을 위한 예제 튜토리얼
정 현재 프로젝트는 타이밍 작업을 수행해야 합니다. Quartz의 기능은 여전히 사용하기 매우 편리합니다. 여기의 DEMO는 이를 기반으로 계속 학습할 수 있습니다.
저는 배운 것을 기록하고 정리하고 공유하겠다는 생각을 늘 갖고 있었는데, 오늘은 이 프로젝트에서 꼭 해야 할 첫 번째 글을 시작하겠습니다. 일시적으로요. 석영의 기능은 여전히 매우 강력합니다. 여기 데모는 하루에 한 번만 실행됩니다. 하하, 잠자고 내일 계속하세요. Maven Maven의 종속성 :<dependency><groupId>org.quartz-scheduler</groupId><artifactId>quartz</artifactId><version>2.2.3</version> </dependency> <dependency><groupId>org.quartz-scheduler</groupId><artifactId>quartz-jobs</artifactId><version>2.2.3</version> </dependency>
2. 여기서는 매일 00:00:00이 한 번 실행된다는 의미입니다
? 상관하지 않음을 나타냅니다*는 매년 무시할 수 있음을 의미합니다
package com.thinkgem.jeesite.modules.sys.listener;import javax.servlet.ServletContextEvent;import javax.servlet.ServletContextListener;public class TimingTaskSchedule implements ServletContextListener{// 服务器启动时执行该事件 @Overridepublic void contextInitialized(ServletContextEvent arg0) {try { QuartzLoad.run(); } catch (Exception e) { e.printStackTrace(); } }// 服务器停止时执行该事件 @Overridepublic void contextDestroyed(ServletContextEvent arg0) {try { QuartzLoad.stop(); } catch (Exception e) { e.printStackTrace(); } } }
Job은 자신의 비즈니스 처리입니다
package com.thinkgem.jeesite.modules.sys.listener;import org.quartz.CronScheduleBuilder;import org.quartz.CronTrigger;import org.quartz.Job;import org.quartz.JobBuilder;import org.quartz.JobDetail;import org.quartz.Scheduler;import org.quartz.SchedulerFactory;import org.quartz.TriggerBuilder;import org.quartz.impl.StdSchedulerFactory;import com.thinkgem.jeesite.modules.sys.listener.job;public class QuartzLoad {private static Scheduler sched; public static void run() throws Exception { System.out.println("定时任务启动"); JobDetail jobDetail = JobBuilder.newJob((Class<? extends Job>) job.class) .withIdentity("myjob", "group1").build();CronTrigger trigger =(CronTrigger) TriggerBuilder.newTrigger() .withIdentity("trigger", "group1") .withSchedule(CronScheduleBuilder.cronSchedule("0 0 0 ? * *")) .build(); SchedulerFactory sfact = new StdSchedulerFactory(); Scheduler schedule = sfact.getScheduler(); schedule.start(); schedule.scheduleJob(jobDetail, trigger); }//停止 public static void stop() throws Exception{ sched.shutdown(); } }
3. Web.xml 듣기:
com.thinkgem.jeesite.modules. sys.listener.TimingTaskSchedule
job execute(JobExecutionContext arg0) == SimpleDateFormat("yyyy-MM-dd HH:mm:ss""Time:"+"Hello"
위 내용은 web.xml 구성을 위한 예제 튜토리얼의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Scheduler가 실행될 때마다 JobDetail을 기반으로 새로운 Job 인스턴스가 생성되므로 동시 액세스 문제를 피할 수 있습니다(jobDetail 인스턴스도 새로운 것임). 기본적으로 Quzrtz 예약 작업은 동시에 실행되며 기다리지 않습니다. 예약된 작업이 너무 오랫동안 실행되면 리소스를 오랫동안 점유하여 다른 작업이 차단됩니다. 작업 클래스에서는 동일한 작업 정의(JobDetail에 의해 정의됨)의 여러 인스턴스를 동시에 실행하는 것이 금지됩니다. 스케줄러: 예약된 모든 작업을 위한 작업 컨테이너 또는 작업 공간으로 이해될 수 있습니다.

Quartz는 뛰어난 Java 오픈 소스 스케줄링 프레임워크입니다. 이 기사에서는 독자들에게 Quartz 구성 파일을 자세히 소개하고 일부 구성 모범 사례를 공유합니다.

예약된 작업 사용 가이드 예약된 작업을 수행하고 싶거나, 고가용성 요구 사항이 있거나, 빠르게 시작하고 쉽게 시작하고 싶다면 이를 선택하는 것이 옳습니다. 예약된 작업 모듈은 Quartz 프레임워크를 더욱 캡슐화하고 사용을 더 간단하게 만듭니다. 1. xin.altitude.cmsucode-cms-quartz1.5.4.12 종속성을 도입하고 org.quartz.Job 인터페이스 구현을 빠르게 시작합니다. CronExp 주석을 사용하여 작업의 예약 전략을 추가합니다. 작업을 컨테이너에 넣습니다. 프로젝트를 시작하면 예약된 작업이 모니터링되고 실행됩니다. @Component@DisallowConcurrentExecution

webapps 디렉토리에 Deploy하고 시작한다. 본 글에서 사용한 Spring 버전은 Spring 6, Spring Boot 버전은 3, JDK는 17이다. 이전과 조금 다를 수 있으나 전체적인 프로세스는 크게 다르지 않다. 배포된 애플리케이션이 tomcatwebapps 디렉터리에서 시작되면 프로젝트에서 web.xml 파일을 구성해야 합니다. web.xml 파일은 Spring 애플리케이션 컨텍스트 contextConfigLocation/WEB-INF/spring/application-context.xmlorg.springframework를 구성합니다. web.context.ContextLoad.

서블릿 컨테이너는 서블릿 실행 환경을 제공하는 애플리케이션으로, 서블릿 라이프사이클을 관리하고 보안, 트랜잭션 등 필요한 WEB 서비스를 제공하는 역할을 담당합니다. 서블릿 컨테이너에는 다양한 종류가 있으며 그 중 가장 일반적인 것은 Tomcat과 Jetty입니다. 서블릿 컨테이너의 주요 기능은 라이프사이클 관리입니다. 서블릿 컨테이너는 시작, 초기화, 서비스 및 파기를 포함하여 서블릿의 라이프사이클을 관리하는 역할을 담당합니다. 웹 서비스: 서블릿 컨테이너는 보안, 트랜잭션 등과 같은 웹 서비스를 제공합니다. 리소스 관리: 서블릿 컨테이너는 서블릿, jsP, html 페이지 등과 같은 리소스를 관리합니다. 클래스 로딩: 서블릿 컨테이너는 추가를 담당합니다.

구성 파일 sue.spring.quartz.cron=*/5****?pomorg.springframework.bootspring-boot-starter-quartz 예약된 작업 및 트리거 packagecom.luke.demo.schedule;importorg.quartz.*;importorg. .beans.factory.annotation.Value;importorg.springframework.context.annotation.Bea

인터넷 기술의 급속한 발전으로 인해 데이터 처리 속도는 다양한 산업과 기업 간 경쟁의 핵심이 되었습니다. 이 과정에서 캐싱 기술은 데이터 처리 속도를 향상시키는 중요한 수단이 됐다. 효율적인 캐싱 기술인 Quartz 캐싱 기술은 점점 더 많은 기업에서 채택되고 있습니다. 이 기사에서는 Quartz 캐싱 기술을 자세히 소개하고 그 사용법, 장점 및 단점을 소개합니다. 1. Quartz 캐싱 기술이란 무엇입니까? Quartz 캐싱 기술은 메모리 기반 캐싱 기술입니다.

인터넷 애플리케이션의 수가 증가함에 따라 백그라운드 작업 처리가 점점 더 중요해졌습니다. 개발을 하다 보면 매일 이른 아침에 정기적으로 데이터를 백업하고 정기적으로 이메일을 보내는 등 예정된 작업을 처리해야 하는 경우가 많습니다. Java 개발에서 Quartz 라이브러리를 사용하면 예약된 작업 처리를 구현하는 데 도움이 될 수 있습니다. Quartz는 예약된 작업을 구현하기 위한 간단한 API를 제공하는 오픈 소스 Java 예약 작업 프레임워크입니다. Quartz의 예약된 작업은 지정된 시간을 기준으로 할 수 있습니다.
