天天看點

監控目錄中檔案上傳HDFS中代碼執行個體

代碼執行個體

package oa.epoint.com.watchFile;

import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;

/**
 * Title: 檔案監控之定時器
 */
public class FileScheduler {
    //定時器設定
    private final Timer timer;
    //構造方法
    public FileScheduler(){
        timer = new Timer();;
    }
    //設定守護線程
    public FileScheduler(boolean isDaemon){  
        // 是否為守護線程  
        timer = new Timer(isDaemon);  
    }
    /**
     * MethodsTitle: 為定時器配置設定可執行任務 
     */
    public void schedule(Runnable task,TimeStep step){
        Date time = step.next();  
        SchedulerTimerTask timeTask = new SchedulerTimerTask(task,step);  
        // 安排在指定的時間 time 執行指定的任務 timetask  
        timer.schedule(timeTask, time); 
    }
    /** 
     * MethodsTitle: 重新執行任務 
     */
    private void reSchedule(Runnable task,TimeStep step){  
        Date time = step.next();  
        SchedulerTimerTask timeTask = new SchedulerTimerTask(task,step);  
        // 安排在指定的時間 time 執行指定的任務 timetask  
        timer.schedule(timeTask, time);  
    }  
    /** 
     * MethodsTitle: 停止目前定時器 
     */
    public void cancle(){  
        timer.cancel();  
    }  
    /** 
     * Title:停止目前定時器  
     */
    private class SchedulerTimerTask extends TimerTask{  
        private Runnable task;  
        private TimeStep step;  

        public SchedulerTimerTask(Runnable task,TimeStep step){  
            this.task = task;  
            this.step = step;  
        }  
        public void run() {  
            // 執行指定任務  
            task.run();  
            // 繼續重複執行任務  
            reSchedule(task, step);  
        }  
    } 
}
           
package oa.epoint.com.watchFile;

import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;

/**
 * Title: 檔案監控之定時器
 */
public class FileScheduler {
    //定時器設定
    private final Timer timer;
    //構造方法
    public FileScheduler(){
        timer = new Timer();;
    }
    //設定守護線程
    public FileScheduler(boolean isDaemon){  
        // 是否為守護線程  
        timer = new Timer(isDaemon);  
    }
    /**
     * MethodsTitle: 為定時器配置設定可執行任務 
     */
    public void schedule(Runnable task,TimeStep step){
        Date time = step.next();  
        SchedulerTimerTask timeTask = new SchedulerTimerTask(task,step);  
        // 安排在指定的時間 time 執行指定的任務 timetask  
        timer.schedule(timeTask, time); 
    }
    /** 
     * MethodsTitle: 重新執行任務 
     */
    private void reSchedule(Runnable task,TimeStep step){  
        Date time = step.next();  
        SchedulerTimerTask timeTask = new SchedulerTimerTask(task,step);  
        // 安排在指定的時間 time 執行指定的任務 timetask  
        timer.schedule(timeTask, time);  
    }  
    /** 
     * MethodsTitle: 停止目前定時器 
     */
    public void cancle(){  
        timer.cancel();  
    }  
    /** 
     * Title:停止目前定時器  
     */
    private class SchedulerTimerTask extends TimerTask{  
        private Runnable task;  
        private TimeStep step;  

        public SchedulerTimerTask(Runnable task,TimeStep step){  
            this.task = task;  
            this.step = step;  
        }  
        public void run() {  
            // 執行指定任務  
            task.run();  
            // 繼續重複執行任務  
            reSchedule(task, step);  
        }  
    } 
}
           
package oa.epoint.com.watchFile;

import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;

/**
 * Title: 檔案監控之定時器
 */
public class FileScheduler {
    //定時器設定
    private final Timer timer;
    //構造方法
    public FileScheduler(){
        timer = new Timer();;
    }
    //設定守護線程
    public FileScheduler(boolean isDaemon){  
        // 是否為守護線程  
        timer = new Timer(isDaemon);  
    }
    /**
     * MethodsTitle: 為定時器配置設定可執行任務 
     */
    public void schedule(Runnable task,TimeStep step){
        Date time = step.next();  
        SchedulerTimerTask timeTask = new SchedulerTimerTask(task,step);  
        // 安排在指定的時間 time 執行指定的任務 timetask  
        timer.schedule(timeTask, time); 
    }
    /** 
     * MethodsTitle: 重新執行任務 
     */
    private void reSchedule(Runnable task,TimeStep step){  
        Date time = step.next();  
        SchedulerTimerTask timeTask = new SchedulerTimerTask(task,step);  
        // 安排在指定的時間 time 執行指定的任務 timetask  
        timer.schedule(timeTask, time);  
    }  
    /** 
     * MethodsTitle: 停止目前定時器 
     */
    public void cancle(){  
        timer.cancel();  
    }  
    /** 
     * Title:停止目前定時器  
     */
    private class SchedulerTimerTask extends TimerTask{  
        private Runnable task;  
        private TimeStep step;  

        public SchedulerTimerTask(Runnable task,TimeStep step){  
            this.task = task;  
            this.step = step;  
        }  
        public void run() {  
            // 執行指定任務  
            task.run();  
            // 繼續重複執行任務  
            reSchedule(task, step);  
        }  
    } 
}
           
package oa.epoint.com.watchFile;

import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;

/**
 * Title: 檔案監控之定時器
 */
public class FileScheduler {
    //定時器設定
    private final Timer timer;
    //構造方法
    public FileScheduler(){
        timer = new Timer();;
    }
    //設定守護線程
    public FileScheduler(boolean isDaemon){  
        // 是否為守護線程  
        timer = new Timer(isDaemon);  
    }
    /**
     * MethodsTitle: 為定時器配置設定可執行任務 
     */
    public void schedule(Runnable task,TimeStep step){
        Date time = step.next();  
        SchedulerTimerTask timeTask = new SchedulerTimerTask(task,step);  
        // 安排在指定的時間 time 執行指定的任務 timetask  
        timer.schedule(timeTask, time); 
    }
    /** 
     * MethodsTitle: 重新執行任務 
     */
    private void reSchedule(Runnable task,TimeStep step){  
        Date time = step.next();  
        SchedulerTimerTask timeTask = new SchedulerTimerTask(task,step);  
        // 安排在指定的時間 time 執行指定的任務 timetask  
        timer.schedule(timeTask, time);  
    }  
    /** 
     * MethodsTitle: 停止目前定時器 
     */
    public void cancle(){  
        timer.cancel();  
    }  
    /** 
     * Title:停止目前定時器  
     */
    private class SchedulerTimerTask extends TimerTask{  
        private Runnable task;  
        private TimeStep step;  

        public SchedulerTimerTask(Runnable task,TimeStep step){  
            this.task = task;  
            this.step = step;  
        }  
        public void run() {  
            // 執行指定任務  
            task.run();  
            // 繼續重複執行任務  
            reSchedule(task, step);  
        }  
    } 
}