定时器的简单实现

1.定时器的简单实现:

通过定时器执行我的业务代码,

     @RequestMapping("doSaveObject")
     @ResponseBody
     //public JsonResult doSaveObject(){}
     public void save(){
         // TODO Auto-generated method stub
         TimerTask task = new TimerTask() {
             @Override  
             public void run() {  
                 // task to run goes here  
                 System.out.println("Hello !!!");  
                 //json字符串数组
                 String str="[{\"id\":\"828\",\"title\":\"女警\",\"doc_content\":\"文章内容\",\"write_time\":\"2018-01-08\",\"author\":\"作者\"}," + "{\"id\":\"829\",\"title\":\"牛头\",\"doc_content\":\"文章内容\",\"write_time\":\"2018-01-08\",\"author\":\"作者\"}]";
                 //转化为数组
                 Jtt[] ss=(Jtt[])JSONArray.toArray(JSONArray.fromObject(str),Jtt.class);
                 //遍历数组,并在每次遍历中给jtt实体赋值
                 for(int i=0;i<ss.length;i++){
                     Jtt jtt = new Jtt();
                     jtt.setId(ss[i].getId());
                     jtt.setTitle(ss[i].getTitle());
                     jtt.setDoc_content(ss[i].getDoc_content());
                     jtt.setWrite_time(ss[i].getWrite_time());
                     jtt.setAuthor(ss[i].getAuthor());
                     System.out.println(jtt);
                     jttService.saveObject(jtt);
                     jtt=null;
                 }

             }  
         };  
         Timer timer = new Timer();  
         long delay = 0;  
         long intevalPeriod = 1 * 3000;  
         // schedules the task to be run in an interval  
         timer.scheduleAtFixedRate(task, delay, intevalPeriod);  
     }

说明:

1)定时器是一个方法;

2)这里将定时器写在了控制层,然后在浏览器通过@RequestMapping()注解调用这个定时器。

参考:

https://blog.csdn.net/mazegong/article/details/77743805

JAVA定时器的三种方法(该参考中,main方法中参数直接去掉即可;方法名main可以写成其他方法名)

2.加入监听器:

 

posted @ 2018-10-26 15:44  断点S  阅读(381)  评论(0编辑  收藏  举报