This is an automated email from the ASF dual-hosted git repository.
ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-vfs.git
The following commit(s) were added to refs/heads/master by this push:
new 9b7809a1 Reuse BasicThreadFactory
9b7809a1 is described below
commit 9b7809a1d0a413648e117462814decff14b33061
Author: Gary Gregory <[email protected]>
AuthorDate: Wed Dec 18 10:15:30 2024 -0500
Reuse BasicThreadFactory
---
.../org/apache/commons/vfs2/impl/DefaultFileMonitor.java | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git
a/commons-vfs2/src/main/java/org/apache/commons/vfs2/impl/DefaultFileMonitor.java
b/commons-vfs2/src/main/java/org/apache/commons/vfs2/impl/DefaultFileMonitor.java
index c9ecf440..19ca8861 100644
---
a/commons-vfs2/src/main/java/org/apache/commons/vfs2/impl/DefaultFileMonitor.java
+++
b/commons-vfs2/src/main/java/org/apache/commons/vfs2/impl/DefaultFileMonitor.java
@@ -20,8 +20,10 @@ import java.time.Duration;
import java.util.HashMap;
import java.util.Map;
import java.util.Stack;
+import java.util.concurrent.ThreadFactory;
import java.util.stream.Stream;
+import org.apache.commons.lang3.concurrent.BasicThreadFactory;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.commons.vfs2.FileListener;
@@ -64,11 +66,11 @@ import org.apache.commons.vfs2.provider.AbstractFileSystem;
*
* <pre>
* FileSystemManager fsManager = VFS.getManager();
- * FileObject listendir = fsManager.resolveFile("/home/username/monitored/");
+ * FileObject listenDir = fsManager.resolveFile("/home/username/monitored/");
*
* DefaultFileMonitor fm = new DefaultFileMonitor(new CustomFileListener());
* fm.setRecursive(true);
- * fm.addFile(listendir);
+ * fm.addFile(listenDir);
* fm.start();
* </pre>
*
@@ -77,13 +79,15 @@ import org.apache.commons.vfs2.provider.AbstractFileSystem;
// TODO Add a Builder so we can construct and start.
public class DefaultFileMonitor implements Runnable, FileMonitor,
AutoCloseable {
+ private static final ThreadFactory threadFactory = new
BasicThreadFactory.Builder().daemon(true).priority(Thread.MIN_PRIORITY).build();
+
/**
* File monitor agent.
*/
private static final class FileMonitorAgent {
+
private final FileObject fileObject;
private final DefaultFileMonitor defaultFileMonitor;
-
private boolean exists;
private long timestamp;
private Map<FileName, Object> children;
@@ -556,9 +560,7 @@ public class DefaultFileMonitor implements Runnable,
FileMonitor, AutoCloseable
*/
public synchronized void start() {
if (monitorThread == null) {
- monitorThread = new Thread(this);
- monitorThread.setDaemon(true);
- monitorThread.setPriority(Thread.MIN_PRIORITY);
+ monitorThread = threadFactory.newThread(this);
}
monitorThread.start();
}