Pav*_*hos 11 java configuration osgi
我们正在考虑使用Configuration Admin Service作为主要API来配置基于OSGi的应用程序中的组件.如果我们可以重用一些现有的实现,那将是很好的,所以我试图调查和评估最流行的实现.我知道有:
是否还有其他实现需要考虑?
此外,我无法找到这些实现的任何好文档.我将主要关注特定于实现的细节.例如,我想知道不同的实现如何持久保存配置数据(例如,多个属性文件?XML文件?多个XML文件?数据库?,...).
Felix的Configuration Admin有一个默认的实现,它持久存储到文件系统,但它们为可以插入的备用后端定义了一个服务接口(org.apache.felix.cm.PersistenceManager).
默认实现执行以下操作:
FilePersistenceManager类将配置数据存储在给定目录中的属性类文件中.所有配置文件都位于同一目录中.
通过将扩展名".config"附加到配置的PID,可以在配置目录中创建配置文件.通过将包围的点替换为斜杠,将PID转换为相对路径名.PID中的非符号名称字符使用十六进制的Unicode字符代码进行编码.
我所知道的三个公开实现是
Equinox的ConfigurationAdmin服务实现似乎不支持对持久性策略的精细控制,就像Felix那样,并且Knopflerfish实现看起来(我只是简单地阅读了源代码)类似于Equinox的.
Felix one似乎是最近更新和最可靠的.
目前这些是我能找到的唯一的; 在dm Server,我们决定使用Felix的捆绑包,现在可以从SpringSource Enterprise Bundle Repository获得,您可以在其中快速搜索Apache Felix或ConfigAdmin.