Skip to content

Commit 9b7809a

Browse files
committed
Reuse BasicThreadFactory
1 parent be673ca commit 9b7809a

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

commons-vfs2/src/main/java/org/apache/commons/vfs2/impl/DefaultFileMonitor.java

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,10 @@
2020
import java.util.HashMap;
2121
import java.util.Map;
2222
import java.util.Stack;
23+
import java.util.concurrent.ThreadFactory;
2324
import java.util.stream.Stream;
2425

26+
import org.apache.commons.lang3.concurrent.BasicThreadFactory;
2527
import org.apache.commons.logging.Log;
2628
import org.apache.commons.logging.LogFactory;
2729
import org.apache.commons.vfs2.FileListener;
@@ -64,11 +66,11 @@
6466
*
6567
* <pre>
6668
* FileSystemManager fsManager = VFS.getManager();
67-
* FileObject listendir = fsManager.resolveFile("/home/username/monitored/");
69+
* FileObject listenDir = fsManager.resolveFile("/home/username/monitored/");
6870
*
6971
* DefaultFileMonitor fm = new DefaultFileMonitor(new CustomFileListener());
7072
* fm.setRecursive(true);
71-
* fm.addFile(listendir);
73+
* fm.addFile(listenDir);
7274
* fm.start();
7375
* </pre>
7476
*
@@ -77,13 +79,15 @@
7779
// TODO Add a Builder so we can construct and start.
7880
public class DefaultFileMonitor implements Runnable, FileMonitor, AutoCloseable {
7981

82+
private static final ThreadFactory threadFactory = new BasicThreadFactory.Builder().daemon(true).priority(Thread.MIN_PRIORITY).build();
83+
8084
/**
8185
* File monitor agent.
8286
*/
8387
private static final class FileMonitorAgent {
88+
8489
private final FileObject fileObject;
8590
private final DefaultFileMonitor defaultFileMonitor;
86-
8791
private boolean exists;
8892
private long timestamp;
8993
private Map<FileName, Object> children;
@@ -556,9 +560,7 @@ public void setRecursive(final boolean newRecursive) {
556560
*/
557561
public synchronized void start() {
558562
if (monitorThread == null) {
559-
monitorThread = new Thread(this);
560-
monitorThread.setDaemon(true);
561-
monitorThread.setPriority(Thread.MIN_PRIORITY);
563+
monitorThread = threadFactory.newThread(this);
562564
}
563565
monitorThread.start();
564566
}

0 commit comments

Comments
 (0)