quartz.net使用(通过配置文件进行配置)
在项目Nuget包管理器中搜索:quartz,安装完成之后再项目中引用即可
先定义一个Job,需要实现IJob接口:
public class TestJob : IJob
{
public void Execute(IJobExecutionContext context)
{
log4net.ILog log = log4net.LogManager.GetLogger(typeof(TestJob));
if (log.IsInfoEnabled)
{
log.Info("记录当前时间" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")+"\r\n");
}
Console.WriteLine("执行调度任务test"+" --- "+ DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
}
}
配置quartz_jobs.xml(附Cron生成器链接)
<job-scheduling-data xmlns="http://quartznet.sourceforge.net/JobSchedulingData" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0">
<processing-directives>
<overwrite-existing-data>true</overwrite-existing-data>
</processing-directives>
<schedule>
<!--任务-->
<job>
<!--任务名称,同一个group中多个job的name不能相同-->
<name>SimpleJob</name>
<!--任务分组-->
<group>sampleGroup</group>
<!--任务描述-->
<description>Sample job for Quartz Server</description>
<!--完整命名空间的类名及所属程序集名称-->
<job-type>WindowsService.Job.SimpleJob, WindowsService</job-type>
<durable>true</durable>
<recover>false</recover>
</job>
<!--任务触发器-->
<trigger>
<!--简单任务的触发器,可以调度用于重复执行的任务-->
<!--<simple>
--><!--触发器名称,同一个分组中的名称必须不同--><!--
<name>sampleSimpleTrigger</name>
--><!--触发器组--><!--
<group>sampleGroup</group>
--><!--描述--><!--
<description>Simple trigger to simply fire sample job</description>
--><!--要调度的任务名称,该job-name必须和对应job节点中的name完全相同--><!--
<job-name>SimpleJob</job-name>
--><!--调度任务(job)所属分组,该值必须和job中的group完全相同--><!--
<job-group>sampleGroup</job-group>
--><!--任务开始时间--><!--
--><!--<start-time>--21T11::+:</start-time>--><!--
<misfire-instruction>SmartPolicy</misfire-instruction>
--><!--任务执行次数 - 为无限次执行--><!--
<repeat-count>-</repeat-count>
--><!--任务触发间隔(毫秒)--><!--
<repeat-interval></repeat-interval>
--><!--每3秒中执行一次--><!--
</simple>-->
<cron>
<name>JobTrigger</name>
<group>JobTriggers</group>
<description>cron trigger</description>
<job-name>SimpleJob</job-name>
<job-group>sampleGroup</job-group>
<!--<start-time>--26T22::+:</start-time>-->
<cron-expression>0/2 * * * * ?</cron-expression>
</cron>
</trigger>
</schedule>
</job-scheduling-data>
配置quartz.config文件(在此提醒下,配置这个文件文件中会出现红色波浪错误提示,这个不影响最终结果)
# You can configure your scheduler in either <quartz> configuration section
# or in quartz properties file
# Configuration section has precedence
quartz.scheduler.instanceName = ServerScheduler
# configure thread pool info
quartz.threadPool.type = Quartz.Simpl.SimpleThreadPool, Quartz
quartz.threadPool.threadCount =
quartz.threadPool.threadPriority = Normal
# job initialization plugin handles our xml reading, without it defaults are used
quartz.plugin.xml.type = Quartz.Plugin.Xml.XMLSchedulingDataProcessorPlugin, Quartz
quartz.plugin.xml.fileNames = ~/quartz_jobs.xml
# export this server to remoting context
quartz.scheduler.exporter.type = Quartz.Simpl.RemotingSchedulerExporter, Quartz
quartz.scheduler.exporter.port =
quartz.scheduler.exporter.bindName = QuartzScheduler
quartz.scheduler.exporter.channelType = tcp
quartz.scheduler.exporter.channelName = httpQuartz
main函数中进行调用
static void Main(string[] args)
{
StdSchedulerFactory std = new StdSchedulerFactory();
IScheduler scheduler = std.GetScheduler();
scheduler.Start();
}
运行结果,每隔两秒输出语句
quartz.net使用(通过配置文件进行配置)的更多相关文章
- Quartz 在 Spring 中如何动态配置时间--转
原文地址:http://www.iteye.com/topic/399980 在项目中有一个需求,需要灵活配置调度任务时间,并能自由启动或停止调度. 有关调度的实现我就第一就想到了Quartz这个开源 ...
- Quartz实现JAVA定时任务的动态配置
什么是动态配置定时任务? 首先说下这次主题,动态配置.没接触过定时任务的同学可以先看下此篇:JAVA定时任务实现的几种方式 定时任务实现方式千人千种,不过基础的无外乎 1.JDK 的Timer类 2. ...
- 使用配置文件来配置JDBC连接数据库
1.管理数据库连接的Class 代码如下: package jdbcTest;import java.sql.Connection;import java.sql.DriverManager;impo ...
- Log4net配置文件一般配置
配置文件一般配置 <?xml version="1.0"?> <configuration> <configSections> <sect ...
- hibernate3整合spring2时hibernate即用注解又用配置文件情况时spring配置文件的配置写法
hibernate只用注解时,spring的配置文件的配置如下 <bean id="dataSource" class="org.apache.commons.db ...
- 01_MyBatis EHCache集成及所需jar包,ehcache.xml配置文件参数配置及mapper中的参数配置
1 与mybatis集成时需要的jar ehcache-core-2.6.5.jar mybatis-ehcache-1.0.2.jar Mybatis.日志.EHCache所需要的jar包如下 ...
- shell 环境变量的相关配置文件和配置方法
shell 环境变量的相关配置文件和配置方法: bash 的配置文件: 全局配置: /etc/profile, /etc/profile.d/*.sh, /etc/bashrc 个人配置 ~/.bas ...
- Mybatis-基于配置文件的配置(——纪念这个即将被抛弃的孩子)
虽然内心相信Mybatis基于配置文件的配置早已经在实战之中被注解所遗忘,但是我相信还是会有一小部分人还是需要这种技术去维护原有使用这种方式去搭建的项目. 废话不多说首先使用框架包是不能少的了.导入M ...
- SpringBoot学习(三)-->Spring的Java配置方式之读取外部的资源配置文件并配置数据库连接池
三.读取外部的资源配置文件并配置数据库连接池 1.读取外部的资源配置文件 通过@PropertySource可以指定读取的配置文件,通过@Value注解获取值,具体用法: @Configuration ...
随机推荐
- innodb关键特性之double write
# 脏页刷盘的风险 两次写的原理机制 1.解决问题 2.使用场景 3.doublewrite的工作流程 4.崩溃恢复 # doublewrite的副作用 1.监控doublewrite负载 2.关闭d ...
- 【HTML】谈谈html的meta标签
一.定义&用法 <meta> 元素可提供有关页面的元信息(meta-information),比如针对搜索引擎和更新频度的描述和关键词. <meta> 标签位于文档的头 ...
- 【JAVASCRIPT】event对象
一.preventDefault 与 stopPropagation event.preventDefault() 和 event.stopPropagation() 不是JQuery的方法,是JS ...
- 使用pdfbox分页保存pdf为图片
一.背景 pdfbox作为Apache开源的PDF操作工具,允许创建新的PDF文档,操作现有文档,以及从文档中提取内容的能力.Apache PDFBox还包括一些命令行实用工具.本文楼主主要介绍其中的 ...
- 【.net 深呼吸】自定义应用程序配置节
实际上,应用程序配置文件 App.config,是由各个节(Configuration Section)组成的,通常,配置节是按功能划分的,比如我们很熟悉的 appSettings.connectio ...
- 七、vue中v-for有时候对页面不会重新渲染,数组变化后如何到渲染页面
v-for不能进行双向数据绑定,页面渲染完成后,再次更改v-for遍历的数据,js里面打印的数据看到数据值已经更改,但是页面的数据就是没有渲染,这是为什么呢? vue中v-for和angularj ...
- 2017-6-4 CTF解题报告
1.签到题 附件 扫描二维码得到 ZCTF{WELCOME_TO_20-209} 2.阿斯克的秘密 从前有个叫做阿斯克的人,他写了一句话,聪明的你能明白他写的是什么吗? 附件 int a; while ...
- JBOSS安装配置详细教程
首先在http://jbossas.jboss.org/downloads/下载相关程序我下载的是 JBoss AS 6.1.0.Final 1.配置jboss环境 1.1用户变量path后面添加 ; ...
- 字符串常用-----atof()函数,atoi()函数
头文件:#include <stdlib.h>函数 atof() 用于将字符串转换为双精度浮点数(double),其原型为:double atof (const char* str);at ...
- vue指令v-html示例解析
更新元素的innerHTML,不会作为vue模板编译,可用组件来代替. 在网站上动态渲染任意 HTML 是非常危险的,因为容易导致 xss攻击.只在可信内容上使用 v-html,永不用在用户提交的内容 ...