Skip to content

Commit 12fac55

Browse files
author
Philipp Fehre
committed
Make emitterExecutor static
The emitterExecutor in EventProvider can be a single pool for all EventProviders. Increase timeout for EventsTest consumption as it can cause intermitten failures due to execution being moved to thread pool Fix onEmit reference, to be captured as a local variable. Signed-off-by: Philipp Fehre <[email protected]>
1 parent 20ba91c commit 12fac55

File tree

2 files changed

+6
-5
lines changed

2 files changed

+6
-5
lines changed

Diff for: src/main/java/dev/openfeature/sdk/EventProvider.java

+5-4
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
public abstract class EventProvider implements FeatureProvider {
2323
private EventProviderListener eventProviderListener;
2424
private static final int SHUTDOWN_TIMEOUT_SECONDS = 3;
25-
private final ExecutorService emitterExecutor = Executors.newCachedThreadPool(runnable -> {
25+
private static final ExecutorService emitterExecutor = Executors.newCachedThreadPool(runnable -> {
2626
final Thread thread = new Thread(runnable);
2727
thread.setDaemon(true);
2828
return thread;
@@ -85,8 +85,10 @@ public void emit(ProviderEvent event, ProviderEventDetails details) {
8585
if (eventProviderListener != null) {
8686
eventProviderListener.onEmit(event, details);
8787
}
88-
if (this.onEmit != null) {
89-
emitterExecutor.submit(() -> this.onEmit.accept(this, event, details));
88+
89+
final TriConsumer<EventProvider, ProviderEvent, ProviderEventDetails> localOnEmit = this.onEmit;
90+
if (localOnEmit != null) {
91+
emitterExecutor.submit(() -> localOnEmit.accept(this, event, details));
9092
}
9193
}
9294

@@ -97,7 +99,6 @@ public void emit(ProviderEvent event, ProviderEventDetails details) {
9799
* @param details The details of the event
98100
*/
99101
public void emitProviderReady(ProviderEventDetails details) {
100-
System.out.println("Details: " + details);
101102
emit(ProviderEvent.PROVIDER_READY, details);
102103
}
103104

Diff for: src/test/java/dev/openfeature/sdk/EventsTest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919

2020
class EventsTest {
2121

22-
private static final int TIMEOUT = 300;
22+
private static final int TIMEOUT = 500;
2323
private static final int INIT_DELAY = TIMEOUT / 2;
2424

2525
@AfterAll

0 commit comments

Comments
 (0)