在Eclipse下使用Bndtools的Apache Felix FileInstall配置

时间:2015-12-19 16:51:45

标签: osgi osgi-bundle bnd bndtools

我在Eclipse Mars下使用Bndtools插件。 在一个项目中,我需要Apache FileInstall包,我在Run描述符下的“Run Requirements”中选择了它。 捆绑是活跃的。

我无法理解如何获取FileInstall的当前参数(如poll,目录以查看配置文件等),因此我不知道将配置文件放在哪个实现ManagedService的类中。

如果我尝试在VM参数下添加以下行...

-Dfelix.fileinstall.dir = /家庭/ ppatierno /下载

Config Admin服务在几秒钟后进入停止状态。

如果我没有在“运行要求”下添加FileInstall软件包,但是从apache felix控制台安装并启动它,它会启动并变为活动状态,但不会在属性上面打印主配置。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我不确定这对你有帮助吗?我使用FileInstaller所做的是:

我部署了一个功能:

<feature name="myFeature" version="${myproject.version}">        
    <configfile finalname="/my/path/myConfig.cfg" override="false">mvn:my.group/artifact.with.the.conf.file.in.nexus/${myproject.version}/cfg/configuration</configfile>
    <bundle>mvn:my.group/artifact.with.the.feature.impl/${project.version}</bundle>
</feature>

此复制my/path/中的配置文件,然后将该文件部署为名为myConfig的服务。然后,为了获得更新,我在配置程序(ManagedService)启动时注册它,如下所示:

    Hashtable <String, Object> properties = new Hashtable<String, Object>();
    properties.put(Constants.SERVICE_PID, "myConfig");
    myService = context.registerService (ManagedService.class.getName(),this , properties);