如何解决当配置不存在时,Microprofile Config 可选字符串给出 DeploymentException
我在 Thorntail 2.7.0.Final 中有这个问题,我定义了一个可选的配置字符串,该字符串依赖于其他配置来使用(如下面的示例代码所示),我总是得到 以下异常:
Caused by: org.wildfly.swarm.container.DeploymentException: THORN0004: Deployment failed: {"WFLYCTL0080: Failed services" => {"jboss.deployment.unit.\"my-app.war\".WeldStartService" => "Failed to start service 2021-04-19 14:11:08,285 ERROR [stderr] [main] () <> Caused by: org.jboss.weld.exceptions.DeploymentException: No Config Value exists for required property ...
代码示例:
import java.util.Optional;
import javax.inject.Inject;
import org.eclipse.microprofile.config.inject.ConfigProperty;
import javax.enterprise.context.ApplicationScoped;
import javax.enterprise.inject.Produces;
@ApplicationScoped
class Scratch {
@Inject
@ConfigProperty(name = "config.use-file")
private boolean useFile;
@Inject
@ConfigProperty(name = "config.file.path")
private Optional<String> filePath;
@Produces
@CustomQualifier
public String doStuff() {
final String s;
//... more code
if (useFile) {
s = filePath.orElseThrow(IllegalArgumentException::new);
}
//... do stuff
return s;
}
}
有人知道问题出在哪里以及如何解决吗?
提前感谢您的时间。
EDIT#1:为示例添加了更多上下文。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。