gpt4 book ai didi

osgi - 在 OSGi 中使用声明式服务实现服务工厂

转载 作者:行者123 更新时间:2023-12-02 22:38:06 24 4
gpt4 key购买 nike

我正在使用 OSGi 声明式服务和设置注册 OSGi 服务

servicefactory="true"

如下。

<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="test.Configuration">
<implementation class="test.ConfigurationImpl"/>
<service servicefactory="true">
<provide interface="test.Configuration"/>
</service>
</scr:component>

我正尝试从另一个 bundle 中多次使用该服务。但是,它返回了相同的服务实例。

这里可能出了什么问题??

最佳答案

servicefactory 标志意味着每个消费者包都有一个单独的实例。因此,如果您使用 2 个 bundle 中的服务,那么您将获得 2 个实例。您不会为每个消费者获取多个实例。

如果您希望消费者以编程方式控制实例的数量,那么您需要使用 ComponentFactory 方法。

关于osgi - 在 OSGi 中使用声明式服务实现服务工厂,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11137124/

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