【发布时间】:2013-11-28 15:07:09
【问题描述】:
我有一个 (bnd-annotated ) 组件,它实现了一个简单的 api 并将自己公开为一个服务
package com.mycompany.impl;
import com.mycompany.api.IFoo;
@Component(designateFactory=FooImpl.Configuration.class)
class FooImpl implements IFoo {
interface Configuration {
String foo();
// ..
}
Configuration configuration;
@Activate
public void activate(Map properties) {
configuration = Configurable.createConfigurable(Configuration.class, properties);
// ..
}
}
它的配置是由 Felix FileInstall 从监视目录加载的,并且该服务由 Felix 配置服务实例化(至少,我认为这是发生的事情 - 我是 OSGi 的新手,请多多包涵)这个,与生成的 MetaType 描述符运行良好。
但是,就目前而言,FooImpl 需要结构化配置(列表列表、列表映射等),我想知道是否有一种优雅的 (*) 方法可以通过类似的工作流程来配置组件的实例;也就是说,配置发现和实例化/部署仍然是集中的。
在我看来,配置服务规范管理地图 - 我是否必须推出自己的配置服务和 FileInstall 才能呈现带有 xml/json/yaml 支持的结构化配置的组件?
- 相对于在属性中定义 xml 配置文件的位置 ...confiception ?并进行我自己的解析。
【问题讨论】: