3

在我的 Karaf 容器中,我通常使用 etc/*.cfg 文件来配置我的服务。但是,我继承了一个使用元类型的服务,并期望其中一个属性是 Long 而不是 String(它在字符串上崩溃)。我应该采取什么技术来提供这些属性?

我发现了一种潜在的解决方案,但我陷入了困境。Felix 为 .config 文件提供了另一种语法,其语法如下:

key = type "value"

其中“type”是该类型的单字符代码(例如“L”表示 Long)。我将过滤器更改为:

felix.fileinstall.filter = .*\\.(cfg|config)

到目前为止,一切都很好。通过调试器,我可以看到 Felix 正在读取文件,但结果字典返回为空且没有错误。(我不能轻易调试,因为 org.apache.felix.fileinstall-3.2.2-sources.jar 缺少 ConfigurationHandler.java,它被另一个 jar 遮住了......)

我是否走在正确的道路上,我应该尝试修复我的 .config 语法?或者这是我应该避免并使用其他技术的遗留语法?

更新:我通过修复 .config 文件中的语法错误部分解决了我的“空字典”问题(它比我预期的更挑剔)。我的另一个问题仍然存在:这是一个好方法,还是有更好的方法?

4

0 回答 0