当前位置: 首页 > news >正文

腾讯云做网站怎么样百度联盟怎么赚钱

腾讯云做网站怎么样,百度联盟怎么赚钱,网站建设保报价文档,湖南专业建站按效果付贿使用Quartz实现定时功能 Quartz是一个完全由java编写的开源作业调度框架,具体的介绍可到http://www.opensymphony.com/quartz/官方网站查看。 Quartz的几个核心的接口和类为#xff1a; Job接口#xff1a;自己写的“定时程序”实现此接口的void execute(… 使用Quartz实现定时功能        Quartz是一个完全由java编写的开源作业调度框架,具体的介绍可到http://www.opensymphony.com/quartz/官方网站查看。       Quartz的几个核心的接口和类为       Job接口自己写的“定时程序”实现此接口的void execute(JobExecutionContext arg0)方法,Job还有一类为有状态的StatefulJob接口如果我们需要在上一个作业执行完后根据其执行结果再进行下次作业的执行则需要实现此接口。   Trigger抽象类调度类(Scheduler)在时间到时调用此类再由trigger类调用指定的定时程序。   Quertz中提供了两类触发器为SimpleTrigger,CronTrigger。前者用于实现比较简单的定时功能例如几点开始几点结束隔多长时间执行共执行多少次等后者提供了使用表达式来描述定时功能因此适用于比较复杂的定时描述例如每个月的最后一个周五每周的周四等。   JobDetail类具体某个定时程序的详细描述包括Name,Group,JobDataMap等。   JobExecutionContext类定时程序执行的run-time的上下文环境用于得到当前执行的Job的名字配置的参数等。   JobDataMap类用于描述一个作业的参数参数可以为任何基本类型例如String,float等也可为某个对象的引用.   JobListener,TriggerListener接口用于监听触发器状态和作业扫行状态在特写状态执行相应操作。   JobStore类在哪里执行定进程序可选的有在内存中在数据库中。       简单的定时程序       public class TestJob implements Job   {      public TestJob(){}      public void execute(JobExecutionContext arg0) throws JobExecutionException      {         String name  context.getJobDetail().getJobDataMap().getString(name);         System.out.println(job executing...name);   }   }       public class QuartzTest   {    public static void main(String[] args)    {       QuartzTest test  new QuartzTest();       try     {         test.startSchedule();      }     catch (Exception e)     {        e.printStackTrace();     }    }    public void startSchedule() throws Exception    {        Scheduler scheduler  StdSchedulerFactory.getDefaultScheduler();        JobDetail jobDetail          new JobDetail(testJob, Scheduler.DEFAULT_GROUP, TestJob.class);         //结束时间             long end  System.currentTimeMillis()  9000L;       //执行10次每3秒执行一次到9秒后结束        SimpleTrigger trigger  new SimpleTrigger(test,null,new Date(),new Date(end),10,3000L);         scheduler.scheduleJob(jobDetail, trigger);        scheduler.start();    }   }       执行上面这个类基本实现了一个简单的定时程序。但问题是现在这个类只能应用在application中在web环境里执行还需要添加一些配置,例如添加servlet,添加配置文件quartz.properties或者quartz-job.xml(在文件里以配置方式定义triiger,定时描述等。       web应用中使用       在web.xml中添加QuartzInitializerServletQuartz为能够在web应用中使用提供了一个QuartzInitializerServlet和一个QuartzInitializerListener用于在加载web应用时对quartz进行初始化。我在使用servlet时加载成功在使用listener时不成功不知道怎么回事           servlet配置    servlet       servlet-nameQuartzInitializer/servlet-name       servlet-classorg.quartz.ee.servlet.QuartzInitializerServlet/servlet-class       init-param        param-nameshutdown-on-unload/param-name        param-valuetrue/param-value      /init-param      init-param       param-nameconfig-file/param-name       param-valuequartz.properties/param-value       /init-param      load-on-startup2/load-on-startup    /servlet   listener配置可以看源码主要的上面的参数配置为context-param,再加一个listener.       上面提到了quartz.properties,这是自行指定的Quartz提供了一个默认的配置文件可以满足基本的j2se应用如果在web应用中我们想把job,trigger配置都写到文件中就需要自己来写并指定在初始化时加载我们自己的quratz.properties位置放在classes下。       #   # Configure Main Scheduler Properties     #   org.quartz.scheduler.instanceName  org.quartz.scheduler.instanceId  AUTO   #   # Configure ThreadPool     #   org.quartz.threadPool.class  org.quartz.simpl.SimpleThreadPool   org.quartz.threadPool.threadCount  3  org.quartz.threadPool.threadPriority  5  #   # Configure Plugins    #   org.quartz.plugin.triggHistory.class  org.quartz.plugins.history.LoggingJobHistoryPlugin   org.quartz.plugin.jobInitializer.class  org.quartz.plugins.xml.JobInitializationPlugin   org.quartz.plugin.jobInitializer.fileName  /scheduler/quartz_jobs.xml   org.quartz.plugin.jobInitializer.overWriteExistingJobs  true  org.quartz.plugin.jobInitializer.failOnFileNotFound  true  org.quartz.plugin.jobInitializer.scanInterval  10      quartz要使用插件来加载自己的xml配置文件上边我们指定了在初始化时加载classes/scheduler/quartz_jobs.xml默认的是加载classes/quartz_jobs.xml文件。       quartz_jobs.xml文件   ?xml version1.0 encodingutf-8?   quartz    job      job-detail       nametest/name       groupDEFAULT/group       descriptiontestJobhere/description       job-classTestJob/job-class       job-data-map allows-transient-datatrue        entry         keyname/key         valuetest/value        /entry      /job-data-map      /job-detail      trigger                cron                     nametestCron/name                     groupDEFAULT/group                     job-nametest/job-name                    job-groupDEFALUT/job-group                    cron-expression0/3 * * * * ?/cron-expression                /cron          /trigger     /job   /quartz         上面配置了一个作业并声明一个参数Name配置了一个CronTrigger,每三秒执行一次。如果要配置SimpleTrigger ,可以使用simple标签。       上面与Job对应的类为TestJob源码为   public class TestJob implements Job   {    public TestJob(){}    public void execute(JobExecutionContext context) throws JobExecutionException    {        String name  context.getJobDetail().getJobDataMap().getString(name);        System.out.println(job executing...name);    }   }       在quartz_job.xml文件中还可以指定TriggerListener,JobListener等可以使用trigger-listener,job-listener标签来指定。       由于quartz目前文档不是很多大部分都是看源码。总体看Quartz提供的CronTrigger使用表达式方式描述定时规律这个功能还是很强大的在其源码中有很多例子。       spring已经把quartz集成在一起并进行了封装使用起来还是很方便的。      转载于:https://www.cnblogs.com/liaomin416100569/archive/2010/04/13/9331850.html
http://www.pierceye.com/news/134749/

