Skip to content

Commit f65f04e

Browse files
authored
Merge pull request #50763 from mkouba/arc-container-null-exception
ArC: add Arc.requireContainer(), print diagnostics when Arc.container() returns null
2 parents 90a14a1 + f0da555 commit f65f04e

30 files changed

+206
-90
lines changed

extensions/arc/deployment/src/main/java/io/quarkus/arc/deployment/staticmethods/InterceptedStaticMethodsProcessor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -379,7 +379,7 @@ private ResultHandle createInterceptorInvocation(InterceptorInfo interceptor, By
379379

380380
private ResultHandle getInterceptorBean(InterceptorInfo interceptor, BytecodeCreator creator) {
381381
ResultHandle containerHandle = creator
382-
.invokeStaticMethod(MethodDescriptors.ARC_CONTAINER);
382+
.invokeStaticMethod(MethodDescriptors.ARC_REQUIRE_CONTAINER);
383383
return creator.checkCast(creator.invokeInterfaceMethod(
384384
MethodDescriptors.ARC_CONTAINER_BEAN,
385385
containerHandle, creator.load(interceptor.getIdentifier())), InjectableInterceptor.class);

extensions/arc/runtime/src/main/java/io/quarkus/arc/runtime/ArcContainerSupplier.java

Lines changed: 0 additions & 13 deletions
This file was deleted.

extensions/arc/runtime/src/main/java/io/quarkus/arc/runtime/ArcRecorder.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -150,8 +150,9 @@ public Object apply(SyntheticCreationalContext<?> t) {
150150
}
151151

152152
public void initTestApplicationClassPredicate(Set<String> applicationBeanClasses) {
153-
PreloadedTestApplicationClassPredicate predicate = Arc.container()
154-
.instance(PreloadedTestApplicationClassPredicate.class).get();
153+
PreloadedTestApplicationClassPredicate predicate = Arc.requireContainer()
154+
.instance(PreloadedTestApplicationClassPredicate.class)
155+
.get();
155156
predicate.setApplicationBeanClasses(applicationBeanClasses);
156157
}
157158

extensions/arc/runtime/src/main/java/io/quarkus/arc/runtime/BeanInvoker.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
public interface BeanInvoker<T> {
1212

1313
default void invoke(T param) throws Exception {
14-
ManagedContext requestContext = Arc.container().requestContext();
14+
ManagedContext requestContext = Arc.requireContainer().requestContext();
1515
if (requestContext.isActive()) {
1616
invokeBean(param);
1717
} else {

extensions/arc/runtime/src/main/java/io/quarkus/arc/runtime/BeanLookupSupplier.java

Lines changed: 0 additions & 31 deletions
This file was deleted.

extensions/arc/runtime/src/main/java/io/quarkus/arc/runtime/ConfigStaticInitCheckInterceptor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ static void recordConfigValue(InjectionPoint injectionPoint, ConfigStaticInitVal
7575
LOG.debugf("No config value found for %s - recording <null> value", propertyName);
7676
}
7777
if (configValues == null) {
78-
configValues = Arc.container().instance(ConfigStaticInitValues.class).get();
78+
configValues = Arc.requireContainer().instance(ConfigStaticInitValues.class).get();
7979
}
8080
configValues.recordConfigValue(injectionPoint, propertyName, value);
8181
}

extensions/arc/runtime/src/main/java/io/quarkus/arc/runtime/logging/ArcLogFilterFactory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ public class ArcLogFilterFactory implements LogFilterFactory {
1414

1515
@Override
1616
public Filter create(String className) throws Exception {
17-
InstanceHandle<?> instance = Arc.container().instance(Class.forName(className, true, Thread.currentThread()
17+
InstanceHandle<?> instance = Arc.requireContainer().instance(Class.forName(className, true, Thread.currentThread()
1818
.getContextClassLoader()));
1919
if (!instance.isAvailable()) {
2020
throw new IllegalStateException("Improper integration of '" + LogFilterFactory.class.getName() + "' detected");

extensions/arc/runtime/src/main/java/io/quarkus/arc/runtime/test/ActivateSessionContextInterceptor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ public class ActivateSessionContextInterceptor {
1515

1616
@AroundInvoke
1717
public Object aroundInvoke(InvocationContext ctx) throws Exception {
18-
ManagedContext sessionContext = Arc.container().sessionContext();
18+
ManagedContext sessionContext = Arc.requireContainer().sessionContext();
1919
if (sessionContext.isActive()) {
2020
return ctx.proceed();
2121
}

extensions/arc/runtime/src/main/java/io/quarkus/arc/shutdown/ArcShutdownListener.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
public class ArcShutdownListener implements ShutdownListener {
1212
@Override
1313
public void preShutdown(ShutdownNotification notification) {
14-
Arc.container().beanManager().getEvent().select(ShutdownDelayInitiatedEvent.class)
14+
Arc.requireContainer().beanManager().getEvent().select(ShutdownDelayInitiatedEvent.class)
1515
.fire(new ShutdownDelayInitiatedEvent());
1616
notification.done();
1717
}

independent-projects/arc/processor/src/main/java/io/quarkus/arc/processor/BeanGenerator.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2059,7 +2059,7 @@ protected void implementGet(BeanInfo bean, ClassCreator beanCreator, ProviderTyp
20592059
} else {
20602060
// All pseudo scopes other than @Dependent (incl. @Singleton)
20612061
// return Arc.container().getActiveContext(getScope()).get(this, new CreationalContextImpl<>())
2062-
ResultHandle container = get.invokeStaticMethod(MethodDescriptors.ARC_CONTAINER);
2062+
ResultHandle container = get.invokeStaticMethod(MethodDescriptors.ARC_REQUIRE_CONTAINER);
20632063
ResultHandle creationalContext = get.newInstance(
20642064
MethodDescriptor.ofConstructor(CreationalContextImpl.class, Contextual.class),
20652065
get.getThis());

0 commit comments

Comments
 (0)