gpt4 book ai didi

java - OSGI 同一服务的两个实例

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

我确实有一个服务“A”,该服务将从其他 11 个组件中使用。如果我通过 osgi 控制台检查所有可用服务,我确实只看到一个实例和所有 11 个组件都在使用该服务。

但由于某种奇怪的原因,我不明白,其中两个组件不使用相同的服务实例。如果我调试,我会看到两个不同的 ID。怎么会发生这种事呢?我没有做任何提到的here .

我通过在 Eclipse 中设置“立即激活此组件”解决了该问题。但正如我红色here ,这不是此复选框的目的。所以也许有人可以解释一下这是如何发生的以及为什么启用此功能可以修复它。

最佳答案

当您使用声明式服务时,DS 运行时可能在某些情况下重新实例化您的服务,通常是因为它所依赖的某些服务已出现/更改/被删除,并且引用是静态的。检查使用服务 A 的所有站点是否是静态的,或者是具有绑定(bind)/取消绑定(bind)方法的动态站点。

关于java - OSGI 同一服务的两个实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22346539/

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