【发布时间】:2015-09-15 03:29:17
【问题描述】:
我正在使用 Felix ConfigurationAdmin 1.8.6(包含在 OSGI enRoute 中),我无法让它处理文件夹中的文件。
我下载了源代码来看看发生了什么,但我仍然无法弄清楚......
首先,我添加了运行属性 felix.cm.dir,指定了我要配置我的服务的文件夹。从我看到的调试来看,它工作正常,但我的托管服务得到一个空属性映射。
接下来,我发现我的属性必须具有以下格式才能读取(带双引号):
key="value"
不过,我得到一个空属性映射...
然后我发现,在阅读了我的属性后,FilePersistenceManager.seek() 只有在字典不包含 service.pid 属性,或者它包含该属性并且它等于文件名时才返回字典.在比较之前,它用斜杠替换了点,所以它永远不等于......无论如何我最好不要指定 service.pid 属性,我不明白这一点。
当 Dictionary 返回 CachingPersistenceManagerProxy 时,只有当 Dictionary 包含 service.pid 或 factory.pid 属性时,它才会被缓存;这永远不会发生。
我错过了什么吗?
【问题讨论】:
标签: java osgi apache-felix