gpt4 book ai didi

java - Quarkus 不以编程方式选择 bean

转载 作者:行者123 更新时间:2023-12-02 02:17:18 25 4
gpt4 key购买 nike

我试图以编程方式选择 bean,但 quarkus 不会注入(inject) bean 并引发异常。不支持?

public enum ReportType {
ONE,
TWO
}
@Qualifier
@Retention(RUNTIME)
@Target({METHOD, PARAMETER, FIELD, TYPE})
@Documented
public @interface Report {

ReportType value();

public static final class Literal extends AnnotationLiteral<Report> implements Report {

private final ReportType value;

public static Literal of(ReportType value) {
return new Literal(value);
}

private Literal(ReportType value) {
this.value = value;
}

public ReportType value() {
return value;
}
}
}
public interface CommonnInterface {
void call();
}
@Report(value = ReportType.ONE)
public class ReportOneBusiness implements CommonnInterface {

@Override
public void call() {
System.out.println("Hello");
}
}

当我们打电话时


CommonnInterface commonnInterface = CDI.current()
.select(
CommonnInterface.class,
Report.Literal.of(ReportType.ONE)
).get();

未找到所需类型 [接口(interface) org.business.CommonnInterface] 和限定符 [[@org.cdi.Report(value=ONE)]] 的 Bean

最佳答案

您可能需要使用 @io.quarkus.arc.Unremovable 注释使 Bean 不可删除。

参见this了解更多详情。

关于java - Quarkus 不以编程方式选择 bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66978537/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com