zoukankan      html  css  js  c++  java
  • 知识点链接

    别人写的非常好的,我觉得可以收集在一起方便以后查阅

    (1) log4j使用教程 http://www.codeceo.com/article/log4j-usage.html

    (2) quartz定时任务:quartz jar包在2.0之后相关的API使用会有不同,下面是使用2.0的jar,相关jar包可以在quartz中找到

    /*
     * 1、Job: 表示一个工作,要执行的具体内容。此接口中只有一个方法  void execute(JobExecutionContext context)
     * 2、JobDetail: 表示一个具体的可执行的调度程序,Job是这个可执行程调度程序所要执行的内容,另外JobDetail还包含了这个任务调度的方案和策略。
     * 3、Trigger: 代表一个调度参数的配置,什么时候去调。
     * 4、Scheduler:代表一个调度容器,一个调度容器中可以注册多个JobDetail和Trigger。当Trigger与JobDetail组合,就可以被Scheduler容器调度了。
    */
    public class MyJob implements Job{
        @Override
        public void execute(JobExecutionContext arg0) throws JobExecutionException {
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS"); 
            System.out.println(sdf.format(new Date())); 
        }  
    }
    
    
    public class SchedulerTest { 
        public static void main(String[] args) { 
             //通过schedulerFactory获取一个调度器  
            SchedulerFactory schedulerfactory=new StdSchedulerFactory();  
            Scheduler scheduler=null;  
            try{  
    //       通过schedulerFactory获取一个调度器  
                scheduler=schedulerfactory.getScheduler();                
    //        创建jobDetail实例,绑定Job实现类  
    //        指明job的名称,所在组的名称,以及绑定job类  
                JobDetail job=JobBuilder.newJob(MyJob.class).withIdentity("job1", "jgroup1").build();  
                           
    //        定义调度触发规则  
                  
    //       使用simpleTrigger规则  
    /*         Trigger trigger=TriggerBuilder.newTrigger().withIdentity("simpleTrigger", "triggerGroup").withSchedule(SimpleScheduleBuilder.repeatSecondlyForever(1).withRepeatCount(8)).startNow().build();  
          使用cornTrigger规则  每2分钟执行一次(在该分钟的第15秒) */
                   Trigger trigger=TriggerBuilder.newTrigger().withIdentity("simpleTrigger", "triggerGroup").withSchedule(CronScheduleBuilder.cronSchedule("15 0/2 * * * ?")).startNow().build();   
    //             输出时间为:2016-03-05 10:12:15 027
    //                        2016-03-05 10:14:15 081  ......              
    //        把作业和触发器注册到任务调度中  
                scheduler.scheduleJob(job, trigger);               
    //        启动调度  
                scheduler.start();               
            }catch(Exception e){  
                e.printStackTrace();  
            }  
        } 
    }
  • 相关阅读:
    python元编程(metaclass)
    STL源码剖析:序
    高效C++:定制new和delete
    高效C++:模板和泛型编程
    高效C++:继承和实现
    高效C++:实现
    高效C++:设计与声明
    高效C++:资源管理
    高效C++:构造/析构/赋值
    Noip2017退役记
  • 原文地址:https://www.cnblogs.com/myseries/p/5203276.html
Copyright © 2011-2022 走看看