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 +}