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();
     }

Reply via email to