gpt4 book ai didi

java - 如何在Quarkus中获取静态值的配置值

转载 作者:行者123 更新时间:2023-12-01 19:36:47 25 4
gpt4 key购买 nike

我正在重写旧系统的异常,一切正常,但我需要使 BAD_REQUEST 可配置。

private static final String BAD_REQUEST = "BDRQ";

我尝试只放置 ConfigProperty,但它不起作用。

import javax.ws.rs.core.Response.Status;
import org.eclipse.microprofile.config.inject.ConfigProperty;

public class SXClientException extends RuntimeException {
@ConfigProperty(name = "greeting.error", defaultValue = "BDRQ")
public String BAD_REQUEST;

private final RuntimeException runtimeException;

public SXClientException(RuntimeException e) {
super(e);

this.runtimeException = e;
}

public Status getStatus() {
if (BAD_REQUEST.equals(runtimeException.getMessage())) {
return Status.BAD_REQUEST;
}
return Status.INTERNAL_SERVER_ERROR;
}

// ...
}

它可能不起作用,因为我在没有任何 CDI 的情况下制作它们。

catch (LegacyOMException e) {
throw new SXClientException(e);
}

我宁愿避免创建另一个 bean(并传递值)只是为了比较一个字符串。知道如何读取静态值的配置值吗?

最佳答案

您可以使用org.eclipse.microprofile.config.ConfigProvider。适用于静态和非静态成员。

public static final String BAD_REQUEST = ConfigProvider.getConfig().getValue("greeting.error",String.class);

public final String BAD_REQUEST = ConfigProvider.getConfig().getValue("greeting.error",String.class);

关于java - 如何在Quarkus中获取静态值的配置值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59210395/

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