Skip to content

Commit 5a37e22

Browse files
authored
Use daemon threads in executor service (#171)
1 parent a810b7e commit 5a37e22

File tree

2 files changed

+25
-1
lines changed

2 files changed

+25
-1
lines changed

src/main/java/com/apptasticsoftware/rssreader/AbstractRssReader.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
package com.apptasticsoftware.rssreader;
2525

2626
import com.apptasticsoftware.rssreader.util.Mapper;
27+
import com.apptasticsoftware.rssreader.util.DaemonThreadFactory;
2728

2829
import javax.net.ssl.SSLContext;
2930
import javax.xml.stream.XMLInputFactory;
@@ -64,7 +65,7 @@
6465
*/
6566
public abstract class AbstractRssReader<C extends Channel, I extends Item> {
6667
private static final String LOG_GROUP = "com.apptasticsoftware.rssreader";
67-
private static final ScheduledThreadPoolExecutor EXECUTOR = new ScheduledThreadPoolExecutor(1);
68+
private static final ScheduledExecutorService EXECUTOR = new ScheduledThreadPoolExecutor(1, new DaemonThreadFactory("RssReaderWorker"));
6869
private final HttpClient httpClient;
6970
private DateTimeParser dateTimeParser = new DateTime();
7071
private String userAgent = "";
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package com.apptasticsoftware.rssreader.util;
2+
3+
import java.util.concurrent.ThreadFactory;
4+
5+
/**
6+
* Thread factory that creates daemon threads
7+
*/
8+
public class DaemonThreadFactory implements ThreadFactory {
9+
private final String name;
10+
private int counter;
11+
12+
public DaemonThreadFactory(String name) {
13+
this.name = name;
14+
}
15+
16+
@Override
17+
public Thread newThread(Runnable r) {
18+
Thread t = new Thread(r, name + "-" + counter++);
19+
t.setDaemon(true);
20+
return t;
21+
}
22+
23+
}

0 commit comments

Comments
 (0)