相关文章:

  • 如何高效的完成网站建设步骤美食分享网站建设策划书
  • 建立网站的软件网站建设数据库的购买
  • 建网站需要多大的宽带wordpress 分享后可见
  • 自建营销型企业网站阿里网 网站备案流程
  • 与网站建设相关的论文题目wordpress图片上文字
  • 怎样搭建网站视频教程58企业网站如何做
  • 比较有名的网站建设公司wordpress 字数
  • 网站内容资源建设渭南市建设项目
  • 网站设置的参数wordpress弹窗登录注册
  • 网课系统软件网站建设费用网站做vr的收费
  • 海宁做网站的公司seo怎么学在哪里学
  • 佛山做网站多少钱服务器学生
  • 自己建网站卖东西怎么进入wordpress修改界面
  • 网站建设与制作报价wordpress菜单怎么设置目录册
  • 学生免费建设网站建设网站是否等于开展网络营销
  • 旅游网站结构图网站编程图
  • 达内网站开发培训价格安装百度到手机桌面
  • 网站服务器慢建站设计网站
  • wordpress 多站点 插件怎么做网站主页设计
  • 网站建设初稿wordpress删除自豪的
  • 某网站突然不能浏览了网站不备案能用吗
  • 厦门做个网站多少钱360建筑网官网下载
  • 镇江外贸网站建设电子工程王粟
  • 申请网站建设经费wordpress做商城网站
  • google下载app西安分类信息seo公司
  • 淘宝是什么语言做的网站手机网站开发+手机模拟器
  • 视频网站开发框架小说类网站功能建设
  • 网站规划与设计案例网站建设方案设计
  • 漯河网站建设费用成都网站建设重庆最加科技
  • 莱芜 网站wordpress 关闭警告