zoukankan      html  css  js  c++  java
  • Spring定时任务Quartz配置之手动设置

    一 配置xml如下:

        <!-- 定时任务配置 -->
        <bean id="scheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean" lazy-init="true">
            <!-- <property name="triggers">
                <list>
                    <ref bean="t1" />
                </list>
            </property> -->
        </bean>


    <!-- 配置作业类JobDetailBean -->
        <bean id="job1" class="org.springframework.scheduling.quartz.JobDetailBean">
            <property name="jobClass" value="test.Job1"></property>
            <property name="jobDataAsMap">
                <map>
                    <entry key="timeout" value="0"></entry>
                </map>
            </property>
        </bean>
        
        <!-- 配置作业调度的触发方式(触发器) -->
        <!--  第二种CronTriggerBean,支持到指定时间运行一次,如每天12:00运行一次等。 -->
    <!--     <bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
            <property name="jobDetail" ref="job1" />  
            <property name="cronExpression" value="0 0 12 * * ?" />
        </bean>  -->
        
        <!-- 第一种SimpleTriggerBean,只支持按照一定频度调用任务,如每隔30分钟运行一次 -->
        <bean id="cronTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">  
            <property name="jobDetail" ref="job1" />  
            <property name="startDelay" value="0" /><!-- 调度工厂实例化后,经过0秒开始执行调度 -->  
            <property name="repeatInterval" value="2000" /><!-- 每2秒调度一次 -->  
        </bean> 

    二 手动获取scheduler调度对象,触发SimpleTriggerBean对象,和作业类JobDetailBean对象

    public class TestJob {
    	public static  QuarzJobHelper jobHelper;
    	/**任务调度对象*/
    	private static Scheduler scheduler;
    	static AbstractApplicationContext  context = new ClassPathXmlApplicationContext("classpath:/spring/applicationContext.xml");
    	static{
    		jobHelper = (QuarzJobHelper)context.getBean("jobHelper");
    		/**任务调度对象*/
    		scheduler = (Scheduler)context.getBean("scheduler");
    	}
    	public static void main(String[] args) {
    		//从spring中获取trigger
    		Trigger trigger = (Trigger)context.getBean("cronTrigger");
    		//获取job作业类
    		JobDetail detail = (JobDetail)context.getBean("job1");
    		try {
    			//新增job
    			scheduler.scheduleJob(detail, trigger);
    			System.out.println(detail.getName()+","+detail.getGroup());
    			Thread.sleep(9000);
    			//删除job
    			scheduler.deleteJob(detail.getName(), detail.getGroup());
    			//定时任务销毁
    			scheduler.shutdown();
    		} catch (Exception e) {
    			e.printStackTrace();
    		}
    	}
    
    }
    

      

  • 相关阅读:
    xml=>数组
    php的session锁
    压缩服务器中的文件夹,并下载到电脑
    通过onkeydown事件来控制只允许数字
    简单算法
    memcahe安装
    HTML div css 强制 换行 不换行
    windows charles response 乱码解决办法
    根据字节流判断内容是否使用UTF-8编码
    nginx安装过程
  • 原文地址:https://www.cnblogs.com/GotoJava/p/6093565.html
Copyright © 2011-2022 走看看