File tree Expand file tree Collapse file tree 1 file changed +18
-1
lines changed
opamp-client/src/main/java/io/opentelemetry/opamp/client/internal/request/delay Expand file tree Collapse file tree 1 file changed +18
-1
lines changed Original file line number Diff line number Diff line change 99import java .util .concurrent .Executors ;
1010import java .util .concurrent .ScheduledExecutorService ;
1111import java .util .concurrent .ScheduledFuture ;
12+ import java .util .concurrent .ThreadFactory ;
1213import java .util .concurrent .TimeUnit ;
1314import java .util .concurrent .atomic .AtomicReference ;
1415import java .util .concurrent .locks .Lock ;
@@ -25,7 +26,8 @@ public final class PeriodicTaskExecutor {
2526
2627 public static PeriodicTaskExecutor create (PeriodicDelay initialPeriodicDelay ) {
2728 return new PeriodicTaskExecutor (
28- Executors .newSingleThreadScheduledExecutor (), initialPeriodicDelay );
29+ Executors .newSingleThreadScheduledExecutor (new DaemonThreadFactory ()),
30+ initialPeriodicDelay );
2931 }
3032
3133 PeriodicTaskExecutor (
@@ -79,4 +81,19 @@ public void run() {
7981 scheduleNext ();
8082 }
8183 }
84+
85+ private static class DaemonThreadFactory implements ThreadFactory {
86+ private final ThreadFactory delegate = Executors .defaultThreadFactory ();
87+
88+ @ Override
89+ public Thread newThread (@ Nonnull Runnable r ) {
90+ Thread t = delegate .newThread (r );
91+ try {
92+ t .setDaemon (true );
93+ } catch (SecurityException e ) {
94+ // Well, we tried.
95+ }
96+ return t ;
97+ }
98+ }
8299}
You can’t perform that action at this time.
0 commit comments