访问Apache Felix元类型文件中的信息?

时间:2018-03-17 19:14:31

标签: osgi apache-karaf apache-felix

我试图了解Apache Felix中metatype文件对我的OSGi应用程序的用途。

示例XML

<?xml version="1.0" encoding="UTF-8"?>
<metatype:MetaData xmlns:metatype="http://www.osgi.org/xmlns/metatype/v1.0.0">
    <OCD description="BundleMetaData" name="com.osgi.client" id="osgiclient">
        <AD name="Bundle Name"  id="osgiclient-feature" required="true" type="String" default="CUSTOM :: GREETER CLIENT :: BUNDLE"/>
    </OCD>
    <Designate pid="com.osgi.client">
        <Object ocdref="com.osgi.client"/>
    </Designate>
</metatype:MetaData>

我想以编程方式抓住Bundle Name,但请看:

http://felix.apache.org/documentation/subprojects/apache-felix-metatype-service.html

需要某种PID来获取数据:

ObjectClassDefinition ocd = information.getObjectClassDefinition(pid, locale);

但是,我分析了information对象并且没有看到任何PID。如何从XML访问这些属性?

1 个答案:

答案 0 :(得分:0)

我建议查看Metatype specification以查看其工作原理并可以使用。

PID是一个持久性标识,用作Configuration Admin服务中配置数据的主键。