非spring项目如何启动job

1.web.xml配置

<servlet>
    <description></description>
    <display-name>CronTriggerTest</display-name>
    <servlet-name>CronTriggerTest</servlet-name>
    <servlet-class>com.bbin.job.CronTriggerTest</servlet-class>
    <load-on-startup>1</load-on-startup>  
  </servlet>
  <servlet-mapping>
    <servlet-name>CronTriggerTest</servlet-name>
    <url-pattern>/CronTriggerTest</url-pattern>
  </servlet-mapping>

2.CronTriggerTest .java

import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.quartz.JobBuilder;  
import org.quartz.JobDetail;    
import org.quartz.Scheduler;    
import org.quartz.SchedulerFactory;    
import org.quartz.SimpleScheduleBuilder;  
import org.quartz.Trigger;  
import org.quartz.TriggerBuilder;  
import org.quartz.TriggerKey;  
import org.quartz.impl.StdSchedulerFactory;


public class CronTriggerTest extends HttpServlet{   
	public void init() throws ServletException { 
		  SchedulerFactory schedulerfactory=new StdSchedulerFactory();    
	      SchedulerFactory schedulerfactory1=new StdSchedulerFactory();    
	      SchedulerFactory schedulerfactory2=new StdSchedulerFactory();    
	      Scheduler scheduler=null;    
	      Scheduler scheduler1=null;
	      Scheduler scheduler2=null;
	      
	      try{  
	    	  //job1
	          scheduler=schedulerfactory.getScheduler();    
	          JobDetail job = JobBuilder.newJob(JobTest.class)  
		          .withIdentity("jobTest")  
		          .build();  
	      
	          Trigger trigger = TriggerBuilder.newTrigger()  
		          .withIdentity(TriggerKey.triggerKey("myTrigger", "myTriggerGroup"))  
		          .withSchedule(SimpleScheduleBuilder.simpleSchedule()  
	              .withIntervalInMilliseconds(6000)  
	              .repeatForever())  
		          .startNow()  
		          .build();  
	      
	          scheduler.scheduleJob(job, trigger);    
	         
	          scheduler.start(); 
	          
	          //--JOB2
	          Thread.sleep(1000);
	          scheduler1=schedulerfactory1.getScheduler();    
	          JobDetail job1 = JobBuilder.newJob(JobTest2.class)  
	        		  .withIdentity("jobTest2")  
	        		  .build();  
	          
	          Trigger trigger1 = TriggerBuilder.newTrigger()  
	        		  .withIdentity(TriggerKey.triggerKey("myTrigger1", "myTriggerGroup1"))  
	        		  .withSchedule(SimpleScheduleBuilder.simpleSchedule()  
    				  .withIntervalInMilliseconds(1000*60*60*24*20)  
    				  .repeatForever())  
    				  .startNow()  
    				  .build();  
	          
	          scheduler1.scheduleJob(job1, trigger1);    
	          //  
	          scheduler1.start(); 
	          
	          
	          //--JOB3
	          Thread.sleep(1000);
	          scheduler2=schedulerfactory2.getScheduler();    
	          JobDetail job2 = JobBuilder.newJob(JobTestCenter.class)  
	        		  .withIdentity("JobTestCenter")  
	        		  .build();  
	          
	          Trigger trigger2 = TriggerBuilder.newTrigger()  
	        		  .withIdentity(TriggerKey.triggerKey("myTrigger2", "myTriggerGroup2"))  
	        		  .withSchedule(SimpleScheduleBuilder.simpleSchedule()  
	        				  .withIntervalInMilliseconds(1000*15)  
	        				  .repeatForever())  
	        		  .startNow()  
	        		  .build();  
	          
	          scheduler2.scheduleJob(job2, trigger2); 
	         
	          scheduler2.start(); 
	          	
	      }catch(Exception e){    
	          e.printStackTrace();    
	      }    
    }  
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doPost(request, response);
	}
	
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doGet(request, response);
	}  

3.job1,这个示例是和其他的job一样的 只需要自己在里面完成自己的业务就OK了

package com.bbin.job;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Date;
import java.util.List;
import java.util.Random;

import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;

import com.bbin.dao.BbinDao;
import com.bbin.dao.DBUtil;
import com.bbin.pojo.RealtimeData;

public class JobTest implements Job {    
	ResultSet rs=null;
	Connection conn = null;
	Statement stmt = null;
	PreparedStatement pstmt = null;
   public void execute(JobExecutionContext arg0) throws JobExecutionException {
	  //这里面是你自己的任务以及业务
   }
}    

注:jar下载地址 https://download.csdn.net/download/qq_37996327/11143394

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值