【发布时间】:2010-07-18 19:54:33
【问题描述】:
在我当前的应用程序中,我想通过用户界面在运行时创建和配置 osgi 服务。我查看了 OSGi 元类型规范,但它只支持简单的类型属性。
所以我的问题是:是否有充分的理由不支持诸如其他 osgi 服务之类的属性类型,是否有人知道已经存在的执行此类操作的项目?
更新
进一步澄清我的问题:
我想做的是根据软件用户的需要创建和配置新服务。如果将新的服务接口添加到系统中,这甚至应该可以工作。
假设我有一个用于发送通知的服务接口
public interface NotificationService {
void notify(Notification n);
}
以及用于向例如发送通知的实现推特。通过 Metatype 规范,我可以对 twitter 服务需要用户名和密码的信息进行编码。这使我可以在运行时动态创建 UI 以创建新的 twitter 通知服务。
这适用于简单的数据类型,但元类型规范不处理与其他服务的依赖关系。例如。假设 Notification 有文件附件,因此 Twitter 服务需要 FileUpload 服务来存储文件。
【问题讨论】: