- 浏览: 183882 次
最新评论
-
adamed:
zhangwenzhuo 写道为什么this.get()会返回 ...
jQuery源码历代记5 -
zhangwenzhuo:
为什么this.get()会返回本身的呢?
jQuery源码历代记5 -
narutolby:
支持下~,哈哈~
jQuery历代记1 -
cpszy:
mark下
jQuery历代记1 -
gleams:
支持你
jQuery历代记1
You can have as many properties as you need to configure your plug-in.
你可以用多个属性配置插件。
<o:p> </o:p>
The Quartz framework converts the property values to the type specified in the plug-in, assuming that it's a primitive type. For example, you can specify properties of type int and expect Quartz to convert the String from the quartz.properties file to an int. The framework, however, will not convert 1 to an integer class.
<o:p> </o:p>
Quartz会将属性值转换为插件中定义的类型,假定该类型是基本数据类型。例如你可以指定参数为int,Quartz会将quartz.properties中的字符串转换为int值。然而框架不会将1转换为Integer类。
<o:p> </o:p>
Creating the Job File for the JobLoaderPlugin<o:p></o:p>
创建JobLoaderPlugin使用的Job文件<o:p></o:p>
<o:p> </o:p>
The JobLoaderPlugin looks for all XML files in the specified directory and assumes that each file is a valid Quartz jobs file. By "valid," we mean that the XML file adheres to the latest job-scheduling XSD file, which at the time of this writing is job_scheduling_data_1_5.xsd.
<o:p> </o:p>
JobLoaderPlugin在指定的文件夹中查找所有的XML文件并假定这些文件都是合法的Quartz job定义文件。所谓“合法”值XML遵循最新的作业调度XSD文件。在本书编写时最新的版本是job_scheduling_data_1_5.xsd。
<o:p> </o:p>
To make the JobLoaderPlugin more useful, we put each job, along with its job detail and trigger information, in a single XML file. This enables us to add and remove complete jobs just by putting the file into the directory or taking it out. This is very helpful in a development environment when you want to test only certain jobs. A single job XML file is shown in Listing 8.4.
<o:p> </o:p>
为了让JobLoaderPlugin更加有用,我们将每个job与它的job detail、触发器信息单独作为一个XML文件。这使得我们添加移除整个job时候只需要将文件添加或移出文件夹。在开发环境中如果我们需要测试某个单独的job的时候这是非常有帮助的。一个单独的job XML文件如列表8.4。
<o:p> </o:p>
Listing 8.4. A Job XML File Read by the JobLoaderPlugin<o:p></o:p>
列表8.4 供JobLoaderPlugin读取的一个Job XML文件
- <?xml version='1.0' encoding='utf-8'?>
- <quartz xmlns="http://www.opensymphony.com/quartz/JobSchedulingData"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://www.opensymphony.com/quartz/JobSchedulingData
- http://www.opensymphony.com/quartz/xml/job_scheduling_data_1_5.xsd"
- version="1.5">
- <job>
- <job-detail>
- <name>PrintInfoJob1</name>
- <group>DEFAULT</group>
- <job-class>
- org.cavaness.quartzbook.chapter3.ScanDirectoryJob
- </job-class>
- <volatility>false</volatility>
- <durability>false</durability>
- <recover>false</recover>
- <job-data-map allows-transient-data="true">
- <entry>
- <key>SCAN_DIR</key>
- <value>c:\quartz-book\input1</value>
- </entry>
- </job-data-map>
- </job-detail>
- <trigger>
- <simple>
- <name>trigger1</name>
- <group>DEFAULT</group>
- <job-name>PrintInfoJob1</job-name>
- <job-group>DEFAULT</job-group>
- <start-time>2005-07-30T16:04:00</start-time>
- <!-- repeat indefinitely every 10 seconds -->
- <repeat-count>-1</repeat-count>
- <repeat-interval>10000</repeat-interval>
- </simple>
- </trigger>
- </job>
- </quartz>
The job file is Listing 8.4 contains all the information necessary for the JobLoaderPlugin to schedule the job. This file also contains an entry for the JobDataMap, which is available to the job class at runtime. The example in Listing 8.4 uses a configured SimpleTrigger to schedule an infinitely repeating trigger that fires every 10 seconds. To further test the plug-in, we created a second job file, which differs from the first in some small way. Listing 8.5 shows the second job file.
<o:p> </o:p>
列表8.4显示的job文件包含所有的供JobLoaderPlugin调度job所需要的信息。这个文件还包含一个可以在类中实时供JobDataMap调用的实体。列表8.4战士的例子使用SimpleTrigger。它频率是没10秒一次,无限循环。为了更进一步测试插件,我们创建第2个job文件,与第一个相比有一些小不同。列表8.5显示了第2个job文件。
<o:p> </o:p>
Listing 8.5. A Second Job XML File Loaded by the JobLoaderPlugin<o:p></o:p>
列表8.5 JobLoaderPlugin加载的第2个job XML文件<o:p></o:p>
- <?xml version='1.0' encoding='utf-8'?>
- <quartz xmlns="http://www.opensymphony.com/quartz/JobSchedulingData"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://www.opensymphony.com/quartz/JobSchedulingData
- http://www.opensymphony.com/quartz/xml/job_scheduling_data_1_5.xsd"
- version="1.5">
- <job>
- <job-detail>
- <name>PrintInfoJob2</name>
- <group>DEFAULT</group>
- <job-class>
- org.cavaness.quartzbook.chapter3.ScanDirectoryJob</job-class>
- <volatility>false</volatility>
- <durability>false</durability>
- <recover>false</recover>
- <job-data-map allows-transient-data="true">
- <entry>
- <key>SCAN_DIR</key>
- <value>c:\quartz-book\input2</value>
- </entry>
- </job-data-map>
- </job-detail>
- <trigger>
- <simple>
- <name>trigger2</name>
- <group>DEFAULT</group>
- <job-name>PrintInfoJob2</job-name>
- <job-group>DEFAULT</job-group>
- <start-time>2005-07-30T16:04:00</start-time>
- <!-- repeat indefinitely every 10 seconds -->
- <repeat-count>-1</repeat-count>
- <repeat-interval>60000</repeat-interval>
- </simple>
- </trigger>
- </job>
- </quartz>
The second job file in Listing 8.5 differs only slightly from the one in Listing 8.4. We've changed the directory for the job, which is scanned and changed the trigger schedule. The point here is that you can have multiple jobs in the jobs directory, and the JobLoaderPlugin will load them all and schedule them individually with the Scheduler.
<o:p> </o:p>
列表8.5显示的第2个job文件与8.4显示的第一个相比只有一点不同。我们改变了搜索改变触发调度作业的文件夹。有一点注意的是你可以放多个job文件到文件夹中,JobLoaderPlugin将分别加载并用Scheduler调度他们。(老外就是这样说了好几遍还罗嗦^_^)
<o:p> </o:p>
Using Multiple Plug-Ins<o:p></o:p>
使用多个插件<o:p></o:p>
You can register as many plug-ins in the quartz.properties file as you like. However, the order of loading and initialization can't be guaranteed because Quartz loads all the properties into a map and then loops through the plug-ins in the order that they are retrieved from the map.
<o:p> </o:p>
你可以在quartz.properties文件中注册任意多个插件。然而加载初始化的顺序不能保证,因为Quartz加载所有的属性到Map中然后按map的中的顺序查找插件。
<o:p> </o:p>
To get around this limitation, you can create a Quartz plug-in that acts as a parent plug-in and loads multiple other plug-ins in a given order. Listing 8.6 shows what the ParentPlugin looks like.
<o:p> </o:p>
为绕开这一限制,你可以建立一个Quartz插件做为其他插件的父插件。该插件按指定顺序加载其他插件。列表8.6展示了父插件的样子。
<o:p> </o:p>
Listing 8.6. The ParentPlugin Can Load Child Plug-Ins in a Specified Order<o:p></o:p>
列表8.6 父插件可以按指定顺序加载子插件<o:p></o:p>
- package org.cavaness.quartzbook.chapter8;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.StringTokenizer;
- import org.apache.commons.logging.Log;
- import org.apache.commons.logging.LogFactory;
- import org.quartz.Scheduler;
- import org.quartz.SchedulerConfigException;
- import org.quartz.SchedulerException;
- import org.quartz.spi.SchedulerPlugin;
- public class ParentPlugin implements SchedulerPlugin {
- private static Log logger = LogFactory.getLog(ParentPlugin.class);
- // A list of child plug-ins
- //子插件列表
- private List childPlugins = new ArrayList();
- private String childPluginNames;
- private String pluginName;
- private Scheduler scheduler;
- /**
- * Default no-arg Constructor
- *
- */
- public ParentPlugin() {
- }
- /**
- * Pass the initialize call on to the child plug-ins.
- *
- * @throws SchedulerConfigException
- * if there is an error initializing.
- */
- public void initialize(String name, final Scheduler scheduler)
- throws SchedulerException {
- this.pluginName = name;
- this.scheduler = scheduler;
- logger.info("Searching for child plugins to load");
- // The child plug-ins are comma-separated
- StringTokenizer tokenizer =
- new StringTokenizer(childPluginNames, ",");
- while (tokenizer.hasMoreElements()) {
- String pluginClassname = tokenizer.nextToken();
- try {
- Class pluginClass =
- Class.forName(pluginClassname);
- Object obj = pluginClass.newInstance();
- // Make sure the specified class is a plug-in
- if (obj instanceof SchedulerPlugin) {
- // Initialize the Plugin
- SchedulerPlugin childPlugin =
- (SchedulerPlugin) obj;
- logger.info("Init child Plugin " +
- pluginClassname);
- childPlugin.initialize(pluginClassname,
- scheduler);
- // Store the child plug-in in the list
- childPlugins.add(childPlugin);
- } else {
- // Skip loading class
- logger.error("Class is not a plugin " +
- pluginClass);
- }
- } catch (Exception ex) {
- // On error, log and go to next child plug-in
- logger.error("Error loading plugin " +
- pluginClassname, ex);
- }
- }
- }
- public void start() {
- // Start each child plug-in
- int size = childPlugins.size();
- for (int i = 0; i < size; i++) {
- SchedulerPlugin childPlugin =
- ((SchedulerPlugin) childPlugins.get(i));
- logger.info("Starting Child Plugin " + childPlugin);
- childPlugin.start();
- }
- }
- public void shutdown() {
- // Stop each child plug-in
- int size = childPlugins.size();
- for (int i = 0; i < size; i++) {
- SchedulerPlugin childPlugin =
- ((SchedulerPlugin) childPlugins.get(i));
- logger.info("Stopping Plugin " + childPlugin);
- childPlugin.shutdown();
- }
- }
- public String getPluginName() {
- return pluginName;
- }
- public void setPluginName(String pluginName) {
- this.pluginName = pluginName;
- }
- public String getChildPluginNames() {
- return childPluginNames;
- }
- public void setChildPluginNames(String childPluginNames) {
- this.childPluginNames = childPluginNames;
- }
- }
- &nbs
发表评论
-
JQuery CookBook翻译连载7(第四章)
2010-06-29 18:45 1021今天超级爆发,整理出来第四章中文版翻译。 -
JQuery CookBook翻译连载6(第三章)
2010-06-29 11:31 1010放出jQuery CookBook翻译的第三章。 最近找工作 ... -
JQuery CookBook 翻译连载6(第2章发布)
2010-06-01 14:15 950jQuery Cookbook第1、2章合订版。 不知 ... -
JQuery CookBook 翻译连载5(第1章发布)
2010-05-16 16:55 928jQuery cookBook 第一章翻译打包发布。 ... -
JQuery CookBook翻译连载1
2010-05-14 11:46 8191.1 在HTML页面中添加j ... -
JQuery CookBook翻译连载2
2010-05-14 11:45 8071.2 在页面DOM加载结束后、整个页面加载结束前执行jQue ... -
JQuery CookBook翻译连载3
2010-05-14 11:34 6991.3 使用选择器及jQuery函 ... -
JQuery CookBook翻译连载4
2010-05-14 11:09 6821.4 在特定的上下文 中查找元素 问 ... -
Quartz Job Scheduling Framework第11章翻译初稿
2007-10-27 15:21 1061内容在附件中 -
Quartz Job Scheduling Framework第7章翻译初稿
2007-10-27 15:18 1135内容在附件中 -
Quartz Job Scheduling Framework第5章翻译初稿
2007-10-27 15:18 965在附件中 -
Quartz Job Scheduling Framework第2章翻译初稿
2007-10-27 15:17 1149在附件中 -
Quartz Job Scheduling Framework第8章翻译初稿
2007-09-27 19:42 2627Chapter 8. Using Quartz Plug- ... -
Quartz Job Scheduling Framework翻译初稿奉上
2007-09-26 21:55 1592由于时间与水平限制。这本经典书籍翻译的可能并不尽如人意,在此先 ... -
Quartz Job Scheduling Framework第10章翻译初稿 续
2007-09-26 21:53 1996In the example in Listing 10. ... -
Quartz Job Scheduling Framework第10章翻译初稿
2007-09-26 21:40 2596Chapter 10. Using Quartz with J ...
相关推荐
Quartz Job Scheduling Framework是一个强大的、开放源代码的作业调度框架,它使应用程序能够在指定的时间执行任务,无需人工干预。这个框架广泛应用于Java应用程序中,用于实现定时任务和工作流管理。在第11章中,...
在阅读《Quartz Job Scheduling Framework》第5章时,你会了解到如何创建和配置Cron Triggers,如何结合SimpleTrigger和CalendarIntervalTrigger实现不同类型的定时任务,以及如何优化Quartz的配置以适应大规模的...
Quartz Job Scheduling Framework第2章翻译初稿 博文链接:https://adamed.iteye.com/blog/135880
Quartz Job Scheduling Framework是一个强大的、开源的作业调度框架,用于在Java应用程序中安排任务执行。这个框架允许开发者创建和管理作业,以及定义作业的触发时间。第7章的主题聚焦于实现Quartz监听器,这是一个...
亲测正常使用版,代码精简,压缩包也小,程序运行速度更快,效率更高,服务器抗攻击能力更强 功能方面: 仿天涯论坛模板的免费论坛系统在功能方面也很强大!程序本身包含一个PC版网站和一个手机版网站 支持打包APP安装包,开放式PHP原生态模板在线编译,音频视频发布直接生成HTML5代码,能够适应各种界面浏览器
三自由度机械臂神经网络自适应控制,径向基函数逼近动力学与未知反馈状态的高增益观测器应用,机械臂自适应神经网络控制,机械臂为三自由度,神经网络逼近系统的动力学和滞回非线性。 利用径向基函数的神经网络近似机器人的动力学。 对于系统状态未知的输出反馈,采用高增益观测器估计系统状态。 ,核心关键词:机械臂; 自适应神经网络控制; 三自由度; 神经网络逼近; 动力学; 滞回非线性; 径向基函数; 输出反馈; 高增益观测器。,基于神经网络的自适应控制:三自由度机械臂的滞回非线性动力学逼近研究
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
西门子中央空调智能控制程序:标准化冷水机组运行,模糊控制开启与切换策略,自动均衡磨损与故障管理,西门子中央空调程序。 冷水机组程序,标准化很好的程序,内部用的函数封装成标准块。 采用模糊控制,根据需求及制冷量来确定开启冷水机组及冷冻泵,冷却泵的台数。 夏季开启冷水机组,冬季开启锅炉制热 均衡磨损(为了专利保护只可调用,):水泵均衡磨损,冷机均衡磨损,故障,时间到了自动切,根据需求自动启动停止水泵。 需要的老板滴滴中央空调程序。 冷水机组程序,标准化很好的程序, 注:内部用的函数封装成标准块。 可以直接调用,部分源文件有保护, ,西门子中央空调程序; 冷水机组程序; 模糊控制; 开启/关闭机制; 标准化; 函数封装; 均衡磨损; 自动切换; 保护源文件; 老板滴滴中央空调程序,西门子中央空调冷水机组标准化程序:智能控制与均衡磨损管理
三相逆变器并联系统功率均分研究:VSG控制策略下的LCL滤波与预同步技术,多台三相逆变器并联(本模型为三台并联,市面上多为两台并联)matlab simulink仿真。 功能:实现并联系统中各逆变器输出功率均分。 (有能力的话还可以研究下垂特性、功率指令以及静态功工作点三者之间的联系) 控制策略:VSG控制策略(同步机控制) 逆变器主电路:三相逆变器,LCL滤波电路,VSG控制模块。 VSG控制模块:定、转子方程,dq变,电压电流双闭环,预同步,pwm发生器。 ,基于VSG控制的LCL滤波三相逆变器并联系统仿真研究:多台逆变器功率均分与下垂特性分析
2025年高级经济师笔试真题及答案.docx
三相维也纳整流器的双闭环控制仿真模型:电压PI与电流Bang Bang滞后控制器实现单位功率因数与低谐波运行,三相维也纳整流器的仿真模型。 控制算法采用电压和电流双闭环控制。 外部电压环路为PI控制器,内部电流环路为bang bang滞后控制器。 网侧单位功率因数运行,电网电流谐波非常小。 ,三相维也纳整流器; 仿真模型; 电压和电流双闭环控制; PI控制器; bang bang滞后控制器; 网侧单位功率因数运行; 电流谐波。,三相维也纳整流器仿真模型:双闭环控制算法与网侧单位功率因数运行下的电流谐波优化
资源说明: 1:csdn平台资源详情页的文档预览若发现'异常',属平台多文档切片混合解析和叠加展示风格,请放心使用。 2:29页图文详解文档(从零开始项目全套环境工具安装搭建调试运行部署,保姆级图文详解),旨在为更多的人甚至零基础的人也能运行、使用和学习。 3:配套毕业论文,万字长文,word文档,支持二次编辑。 4:配套答辩ppt,pptx格式,支持二次编辑。 5:工具环境、ppt参考模板、相关电子教程、视频教学资源分享。 6:资源项目源码均已通过严格测试验证,保证能够正常运行,本项目仅用作交流学习参考,请切勿用于商业用途。 7:项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通。 内容概要: 本系统基于 B/S 网络结构,在 IDEA 中开发。服务端用 Java 并借 Spring Boot 框架搭建后台。前台采用支持 HTML5 的 VUE 框架。用 MySQL 存储数据,可靠性强。 能学到什么: 使用Spring Boot搭建后台。VUE 框架构建前端交互界面、前后端数据交互、MySQL管理数据、从零开始环境搭建、调试、运行、打包、部署流程。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
1737204114470.jpg
Nuclei使用手册,语法,命令,操作,都在其中
汇川PLC三轴简易示教系统:强大可编程,触摸屏操作,四组工艺路径保存,源码可修改,离线仿真学习体验,三轴示教 可编程 触摸屏程序 功能强大 触摸屏 PLC 程序 汇川plc 三轴简易示教系统,学习性强,程序简单易用。 支持工艺路径保存,可以保存四组工艺路径。 每个工艺路径支持示教100步。 汇川H5U与 mcgs触摸屏简易示教系统,支持离线仿真。 有较好的学习性,可以在源码基础上任意修改,注释明确。 注意:源码程序文件。 ,三轴示教; 可编程; 触摸屏程序; 功能强大; PLC程序; 汇川PLC; 工艺路径保存; 离线仿真; 注释明确; 源码程序文件。,"汇川简易示教系统:多轴编程,触摸操作,强大功能与易用性并存"
资源说明: 1:csdn平台资源详情页的文档预览若发现'异常',属平台多文档切片混合解析和叠加展示风格,请放心使用。 2:29页图文详解文档(从零开始项目全套环境工具安装搭建调试运行部署,保姆级图文详解),旨在为更多的人甚至零基础的人也能运行、使用和学习。 3:配套毕业论文,万字长文,word文档,支持二次编辑。 4:范例参考答辩ppt,pptx格式,支持二次编辑。 5:工具环境、ppt参考模板、相关电子教程、视频教学资源分享。 6:资源项目源码均已通过严格测试验证,保证能够正常运行,本项目仅用作交流学习参考,请切勿用于商业用途。 7:项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通。 内容概要: 本系统基于 B/S 网络结构,在 IDEA 中开发。服务端用 Java 并借 Spring Boot 框架搭建后台。前台采用支持 HTML5 的 VUE 框架。用 MySQL 存储数据,可靠性强。 能学到什么: 使用Spring Boot搭建后台。VUE 框架构建前端交互界面、前后端数据交互、MySQL管理数据、从零开始环境搭建、调试、运行、打包、部署流程。
"风能储电系统模糊逻辑控制仿真模型研究:通过蓄电池变换器驱动,实现电网惯量供应与功率平滑输出的有效整合",风-储系统仿真模型;通过模糊逻辑控制策略驱动蓄电池变器运行,以达到为电网提供惯量的目的。 可以实现功率平滑输出 ,"模糊逻辑驱动的风储系统模型:提升电网惯量与功率平滑输出的仿真研究"
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
永磁同步电机谐波注入补偿与Simulink模型仿真:电流谐波抑制技术研究,永磁同步电机的谐波注入补偿simulink模型仿真 5次7次电流谐波抑制;^_^ ,核心关键词: 永磁同步电机;谐波注入补偿;Simulink模型仿真;5次7次电流谐波抑制;谐波抑制。,"Simulink模型仿真:永磁同步电机谐波注入补偿策略及5/7次电流谐波抑制"