`

quartz web定时应用

阅读更多
1.web.xml配置
<servlet>   
    <servlet-name>QuartzInitializer</servlet-name>   
       <display-name>Quartz Initializer Servlet</display-name>   
       <servlet-class>org.quartz.ee.servlet.QuartzInitializerServlet</servlet-class>   
       <load-on-startup>1</load-on-startup>   
       <init-param>   
         <param-name>config-file</param-name>   
         <param-value>/quartz.properties</param-value>   
       </init-param>   
       <init-param>   
         <param-name>shutdown-on-unload</param-name>   
         <param-value>true</param-value>   
       </init-param>   
</servlet>   

2.在/WEB-INF/classes配置quartz所需配置文件
org.quartz.scheduler.instanceName = TestScheduler
org.quartz.scheduler.instanceId = one
org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
#启用两个线程
org.quartz.threadPool.threadCount = 2
#线程优先级别,一般为5
org.quartz.threadPool.threadPriority = 5
org.quartz.plugin.jobInitializer.class = org.quartz.plugins.xml.JobInitializationPlugin
#调度工作配置文件
org.quartz.plugin.jobInitializer.fileNames=updateWeb.xml    
#如果updateWeb.xml中存在调度器中已经有的job,true为覆盖  
org.quartz.plugin.jobInitializer.overWriteExistingJobs = false
org.quartz.plugin.jobInitializer.failOnFileNotFound = true
org.quartz.plugin.shutdownhook.class = org.quartz.plugins.management.ShutdownHookPlugin
org.quartz.plugin.shutdownhook.cleanShutdown = true

<?xml version='1.0' encoding='utf-8'?>
<quartz> 
  <job>
    <job-detail>
      <name>update_web</name>
      <group>myWebUpdate</group>
      <description>Job for update web</description>
      <job-class>com.trade.updateTimeWeb.UpdateWebAll</job-class>
      <volatility>false</volatility>
      <durability>false</durability>
      <recover>false</recover>
    </job-detail>
    <trigger>
      <cron>
        <name>myWebUpdateTrigger</name>
        <group>myWebUpdate</group>
        <description>Trigger for update web</description>
        <job-name>update_web</job-name>
        <job-group>myWebUpdate</job-group>
        <cron-expression>34 22 23 1/20 * ?</cron-expression>
      </cron>
    </trigger>
  </job>
</quartz>


3.指定执行的java类
package com.trade.updateTimeWeb;

import java.util.ArrayList;
import java.util.HashMap;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import com.sys.dbm.DbexecuteDAO;
import com.sys.exp.ApplicationException;
import com.trade.custChannel.custChannelInfo;
import com.trade.search.UpdateAllSearch;
import com.updateWeb.updateHtml.CreateChannel;
import com.updateWeb.updateHtml.CreateIndex;
public class UpdateWebAll implements Job{
	SwithConfig sConfig=new SwithConfig();
    public String swith(String key){
    	HashMap<String, String> map=sConfig.getSwitchConfig();
    	if(map!=null&&map.size()>0){
    		if(map.containsKey(key))
    			 return map.get(key);
    	}
        return "";
    }
	public ArrayList getChAllChLevelFirst() {
		ArrayList list = new ArrayList();
		DbexecuteDAO dbExcecute = new DbexecuteDAO();
		String sql = "SELECT ch_id FROM td_b_channel WHERE ch_level=1";
		list = dbExcecute.selBizQuery(sql);
		return list;
	}

	public void updateAllWeb() {
		CreateIndex index = new CreateIndex();
		CreateChannel channel = new CreateChannel();
		if(swith("indexSwitch").equals("0")){
			
			System.out.println("<----------home start---------->");
			index.CreateIndex("/systemplate/default/templates/index.html", "/","index.html");
			System.out.println("<----------home end---------->");
		}
		if(swith("channelSwitch").equals("0")){
			
				System.out.println("<----------channel start---------->");
				/*ArrayList list = getChAllChLevelFirst();
				String ch_id = "";
				for (int i = 0; i < list.size(); i++) {
					HashMap map = (HashMap) list.get(i);
					if (map.get("ch_id") != null) {
						ch_id = map.get("ch_id").toString();
					}
					try {
					if (!ch_id.equals(""))
						channel.CreateChannelIndexSelf(ch_id);
					} catch (ApplicationException e) {
						System.out.println(ch_id+"...error...");
					}
				}*/
				try {
					  channel.CreateChannelIndexSelf("6858808037");
					  channel.CreateChannelIndexSelf("1777148108");
				  } catch (ApplicationException e) {
						System.out.println("....error....");
			    }
			System.out.println("<----------channel end---------->");
		 }
		if(swith("enterpriseSwitch").equals("0")){
			
			System.out.println("<----------member shop start---------->");
			custChannelInfo CustChannelInfo = new custChannelInfo();
 
			if(!swith("updateNum").equals("")) 
			CustChannelInfo.updateAllCustHtml(swith("updateNum"));
			System.out.println("<---------member stop end---------->");
		}
		if(swith("searchSwitch").equals("0")){
			
			System.out.println("<----------search start---------->");
			UpdateAllSearch upsearch = new UpdateAllSearch();
			upsearch.updateAllSearch();
			System.out.println("<----------search end---------->");
		}

	}

	public void execute(JobExecutionContext context)throws JobExecutionException {
		if(swith("masterSwitch").equals("0")){
			System.out.println("<----------job start---------->");
			updateAllWeb();
			System.out.println("<----------job end---------->");
		}else{
			System.out.println("job close");
		}
	}

}

分享到:
评论
1 楼 dcyangyang 2010-05-25  
你好!能给我一些quartz web 应用的实例吗?我最近在写用其定时发邮件 ,传数据等功能,第一次接触.....谢谢

相关推荐

    spring+quartz定时集群支持

    集群下应用server定时任务执行研究,一方面是spring+quartz集群支持,另一方面是统一调度server 通过IHS方式解决,保证同一时间只有一台应用server执行定时任务

    spring+quartz 动态任务方案

    Quartz 是个开源的作业调度框架,为在 Java 应用程序中进行作业调度提供了简单却强大的机制。Quartz 允许开发人员根据时间间隔(或天)来调度作业。它实现了作业和触发器的多对多关系,还能把多个作业与不同的触发器...

    Quartz_2.2.1_API

    在阅读完本文并看过代码示例后,您应当能够把 Quartz 的基本特性应用到任何 Java™ 应用程序中。 Quartz 是个开源的作业调度框架,为在 Java 应用程序中进行作业调度提供了简单却强大的机制。Quartz 允许开发人员...

    Quartz-Job-Scheduling-Framework-中文版-V0.9.1.zip

    内容提要:最后介绍了 Quartz 官方的一个 Quartz Web 应用程序,它是以 Velocity 作为视图实现的。 第十四章. 工作流中使用 Quartz (第一部分) 内容提要:可以把 Quartz 引入到工作流中,主要讲了单独用 Quartz 来...

    .Net Core中使用Quartz.Net实践记录

    Quartz.NET是一个强大、开源、轻量的作业调度框架,是 OpenSymphony 的 Quartz API 的.NET移植,用C#改写,可用于winform和asp.net应用中。它灵活而不复杂。你能够用它来为执行一个作业而创建简单的或复杂的作业调度...

    Java Mail+Swing+SSL+Html+定时操作获取邮箱中的内容

    包含了两个完整的例子,用来定时通过SSL访问邮件服务器中...定时分别给出了使用JDK Timer和Quartz两种方式。 两个例子都能方便地运行,不需要应用服务器的支持。在Web应用满天飞的年代,对于理解相关的技术很有价值。

    java 定时器任务timer 随tomcat启动而启动 同步启动

    我们通常写的timer都是用main方法写的定时器,但同样我们...不过有个致命伤就是集群方面跟quartz不能比,此方法代码做参考不错,如果要用,那么这个方法在一台服务器上执行就行了,其他服务器注释掉web中的监听就行了。

    BudWk原名NutzWk,从V6 版本BudWkJava Web开源开发框架.rar

    BudWk(原名 NutzWk) 是有多年历史的Java Web开源开发框架,其6.x 是Java 微服务分布式 + 前后端完全分离版本,采用nutzboot(nutz核心)、dubbo、redis、zookeeper、shiro、quartz、beetl、logback、sentinel(流控框架...

    QuartzCore.Blazor:QuartzCore.Blazor作业管理平台,实践ant-design-blazor和FreeSql

    QuartzCore.Blazor这是一个基于.net5开发的轻量级Quartz配置中心部署简单,支持docker部署支持定时Http WebApi调用(推荐),亦支持本程序集直接调用方便统计接收应用和任务项Blazor wasm模式,使用了ant-design-...

    SpringBoot新手学习手册

    12.1、使用@Scheduled创建定时任务 47 12.2、使用@Async实现异步调用 47 12.3、自定义参数 49 12.4、多环境配置 50 12.5、修改端口号 50 12.6、SpringBoot yml 使用 50 12.7、SpringBoot整合拦截器 51 12.8、...

    快速开发框架NFine ASP.NET MVC+EF6+Bootstrap开发框架

    •定时计划任务:Quartz.Net组件 •安全支持:过滤器、Sql注入、请求伪造 •服务端验证:实体模型验证、自己封装Validator •缓存框架:微软自带Cache、Redis •日志管理:Log4net、登录日志、操作日志 •...

    前后端分离外卖点单系统,采用Shiro进行权限管理.zip

    基于SpringBoot + Vue 开发的,,使用uni-app开发微信小程序,支持微信登录、Redis缓存、quartz定时、导出数据等功能。 爬虫(Web Crawler)是一种自动化程序,用于从互联网上收集信息。其主要功能是访问网页、提取...

    forest:分布式任务调度平台,分布式,任务调度,schedule,scheduler

    比如:使用Spring框架集成quartz,只需要进行一些简单的配置就能定时执行任务了。但是随着企业的系统越来越多、逐步从单一应用慢慢演变为微服务集群。 在分布式集群系统中主要面临出如:任务的重复执行、没有统一定时...

    OpenAuth.Core后台管理框架-.net

    基于经典领域驱动设计的权限管理及快速开发框架,源于Martin Fowler企业级应用开发思想及最新技术组合(IdentityServer、EF core、Quartz、AutoFac、WebAPI、Swagger、Mock、NUnit、VUE、Element-ui等)。...

    OpenAuth.Core后台管理框架 v3.0.1

    基于经典领域驱动设计的权限管理及快速开发框架,源于Martin Fowler企业级应用开发思想及最新技术组合(IdentityServer、EF core、Quartz、AutoFac、WebAPI、Swagger、Mock、NUnit、VUE、Element-ui等)。...

    LaySSH快速开发框架

    LaySSH是基于LayUI+SpringMVC+Spring+Hibernate+Mysql搭建而成,内置代码生成器,能够快速生成增删改查代码,节省开发时间,快速构建企业级的web应用系统。 该框架具备一整套完整的权限管理系统,代码简洁,容易...

    百度地图开发java源码-DisJob:下岗

    百度地图开发java源码 ...5、提供web管理平台,将所有定时任务集中管理,可手动提交、停止任务、设置任务执行的频率 停止任务、设置任务频率均要在下次任务执行时才能生效,也就是说正在执行的任务不能停止,设置的新

    史上最好传智播客就业班.net培训教程60G 不下会后悔

    搜索引擎技术:Lucene.Net、多线程开发、爬虫技术、网页分析、正则表达式、Log4Net日志框架、Quartz.Net定时作业调度。 大型互联网开发技术:代码生成、网页静态化、基于JQuery的Web2.0页面开发、AJAX、SEO、网站...

    Spring 2.0 开发参考手册

    3.8.4. ApplicationContext在WEB应用中的实例化 3.9. 粘合代码和可怕的singleton 3.9.1. 使用Singleton-helper类 4. 资源 4.1. 简介 4.2. Resource 接口 4.3. 内置 Resource 实现 4.3.1. UrlResource 4.3.2. ...

    Spring中文帮助文档

    3.8.5. ApplicationContext在WEB应用中的实例化 3.9. 粘合代码和可怕的singleton 3.10. 以J2EE RAR文件的形式部署Spring ApplicationContext 3.11. 基于注解(Annotation-based)的配置 3.11.1. @Autowired ...

Global site tag (gtag.js) - Google Analytics