【问题标题】:Karaf OSGI blueprint cm:property-placeholder dows not load from cfg fileKaraf OSGI 蓝图 cm:property-placeholder dows 未从 cfg 文件加载
【发布时间】:2015-02-12 11:21:47
【问题描述】:

我的蓝图包含:

<cm:property-placeholder persistent-id="pool-service" update-strategy="reload">
    <cm:default-properties>
        <cm:property name="maxTotalPerKey" value="2" />
    </cm:default-properties>
</cm:property-placeholder>

我放置了包含 maxTotalPerKey=3 的 etc/pool-service.cfg

当我部署 jar 时,它选择值 2。如果我注释 cm:default-properties,它会因数字格式异常而失败,因此不会读取 cfg。

我有什么遗漏(maven 依赖、导入、配置……)吗?

谢谢, 维克托

【问题讨论】:

    标签: osgi configuration-files karaf blueprint


    【解决方案1】:

    配置文件不能包含-。更改 etc/PoolService.cfg 文件以使用:

    persistent-id="PoolService"
    

    【讨论】:

    • 你的配置文件不应该和包一样命名吗?即package.bundle.version?它应该匹配PID?
    • 嗯,persistent-id 定义了配置文件的名称,所以可以随意命名。捆绑包是 pool-service.jar
    • 难以置信。在我们的项目中花了几个小时调试一个类似的案例(persistent-id 中的破折号)后,我终于在这里偶然发现了这个话题。谢谢@ViktorD 分享这个解决方案!任何人都被非加载配置阻止 - 可能就是这种情况。
    猜你喜欢
    • 2016-09-01
    • 1970-01-01
    • 2013-06-22
    • 2016-09-30
    • 1970-01-01
    • 2016-07-13
    • 2017-12-10
    • 2013-02-26
    • 1970-01-01
    相关资源
    最近更新 更多