gpt4 book ai didi

OSGi ConfigAdmin 不清楚更新字典的值类型

转载 作者:行者123 更新时间:2023-12-02 08:59:47 24 4
gpt4 key购买 nike

OSGi ConfigAdmin 将一个 Dictionary 实例传递给 ManagedService.updated();然后,服务预计会从字典中提取新值。这很棒并且工作正常,但到目前为止我在任何地方都找不到解释的一件事是字典值类型是否应该是特定的(整数、长整型、浮点型、 bool 型)或托管服务随后解析的通用字符串/自行转换为合适的形式,而不是期望正确的值类型。

这种差异似乎无害,但对子系统/层耦合具有相当严重的后果,因为字典的创建者和 ManagedService 显然必须就值类型达成一致。

到目前为止,我还没有找到任何关于此的建议;规范和几乎所有现有示例完全忽略该问题并使用特定类型或无类型字符串。

我遗漏了什么还是这确实未指定?

最佳答案

这个问题有两个答案。首先,看一下 MetaType 服务,它允许您配置的包声明它们接受的所有字段和类型。

但恕我直言,最好让您的 ManagedService(Factory) 实现在面对各种数据格式时保持稳健。特别是,确保它们始终能够将字符串作为最后的手段,即使首选其他数据类型也是如此。这是因为某些管理代理要么忽略 MetaType 服务,要么无法提供字符串以外的任何类型的数据。 Felix FileInstall 是一个很好的例子:它只是读取一个属性文件,因此将所有内容都视为字符串。

严格发送信息,但慷慨接收信息。

关于OSGi ConfigAdmin 不清楚更新字典的值类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2200214/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com