[Quartz] 자바 스프링 과 Quartz 결합 타이머

머리말
      . Net 프로젝트 를 할 때, 소 편 은 Quartz. Net 모듈 을 사용 한 적 이 있 으 며, 자바 와 접촉 한 후, 관련 정시 임 무 를 수행 할 때 도 대응 하 는 Quartz 의존 이 있 음 을 발견 하 였 다.사용 방식 도 일치 하 므 로 소 편 은 이것 에 대해 비교 학습 을 한다.
2. 사용 방식
2.1 maven 의존 추가
<properties>
    <quartz.version>2.2.1quartz.version>
properties>

<dependencies>
    <dependency>
        <groupId>org.springframeworkgroupId>
        <artifactId>spring-coreartifactId>
    dependency>
    <dependency>
        <groupId>org.springframeworkgroupId>
        <artifactId>spring-context-supportartifactId>
    dependency>
    
    <dependency>
        <groupId>org.springframeworkgroupId>
        <artifactId>spring-txartifactId>
    dependency>
    
    <dependency>
        <groupId>org.quartz-schedulergroupId>
        <artifactId>quartzartifactId>
        <version>${quartz.version}version>
    dependency>
dependencies>

2.2 타 이 밍 클래스 만 들 기
      service 층 에 가방 을 새로 만 들 었 습 니 다. 가방 이름 은 task 이 고 service 와 같은 등급 입 니 다. 우리 같은 종 류 를 MyJob 이 라 고 가정 합 니 다.
/**
*Createdby Ares 2017-07-18.
*/
@Component
Public class ExamManagerServiceImpl{

    public void sendWeChatMessagesTimedPush(){
        System.out.println("          !!!!");
    }
}

2.3 spring 설정 파일
      spring 과 결합 하여 spring 4 의 주 해 를 사용 하지 않 았 다 면 설정 파일 로 작업 해 야 합 니 다.이 작은 편집 은 설정 파일 을 사용 합 니 다. 관련 패키지 스 캔 을 해 야 합 니 다.
      이전 프로필 에 패키지 스 캔 이 설정 되 어 있 기 때문에 더 이상 설정 할 필요 가 없습니다. 새 가방 이 라면 이 프로필 에 패키지 스 캔 을 설정 하 십시오.

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd">


    
    <bean id="examManagerServiceImpl" class="com.dmsdbj.itoo.examinationEvaluation.service.impl.ExamManagerServiceImpl" />
    <bean id="jobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
        <property name="targetObject" ref="examManagerServiceImpl" />
        <property name="targetMethod" value="sendWeChatMessagesTimedPush" />
        
        <property name="concurrent" value="false" />
    bean>


    
    <bean class="org.springframework.scheduling.quartz.CronTriggerFactoryBean" id="cronTriggerWeChatMessage">
        
        <property name="jobDetail" ref="jobDetail"/>
        
        <property name="cronExpression" value="0/30 * * * * ?"/>
    bean>


    
    <bean id="startQuertz" class="org.springframework.scheduling.quartz.SchedulerFactoryBean" lazy-init="false" >
        <property name="triggers">
            <list>
                
                <ref bean="cronTriggerWeChatMessage" />
            list>
        property>
    bean>

beans>

3. 우정 링크
【 Quartz 】 정시 퀘 스 트 (1) - Quartz. NET 사용
[위 챗] 위 챗 소식 은 정시 에 푸 시 합 니 다.
소결
      어떤 언어 든 서로 통 하고 조작 은 똑 같 으 며 실현 하 는 방식 을 깊이 이해 하 는 것 이 최종 목적 이다.

좋은 웹페이지 즐겨찾기