JENA-1162 : Use daemon threads for AlarmClocks.

Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/0f1babe5
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/0f1babe5
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/0f1babe5

Branch: refs/heads/master
Commit: 0f1babe52663133cb05d49e5b14e6ea01e9edb7c
Parents: 0c938ec
Author: Andy Seaborne <[email protected]>
Authored: Thu Apr 7 23:15:27 2016 +0100
Committer: Andy Seaborne <[email protected]>
Committed: Thu Apr 7 23:15:27 2016 +0100

----------------------------------------------------------------------
 .../main/java/org/apache/jena/atlas/lib/AlarmClock.java  | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/0f1babe5/jena-base/src/main/java/org/apache/jena/atlas/lib/AlarmClock.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/AlarmClock.java 
b/jena-base/src/main/java/org/apache/jena/atlas/lib/AlarmClock.java
index 8272fe0..3d0d485 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/AlarmClock.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/AlarmClock.java
@@ -20,13 +20,22 @@ package org.apache.jena.atlas.lib ;
 
 import java.util.concurrent.* ;
 
+import org.apache.commons.lang3.concurrent.BasicThreadFactory ;
+
 /**
  * An AlarmClock is an object that will make a callback (with a value) at a
  * preset time. Simple abstraction of add/reset/cancel of a Runnable. 
Currently,
  * backed by {@link ScheduledThreadPoolExecutor}
  */
 public class AlarmClock {
-    private ScheduledThreadPoolExecutor timer = new 
ScheduledThreadPoolExecutor(1) ;
+    // A ThreadFactory that creates daemons
+    private static ThreadFactory threadFactory = new 
BasicThreadFactory.Builder()
+        .daemon(true)
+        .namingPattern("alarm-clock-")
+        //.uncaughtExceptionHandler(null)
+        .build() ;
+    
+    private ScheduledThreadPoolExecutor timer = new 
ScheduledThreadPoolExecutor(1, threadFactory) ;
 
     /* package */AlarmClock() {}
 

Reply via email to