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 <garydgreg...@gmail.com> 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(); }