gpt4 book ai didi

jax-rs - 关闭 Apache Aries 的默认网页

转载 作者:行者123 更新时间:2023-12-03 23:50:40 28 4
gpt4 key购买 nike

我在 karaf 中使用 Apache Aries。我已经在一个单独的包中设置了我的主页。问题是,当我停止我的“web-home”包时,我看到了 apache aries 默认页面。

在 karaf-logs 我看到默认页面总是被调用。

"WARN JAXRSUtils  - Both org.apache.aries.jax.rs.whiteboard.internal.DefaultWeb#home and my.packet.Home#home are equal candidates for handling the current request which can lead to unpredictable results"

这是我的 Home.java好像:
@Path("/")
@Component(
property = {
JaxrsWhiteboardConstants.JAX_RS_APPLICATION_SELECT + "=(osgi.jaxrs.name=.default)",
JaxrsWhiteboardConstants.JAX_RS_RESOURCE + "=true"
},
service = Home.class
)
public class Home {...

那么,如何配置 Aries 以关闭其主页,或者只是防止这种潜在的不可预测的结果?

如果被问到,我很乐意澄清进一步的必要细节。提前致谢。

最佳答案

看起来 DefaultWeb 是由名为 的配置创建的default.web WhiteBoard class就在这儿:

return OSGi.register(
Application.class,
() -> new DefaultApplication() {

@Override
public Set<Object> getSingletons() {
Object defaultApplication = _configurationMap.get(
"default.web");

if (defaultApplication == null ||
Boolean.parseBoolean(defaultApplication.toString())) {

return Collections.singleton(new DefaultWeb());
}
else {
return Collections.emptySet();
}
}

},

看着 bundle activator如果你设置了配置 看起来是这样的default.web 设置为 false 将禁用默认页面。

为此,请创建或找到此文件:
.../etc/org.apache.aries.jax.rs.whiteboard.default.cfg

(这是这个包的默认配置文件。作为一般规则,默认配置文件是: ../etc/<Persistent ID of Bundel.cfg)并添加/设置这一行:
default.web=false

关于jax-rs - 关闭 Apache Aries 的默认网页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58502551/

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