Skip to content

Commit 395e8c9

Browse files
authored
Made ODP Event Dispatcher a daemon thread (#497)
1 parent f63cff5 commit 395e8c9

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

core-api/src/main/java/com/optimizely/ab/odp/ODPEventManager.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,13 @@ public void start() {
6868
eventDispatcherThread = new EventDispatcherThread();
6969
}
7070
if (!isRunning) {
71-
eventDispatcherThread.start();
71+
final ThreadFactory threadFactory = Executors.defaultThreadFactory();
72+
ExecutorService executor = Executors.newSingleThreadExecutor(runnable -> {
73+
Thread thread = threadFactory.newThread(runnable);
74+
thread.setDaemon(true);
75+
return thread;
76+
});
77+
executor.submit(eventDispatcherThread);
7278
}
7379
isRunning = true;
7480
}
@@ -159,7 +165,7 @@ public void run() {
159165
if (currentBatch.size() > 0) {
160166
nextEvent = eventQueue.poll(nextFlushTime - new Date().getTime(), TimeUnit.MILLISECONDS);
161167
} else {
162-
nextEvent = eventQueue.poll();
168+
nextEvent = eventQueue.take();
163169
}
164170

165171
if (nextEvent == null) {

0 commit comments

Comments
 (0)