我有一个基于 DS 的组件,它具有 servicefactory 注释属性和 ConfigurationPolicy.REQUIRE。我正在使用 ConfigAdmin 创建此类服务的实例。
@Component(enabled = true, servicefactory = true,
service = ServiceFactoryTest.class,
configurationPid = "servicefactory1",
configurationPolicy = ConfigurationPolicy.REQUIRE)
public class AnComponentServiceFactoryForTest extends
AbstractComponentWithCompendium implements ServiceFactoryTest {
为了创建服务实例,我在扩展包中使用了以下 CM 服务方法:
configuration = getConfigurationAdminService()
.createFactoryConfiguration(
"servicefactory1", null);
configuration.update(new Hashtable<>(getPropertiesMap()));
假设我同时安装了包含该组件的捆绑包的多个版本。如何为特定版本创建配置?
我知道locator参数的存在,我之前把它设置为null只是因为我不知道使用哪个值。如何知道每个 DS 组件的期望值?