我刚刚实现了一个使用org.osgi.service.cm.ManagedService
和org.osgi.service.metatype.MetaTypeProvider
的OSGi捆绑包,以允许 ConfigurationAdmin 处理其配置。 Bundle在updated(Dictionary<String, ?>)
方法中进行了一些检查,例如检查文件路径是否有效等。如果发现错误,则会抛出ConfigurationException
。
当我添加&#34;坏&#34;数据到配置,实际上抛出了一个ConfigurationException,正如我在日志中看到的那样,但 WebConsole 中没有错误的概念。
所以:当我进入Karaf WebConsole进入 OSGi-&gt; Configuration ,并持续一些使bundle抛出ConfigurationException的配置时,WebConsole就会继续,好像没有发生错误一样。当我再次打开配置时,错误值仍会在配置中列出,即使它从未应用到我的捆绑包中。
这是预期的行为吗?我无法在保存导致ConfigurationException的错误数据时看到逻辑。 如果这不是预期的行为,那么你知道我做错了什么吗?
我正在使用:
Karaf 4.0.1
Metatype 1.0.12
ConfigAdmin 1.8.4