监控目录中文件上传HDFS中

简介: 代码实例package oa.epoint.com.watchFile;import java.util.Date;import java.

代码实例

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);  
        }  
    } 
}
目录
相关文章
|
6月前
|
Shell
Shell遍历HDFS路径统计层级目录大小
Shell遍历HDFS路径统计层级目录大小
533 0
|
存储 监控
63 Flume采集目录到HDFS
63 Flume采集目录到HDFS
74 0
|
分布式计算 Hadoop 大数据
【大数据开发技术】实验05-HDFS目录与文件的创建删除与查询操作
【大数据开发技术】实验05-HDFS目录与文件的创建删除与查询操作
202 0
|
1月前
|
SQL 分布式计算 监控
Hadoop-20 Flume 采集数据双写至本地+HDFS中 监控目录变化 3个Agent MemoryChannel Source对比
Hadoop-20 Flume 采集数据双写至本地+HDFS中 监控目录变化 3个Agent MemoryChannel Source对比
60 3
|
5月前
|
消息中间件 SQL Kafka
实时计算 Flink版产品使用问题之独立集群与hdfs集群不在一起,何配置checkpoint目录为hdfs
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
5月前
|
SQL JSON 数据处理
实时计算 Flink版产品使用问题之把hdfs集群里的core-site.xml hdfs.xml两个文件放到flink/conf/目录下,启动集群说找不到hdfs,该如何解决
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
6月前
|
SQL 分布式计算 监控
Flume实时读取本地/目录文件到HDFS
Flume实时读取本地/目录文件到HDFS
175 7
|
存储 大数据
大数据数据存储的分布式文件系统的HDFS的基本使用的命令行接口的删除文件/目录
在 Hdfs 中,使用命令行接口可以方便地对数据进行操作。
108 1
|
存储 大数据
大数据数据存储的分布式文件系统的HDFS的基本使用的命令行接口的创建目录/文件
在 Hdfs 中,使用命令行接口可以方便地对数据进行操作。
96 1
|
1月前
|
分布式计算 Kubernetes Hadoop
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
149 6