-
Notifications
You must be signed in to change notification settings - Fork 25
Expand file tree
/
Copy pathmonitordir.java
More file actions
executable file
·52 lines (45 loc) · 1.11 KB
/
Copy pathmonitordir.java
File metadata and controls
executable file
·52 lines (45 loc) · 1.11 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
package javaforce.utils;
import javaforce.*;
import javaforce.io.*;
/**
* Monitor Directory utility
*
* @author pquiring
*
* Created : Nov 3, 2013
*/
public class monitordir implements FolderListener {
public static void main(String[] args) {
if (args.length == 0) {
System.out.println("Usage:jf-monitor-dir folder");
return;
}
monitordir md = new monitordir();
md.run(args);
}
private MonitorFolder mf;
private int count;
private void run(String[] args) {
if (args.length > 1 && args[1].equals("debug")) {
count = 2;
}
mf = MonitorFolder.getInstance();
mf.create(args[0]);
mf.poll(this);
}
public void folderChangeEvent(String event, String path) {
System.out.println("folderChangeEvent:event=" + event + ":path=" + path);
if (count > 0) {
count--;
if (count == 0) {
//do not call close() in callback or it deadlocks
JFLog.log("closing");
new Thread() {
public void run() {
mf.close();
}
}.start();
}
}
}
}