gpt4 book ai didi

osgi - 将 Sling Scheduler 与 Eclipse Equinox 或 OSGI @Reference 规则结合使用

转载 作者:行者123 更新时间:2023-12-02 04:29:10 26 4
gpt4 key购买 nike

我想在我的 Eclipse Equinox 环境中使用 Sling 调度程序作为一个包,现在尝试只运行这些示例,无论是白板还是通过 API 都没有成功。经过大量调试后,我现在能够让它工作,但我必须在 QuartzScheduler 中更改调度程序包并更改对 MetricRegistry 的引用以添加可选基数:

@Reference(cardinality=ReferenceCardinality.OPTIONAL)
MetricRegistry metricsRegistry;

否则会导致服务无法在 Equinox 上启动。

在包中运行测试似乎即使使用 Felix 也从未解决,但在那种情况下服务仍会启动。我还应该注意到 MetricRegistry 似乎不是一项服务,我不明白为什么它会通过 @Reference 实例化。实际上将行更改为:

MetricRegistry metricsRegistry = new MetricRegistry();

将在所有情况下正确检索 metricsRegistry,Felix 或 Equinox。

我是否发现了错误或有什么我不明白的地方?

最佳答案

在 Apache Sling 中,MetricRegistry 实例是从 org.apache.sling.commons.metrics 包中注册的,参见 MetricsServiceImpl#activate .您应该将此 bundle 部署到您的 OSGi 容器中。

关于osgi - 将 Sling Scheduler 与 Eclipse Equinox 或 OSGI @Reference 规则结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50659247/

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