做h5小程序的网站盐城做网站哪家公司好
做h5小程序的网站,盐城做网站哪家公司好,业务推广方案怎么写,专注做蔬菜的网站作业调度对于应用程序来说是如此重要。 尤其是在大型项目中#xff0c;处理大量工作可能是一个问题。 Spring和Quartz为解决该问题带来了巨大的好处。 本文介绍了如何通过使用Spring和Quartz轻松地计划多个作业。 二手技术#xff1a; JDK 1.6.0_21 春天3.1.1 石英1.8.5 M… 作业调度对于应用程序来说是如此重要。 尤其是在大型项目中处理大量工作可能是一个问题。 Spring和Quartz为解决该问题带来了巨大的好处。 本文介绍了如何通过使用Spring和Quartz轻松地计划多个作业。 二手技术 JDK 1.6.0_21 春天3.1.1 石英1.8.5 Maven的3.0.2 步骤1建立已完成的专案 创建一个Maven项目如下所示。 可以使用Maven或IDE插件创建 步骤2图书馆 Spring依赖项已添加到Maven的pom.xml中。 !-- Spring 3 dependencies --
dependencygroupIdorg.springframework/groupIdartifactIdspring-core/artifactIdversion${spring.version}/version
/dependency
dependencygroupIdorg.springframework/groupIdartifactIdspring-context/artifactIdversion${spring.version}/version
/dependency
dependencygroupIdorg.springframework/groupIdartifactIdspring-context-support/artifactIdversion${spring.version}/version
/dependency
dependencygroupIdorg.springframework/groupIdartifactIdspring-tx/artifactIdversion${spring.version}/version
/dependency 第3步创建任务类别 将创建一个FirstTask类。 package com.otv.task;import org.apache.log4j.Logger;/*** First Task** author onlinetechvision.com* since 24 Feb 2012* version 1.0.0**/
public class FirstTask {private static Logger log Logger.getLogger(FirstTask.class);/*** Execute this task**/public void execute() {log.debug(FirstTask runs successfully...);}
} 将创建SecondTask类。 package com.otv.task;import org.apache.log4j.Logger;/*** Second Task** author onlinetechvision.com* since 24 Feb 2012* version 1.0.0**/
public class SecondTask {private static Logger log Logger.getLogger(SecondTask.class);/*** Execute this task**/public void execute() {log.debug(SecondTask runs successfully...);}
} 第4步创建ISchedulerService接口 ISchedulerService接口已创建。 package com.otv.service;/*** Scheduler Service Interface** author onlinetechvision.com* since 24 Feb 2012* version 1.0.0**/
public interface ISchedulerService {/*** Execute First Task** param* throws* return*/public void executeFirstTask();/*** Execute Second Task** param* throws* return*/public void executeSecondTask();
} 步骤5创建SchedulerService类别 SchedulerService类是通过实现ISchedulerService接口创建的。 该服务计划任务。 package com.otv.service;import com.otv.task.FirstTask;
import com.otv.task.SecondTask;/*** Scheduler Service Implementation** author onlinetechvision.com* since 24 Feb 2012* version 1.0.0**/
public class SchedulerService implements ISchedulerService {private FirstTask firstTask;private SecondTask secondTask;/*** Execute First Task**/public void executeFirstTask() {getFirstTask().execute();}/*** Execute Second Task**/public void executeSecondTask() {getSecondTask().execute();}/*** Get First Task** return FirstTask*/public FirstTask getFirstTask() {return firstTask;}/*** Set First Task** param firstTask First Task*/public void setFirstTask(FirstTask firstTask) {this.firstTask firstTask;}/*** Get Second Task** return SecondTask*/public SecondTask getSecondTask() {return secondTask;}/*** Set Second Task** param secondTask Second Task*/public void setSecondTask(SecondTask secondTask) {this.secondTask secondTask;}
} 步骤6建立应用程式类别 应用程序类已创建。 此类运行应用程序。 package com.otv.starter;import org.springframework.context.support.ClassPathXmlApplicationContext;/*** Application Starter Class** author onlinetechvision.com* since 24 Feb 2012* version 1.0.0**/
public class Application {/*** Main method of the Application**/public static void main(String[] args) {new ClassPathXmlApplicationContext(applicationContext.xml);}
} 步骤7定义作业详细信息配置 在Spring中可以通过两种方式定义作业详细信息 。 通过使用MethodInvokingJobDetailFactoryBean或扩展QuartzJobBean 。 在此示例中已使用MethodInvokingJobDetailFactoryBean方法。 将targetObject和targetMethod属性提供给MethodInvokingJobDetailFactoryBean 。 !-- Job Details--
bean idFirstTaskJobDetail classorg.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBeanproperty nametargetObject refSchedulerService /property nametargetMethod valueexecuteFirstTask /
/beanbean idSecondTaskJobDetail classorg.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBeanproperty nametargetObject refSchedulerService /property nametargetMethod valueexecuteSecondTask /
/bean 步骤8定义触发配置 在Spring中也可以通过两种方式定义触发器 。 通过定义SimpleTriggerBean或CronTriggerBean 。 使用SimpleTriggerBean时 将定义jobDetail repeatInterval和startDelay属性。 使用CronTriggerBean时 将定义jobDetail和cronExpression属性。 在此示例中第一个任务的重复间隔已设置为5秒 第二个任务的重复间隔已设置为12秒 。 !-- Simple Trigger --
bean idFirstSimpleTrigger classorg.springframework.scheduling.quartz.SimpleTriggerBeanproperty namejobDetail refFirstTaskJobDetail /property namerepeatInterval value5000 /property namestartDelay value1000 /
/bean!-- bean idSecondSimpleTrigger classorg.springframework.scheduling.quartz.SimpleTriggerBeanproperty namejobDetail refSecondTaskJobDetail /property namerepeatInterval value12000 /property namestartDelay value1000 //bean -- !-- Cron Trigger --
bean idSecondSimpleTrigger classorg.springframework.scheduling.quartz.CronTriggerBeanproperty namejobDetail refSecondTaskJobDetail /property namecronExpression value0/12 * * * * ? /
/bean 步骤9定义SchedulerFactoryBean配置 最后通过创建SchedulerFactoryBean配置作业详细信息和触发器 。 bean classorg.springframework.scheduling.quartz.SchedulerFactoryBeanproperty namejobDetailslistref beanFirstTaskJobDetail /ref beanSecondTaskJobDetail //list/propertyproperty nametriggerslistref beanFirstSimpleTrigger /ref beanSecondSimpleTrigger //list/property
/bean 步骤10创建applicationContext.xml 所有applicationContext.xml内容如下所示。 beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-3.0.xsd!-- Beans Declaration --bean idFirstTask classcom.otv.task.FirstTask/beanbean idSecondTask classcom.otv.task.SecondTask/beanbean idSchedulerService classcom.otv.service.SchedulerServiceproperty namefirstTask refFirstTask /property namesecondTask refSecondTask //bean!-- Job Details--bean idFirstTaskJobDetail classorg.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBeanproperty nametargetObject refSchedulerService /property nametargetMethod valueexecuteFirstTask //beanbean idSecondTaskJobDetail classorg.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBeanproperty nametargetObject refSchedulerService /property nametargetMethod valueexecuteSecondTask //bean!-- Simple Trigger --bean idFirstSimpleTrigger classorg.springframework.scheduling.quartz.SimpleTriggerBeanproperty namejobDetail refFirstTaskJobDetail /property namerepeatInterval value5000 /property namestartDelay value1000 //bean
!--bean idSecondSimpleTrigger classorg.springframework.scheduling.quartz.SimpleTriggerBeanproperty namejobDetail refSecondTaskJobDetail /property namerepeatInterval value12000 /property namestartDelay value1000 //bean
--!-- Cron Trigger --bean idSecondSimpleTrigger classorg.springframework.scheduling.quartz.CronTriggerBeanproperty namejobDetail refSecondTaskJobDetail /property namecronExpression value0/12 * * * * ? //beanbean classorg.springframework.scheduling.quartz.SchedulerFactoryBeanproperty namejobDetailslistref beanFirstTaskJobDetail /ref beanSecondTaskJobDetail //list/propertyproperty nametriggerslistref beanFirstSimpleTrigger /ref beanSecondSimpleTrigger //list/property/bean/beans 步骤11运行项目 启动应用程序类后将在下面显示输出日志 25.02.2012 00:17:18 DEBUG (FirstTask.java:23) - FirstTask runs successfully...
25.02.2012 00:17:23 DEBUG (FirstTask.java:23) - FirstTask runs successfully...
25.02.2012 00:17:24 DEBUG (SecondTask.java:22) - SecondTask runs successfully...
25.02.2012 00:17:28 DEBUG (FirstTask.java:23) - FirstTask runs successfully...
25.02.2012 00:17:33 DEBUG (FirstTask.java:23) - FirstTask runs successfully...
25.02.2012 00:17:36 DEBUG (SecondTask.java:22) - SecondTask runs successfully...
25.02.2012 00:17:38 DEBUG (FirstTask.java:23) - FirstTask runs successfully...
25.02.2012 00:17:43 DEBUG (FirstTask.java:23) - FirstTask runs successfully...
25.02.2012 00:17:48 DEBUG (SecondTask.java:22) - SecondTask runs successfully...
25.02.2012 00:17:48 DEBUG (FirstTask.java:23) - FirstTask runs successfully...
25.02.2012 00:17:53 DEBUG (FirstTask.java:23) - FirstTask runs successfully...
25.02.2012 00:17:58 DEBUG (FirstTask.java:23) - FirstTask runs successfully...
25.02.2012 00:18:00 DEBUG (SecondTask.java:22) - SecondTask runs successfully... 步骤12下载 OTV_SpringQuartz_MultiJobScheduling 参考 JCG合作伙伴提供的 使用Spring和Quartz的多作业计划服务 在线技术愿景博客上的Eren Avsarogullari。 翻译自: https://www.javacodegeeks.com/2012/02/spring-and-quartz-multi-job-scheduling.html
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/90194.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!