Skip to content

Commit bb0a6d8

Browse files
committed
feat: Application-scope controllers automatically if not already scoped
1 parent 7dc1c23 commit bb0a6d8

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

operator-framework-quarkus-extension/deployment/src/main/java/io/javaoperatorsdk/quarkus/extension/deployment/QuarkusExtensionProcessor.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import java.util.function.Function;
2626
import java.util.function.Supplier;
2727
import java.util.stream.Collectors;
28+
import javax.enterprise.context.ApplicationScoped;
2829
import javax.inject.Singleton;
2930
import org.jboss.jandex.AnnotationInstance;
3031
import org.jboss.jandex.AnnotationValue;
@@ -38,6 +39,8 @@ class QuarkusExtensionProcessor {
3839
private static final DotName RESOURCE_CONTROLLER =
3940
DotName.createSimple(ResourceController.class.getName());
4041
private static final DotName CONTROLLER = DotName.createSimple(Controller.class.getName());
42+
private static final DotName APPLICATION_SCOPED =
43+
DotName.createSimple(ApplicationScoped.class.getName());
4144
private static final Supplier<String> EXCEPTION_SUPPLIER =
4245
() -> {
4346
throw new IllegalArgumentException();
@@ -99,7 +102,12 @@ private ControllerConfiguration createControllerConfiguration(
99102

100103
// create ResourceController bean
101104
final var resourceControllerClassName = info.name().toString();
102-
additionalBeans.produce(AdditionalBeanBuildItem.unremovableOf(resourceControllerClassName));
105+
additionalBeans.produce(
106+
AdditionalBeanBuildItem.builder()
107+
.addBeanClass(resourceControllerClassName)
108+
.setUnremovable()
109+
.setDefaultScope(APPLICATION_SCOPED)
110+
.build());
103111

104112
// generate configuration
105113
final var controllerAnnotation = info.classAnnotation(CONTROLLER);

0 commit comments

Comments
 (0)