Repository: incubator-toree
Updated Branches:
  refs/heads/master 5cd172708 -> c7b008506


TOREE-414: Use ThreadFactoryBuilder to set name and daemon status.


Project: http://git-wip-us.apache.org/repos/asf/incubator-toree/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-toree/commit/c7b00850
Tree: http://git-wip-us.apache.org/repos/asf/incubator-toree/tree/c7b00850
Diff: http://git-wip-us.apache.org/repos/asf/incubator-toree/diff/c7b00850

Branch: refs/heads/master
Commit: c7b008506fa07538b42aa94b287a361a64f71ee6
Parents: 5cd1727
Author: Ryan Blue <b...@apache.org>
Authored: Thu Apr 27 14:05:27 2017 -0700
Committer: Ryan Blue <b...@apache.org>
Committed: Sun Jun 18 15:30:42 2017 -0700

----------------------------------------------------------------------
 .../toree/utils/ScheduledTaskManager.scala      |  8 ++++--
 .../org/apache/toree/utils/TaskManager.scala    | 28 ++++++++------------
 2 files changed, 17 insertions(+), 19 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-toree/blob/c7b00850/kernel-api/src/main/scala/org/apache/toree/utils/ScheduledTaskManager.scala
----------------------------------------------------------------------
diff --git 
a/kernel-api/src/main/scala/org/apache/toree/utils/ScheduledTaskManager.scala 
b/kernel-api/src/main/scala/org/apache/toree/utils/ScheduledTaskManager.scala
index aa1127a..dcb8693 100644
--- 
a/kernel-api/src/main/scala/org/apache/toree/utils/ScheduledTaskManager.scala
+++ 
b/kernel-api/src/main/scala/org/apache/toree/utils/ScheduledTaskManager.scala
@@ -20,8 +20,8 @@ package org.apache.toree.utils
 import scala.language.existentials
 import java.util.concurrent._
 import java.util.UUID
+import com.google.common.util.concurrent.ThreadFactoryBuilder
 import ScheduledTaskManager._
-
 import scala.util.Try
 
 /**
@@ -38,7 +38,11 @@ class ScheduledTaskManager(
   private val defaultExecutionDelay: Long = DefaultExecutionDelay,
   private val defaultTimeInterval: Long = DefaultTimeInterval
 ) {
-  private[utils] val _scheduler = new ScheduledThreadPoolExecutor(totalThreads)
+  private[utils] val _scheduler = new ScheduledThreadPoolExecutor(
+    totalThreads, new ThreadFactoryBuilder()
+      .setDaemon(true)
+      .setNameFormat("scheduled-task-manager-%d")
+      .build())
   _scheduler.setRemoveOnCancelPolicy(true)
 
   private val _taskMap = new ConcurrentHashMap[String, ScheduledFuture[_]]()

http://git-wip-us.apache.org/repos/asf/incubator-toree/blob/c7b00850/kernel-api/src/main/scala/org/apache/toree/utils/TaskManager.scala
----------------------------------------------------------------------
diff --git a/kernel-api/src/main/scala/org/apache/toree/utils/TaskManager.scala 
b/kernel-api/src/main/scala/org/apache/toree/utils/TaskManager.scala
index 8670dde..4f8f58a 100644
--- a/kernel-api/src/main/scala/org/apache/toree/utils/TaskManager.scala
+++ b/kernel-api/src/main/scala/org/apache/toree/utils/TaskManager.scala
@@ -18,15 +18,12 @@
 package org.apache.toree.utils
 
 import java.util.concurrent.atomic.AtomicInteger
-
 import org.slf4j.LoggerFactory
-
-import scala.concurrent.{Promise, Future}
+import scala.concurrent.{Future, Promise}
 import java.util.concurrent._
-
+import com.google.common.util.concurrent.ThreadFactoryBuilder
 import org.apache.toree.security.KernelSecurityManager._
 import TaskManager._
-
 import scala.util.Try
 
 /**
@@ -50,16 +47,6 @@ class TaskManager(
 ) {
   protected val logger = LoggerFactory.getLogger(this.getClass.getName)
 
-  private class TaskManagerThreadFactory extends ThreadFactory {
-    override def newThread(r: Runnable): Thread = {
-      val thread = new Thread(threadGroup, r)
-
-      logger.trace(s"Creating new thread named ${thread.getName}!")
-
-      thread
-    }
-  }
-
   private[utils] class ScalingThreadPoolExecutor extends ThreadPoolExecutor(
     minimumWorkers,
     maximumWorkers,
@@ -111,7 +98,14 @@ class TaskManager(
     }
   }
 
-  private val taskManagerThreadFactory = new TaskManagerThreadFactory
+  private val taskManagerThreadFactory = new ThreadFactoryBuilder()
+    .setThreadFactory(new ThreadFactory {
+      override def newThread(r: Runnable): Thread = new Thread(threadGroup, r)
+    })
+    .setDaemon(true)
+    .setNameFormat("task-manager-%d")
+    .build
+
   private val taskQueue = new ArrayBlockingQueue[Runnable](maxTasks)
 
   @volatile
@@ -251,4 +245,4 @@ object TaskManager {
    * thread factory.
    */
   val MaximumThreadQueueTimeout = 10000
-}
\ No newline at end of file
+}

Reply via email to