gpt4 book ai didi

java - 动态创建和配置具有依赖关系的 OSGi 服务

转载 作者:行者123 更新时间:2023-12-01 05:55:06 26 4
gpt4 key购买 nike

在我当前的应用程序中,我想通过用户界面在运行时创建和配置 osgi 服务。我研究了 OSGi 元类型规范,但它只支持简单类型属性。

所以我的问题是:不支持其他 osgi 服务等属性类型是否有充分的理由?是否有人知道现有的项目可以执行类似的操作?

更新

为了进一步澄清我的问题:

我想做的是根据软件用户的需要创建和配置新服务。如果将新的服务接口(interface)添加到系统中,这甚至应该可以工作。

假设我有一个用于发送通知的服务接口(interface)

public interface NotificationService {
void notify(Notification n);
}

以及用于向例如发送通知的实现推特。通过元类型规范,我可以对 Twitter 服务需要用户名和密码的信息进行编码。这使我能够在运行时动态创建 UI 以创建新的 Twitter 通知服务。

这适用于简单的数据类型,但元类型规范不处理对其他服务的依赖关系。例如。假设 Notification 有文件附件,因此 Twitter 服务需要 FileUpload 服务来存储文件。

最佳答案

您始终可以使用 BundleContext#registerService() 注入(inject)新服务,但是当时的服务必须已初始化并准备好运行。您可能会发现 OSGi 4.2 规范的新蓝图服务很有用,甚至是更旧但更广泛的动态服务。

最终,这取决于你想做什么。当您说在运行时“创建”和“配置”osgi 服务时,您的意思是什么?

关于java - 动态创建和配置具有依赖关系的 OSGi 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3277005/

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