You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by da...@apache.org on 2026/01/19 13:01:13 UTC

(jackrabbit-oak) 01/01: OAK-12061 : removed usage of guava's ThreadFactoryBuilder

This is an automated email from the ASF dual-hosted git repository.

daim pushed a commit to branch OAK-12061
in repository https://gitbox.apache.org/repos/asf/jackrabbit-oak.git

commit b0451c67f8d4ce3aacd1816bafb4e6514713da8a
Author: rishabhdaim <ri...@gmail.com>
AuthorDate: Mon Jan 19 18:30:58 2026 +0530

    OAK-12061 : removed usage of guava's ThreadFactoryBuilder
---
 .../commons/internal/concurrent/ExecutorUtils.java    | 19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)

diff --git a/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/internal/concurrent/ExecutorUtils.java b/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/internal/concurrent/ExecutorUtils.java
index 1962c494a0..ff50e74a92 100644
--- a/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/internal/concurrent/ExecutorUtils.java
+++ b/oak-commons/src/main/java/org/apache/jackrabbit/oak/commons/internal/concurrent/ExecutorUtils.java
@@ -21,12 +21,12 @@ package org.apache.jackrabbit.oak.commons.internal.concurrent;
 import java.util.concurrent.Executor;
 import java.util.concurrent.ExecutorService;
 
-import org.apache.jackrabbit.guava.common.util.concurrent.ThreadFactoryBuilder;
 import org.apache.jackrabbit.oak.commons.concurrent.ExecutorCloser;
 
 import java.util.concurrent.Executors;
 import java.util.concurrent.ScheduledExecutorService;
 import java.util.concurrent.ScheduledThreadPoolExecutor;
+import java.util.concurrent.ThreadFactory;
 import java.util.concurrent.ThreadPoolExecutor;
 import java.util.concurrent.TimeUnit;
 
@@ -47,7 +47,7 @@ public class ExecutorUtils {
     }
 
     public static ExecutorService getExitingExecutorService(ThreadPoolExecutor executor) {
-        setDeamonThreadFactory(executor);
+        setDaemonThreadFactory(executor);
         final ExecutorService service = Executors.unconfigurableExecutorService(executor);
         // JVM shutdown hook for graceful executor shutdown
         addRuntimeShutdownHook(executor);
@@ -56,7 +56,7 @@ public class ExecutorUtils {
     }
 
     public static ScheduledExecutorService getExitingScheduledExecutorService(ScheduledThreadPoolExecutor executor) {
-        setDeamonThreadFactory(executor);
+        setDaemonThreadFactory(executor);
         ScheduledExecutorService service = Executors.unconfigurableScheduledExecutorService(executor);
         // JVM shutdown hook for graceful executor shutdown
         addRuntimeShutdownHook(executor);
@@ -70,11 +70,12 @@ public class ExecutorUtils {
                 "RuntimeShutdownHook-for-" + executor));
     }
 
-    private static void setDeamonThreadFactory(final ThreadPoolExecutor executor) {
-        executor.setThreadFactory(
-                new ThreadFactoryBuilder()
-                        .setDaemon(true)
-                        .setThreadFactory(executor.getThreadFactory())
-                        .build());
+    private static void setDaemonThreadFactory(ThreadPoolExecutor executor) {
+        ThreadFactory delegate = executor.getThreadFactory();
+        executor.setThreadFactory(r -> {
+            Thread t = delegate != null ? delegate.newThread(r) : new Thread(r);
+            t.setDaemon(true);
+            return t;
+        });
     }
 }