Skip to content

Commit 5e46eb5

Browse files
committed
Avoid initializing Netty logger too early
1 parent 45ae423 commit 5e46eb5

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

extensions/vertx/runtime/src/main/java/io/quarkus/vertx/runtime/VertxCurrentContextFactory.java

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,14 @@
44
import java.util.Collections;
55
import java.util.List;
66
import java.util.concurrent.CopyOnWriteArrayList;
7+
import java.util.function.Supplier;
78

89
import io.netty.util.concurrent.FastThreadLocal;
910
import io.quarkus.arc.CurrentContext;
1011
import io.quarkus.arc.CurrentContextFactory;
1112
import io.quarkus.arc.InjectableContext;
1213
import io.quarkus.arc.InjectableContext.ContextState;
14+
import io.quarkus.arc.impl.LazyValue;
1315
import io.quarkus.vertx.core.runtime.context.VertxContextSafetyToggle;
1416
import io.smallrye.common.vertx.VertxContext;
1517
import io.vertx.core.Context;
@@ -52,7 +54,13 @@ public List<String> keys() {
5254
private static final class VertxCurrentContext<T extends ContextState> implements CurrentContext<T> {
5355

5456
private final String key;
55-
private final FastThreadLocal<T> fallback = new FastThreadLocal<>();
57+
private final LazyValue<FastThreadLocal<T>> fallback = new LazyValue<>(
58+
new Supplier<>() {
59+
@Override
60+
public FastThreadLocal<T> get() {
61+
return new FastThreadLocal<>();
62+
}
63+
});
5664

5765
private VertxCurrentContext(String key) {
5866
this.key = key;
@@ -64,7 +72,7 @@ public T get() {
6472
if (context != null && VertxContext.isDuplicatedContext(context)) {
6573
return context.getLocal(key);
6674
}
67-
return fallback.get();
75+
return fallback.get().get();
6876
}
6977

7078
@Override
@@ -80,7 +88,7 @@ public void set(T state) {
8088
}
8189

8290
} else {
83-
fallback.set(state);
91+
fallback.get().set(state);
8492
}
8593
}
8694

@@ -91,7 +99,7 @@ public void remove() {
9199
// NOOP - the DC should not be shared.
92100
// context.removeLocal(key);
93101
} else {
94-
fallback.remove();
102+
fallback.get().remove();
95103
}
96104
}
97105

0 commit comments

Comments
 (0)