我在Eclipse Mars下使用Bndtools插件。在一个项目中,我需要Apache FileInstall捆绑包,并且我已经在Run描述符下的"Run Requirements"中选择了它。捆绑包处于活动状态。
我不知道如何获得FileInstall的当前参数,如poll、用于监视配置文件的目录等等,所以我不知道将实现ManagedService的类的配置文件放在哪里。
如果我尝试在VM参数下添加以下行。。。
-Dfelix.fileinstall.dir=/home/patierno/Downloads
配置管理服务在几秒钟后进入停止状态。
如果我不在"Run Requirements"下添加FileInstall捆绑包,而是从apachefelix控制台安装并启动它,它会启动并变为活动的,但不会打印上面属性的主要配置。
知道吗?
我不确定这是否对您有帮助。我使用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);