spring+quartz实现定时任务支持集群

阅读更多

最近项目要做集群,然后找了下资料发现quartz本身就支持集群,但是需要引入一些表,这里废话就少说了,这里就直接上代码吧,也提供了对应的代码下载https://github.com/zqh1989/quartz

1,首先下载quartz的jar包,找到docs的dbTables目录下边的对应的sql文件引入项目中

如图:我这边用的是mysql


spring+quartz实现定时任务支持集群_第1张图片
 2,quartz.properties配置

#==============================================================    
#Configure Main Scheduler Properties    
#==============================================================     
org.quartz.scheduler.instanceName = quartzScheduler  
org.quartz.scheduler.instanceId = AUTO  

#==============================================================    
#Configure ThreadPool    
#==============================================================   
org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool  
org.quartz.threadPool.threadCount = 10  
org.quartz.threadPool.threadPriority = 5  
org.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread = true 

#==============================================================    
#Configure JobStore    
#==============================================================   
org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX  
org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.StdJDBCDelegate  
org.quartz.jobStore.tablePrefix = QRTZ_  
org.quartz.jobStore.isClustered = true  
org.quartz.jobStore.clusterCheckinInterval = 20000    
org.quartz.jobStore.dataSource = myDS  
   
#==============================================================    
#Configure DataSource     \uFF08\u6B64\u5904\u586B\u4F60\u81EA\u5DF1\u7684\u6570\u636E\u5E93\u8FDE\u63A5\u4FE1\u606F\uFF09
#==============================================================   
org.quartz.dataSource.myDS.driver = com.mysql.jdbc.Driver  
org.quartz.dataSource.myDS.URL = jdbc\:mysql\://192.168.9.223:3306/cloud_live_course?createDatabaseIfNotExist\=true&characterEncoding\=utf-8  
org.quartz.dataSource.myDS.user = root  
org.quartz.dataSource.myDS.password = ablejava  
org.quartz.dataSource.myDS.maxConnections =30  

 3,spring-time.xml的配置



	
	
		
		
		
			
				
			
		
		
		
	

	
	
		
		
		
		
	
	
    
        
             zhang.quartz.MyDetailQuartzJobBean
        
        
            
                 
                 
            
        
    
	
	
	
   

 4,web.xml的配置



	liveCourse

	
		contextConfigLocation
		
 			classpath:spring/spring-config.xml
 			classpath:spring/spring-time.xml
		
	
	
	
		org.springframework.web.context.ContextLoaderListener
	

	
	
		SpringEncodingFilter
		org.springframework.web.filter.CharacterEncodingFilter
		
			encoding
			UTF-8
		
		
			forceEncoding
			true
		
	
	
		SpringEncodingFilter
		/*
	

	

	
	

	
	
		60
	


 

最后看执行效果,我这边启动了两个tomcat只有一个会起作用,然后停掉其中一个另一个马上就起来了

 


spring+quartz实现定时任务支持集群_第2张图片
  
spring+quartz实现定时任务支持集群_第3张图片
 

  • spring+quartz实现定时任务支持集群_第4张图片
  • 大小: 61.5 KB
  • spring+quartz实现定时任务支持集群_第5张图片
  • 大小: 31.5 KB
  • spring+quartz实现定时任务支持集群_第6张图片
  • 大小: 37.8 KB
  • 查看图片附件

你可能感兴趣的:(spring+quartz实现定时任务支持集群)