我们在 Karaf 容器中运行了一个共享服务包,我们希望共享捆绑包在关闭容器时最后关闭。
我们想知道 org.apache.aries.blueprint.preemptiveShutdown = 错误保证按启动级别顺序关闭捆绑包(启动级别较高的捆绑包将首先关闭?
从理论上讲,是的,此属性在容器被销毁时禁用蓝图白羊座的默认行为。默认情况下(或当此属性为 true 时),当捆绑包 0 停止时,将销毁所有蓝图容器。如果此属性为 false,则当框架停止捆绑包时,将销毁蓝图容器,以相反的顺序使用 startlevel。
但它不是"保证"。这种扩展器通常使用异步策略:创建和销毁上下文可以由另一个线程处理。AFAIK,当前版本的 Aries 看起来像是在捆绑包停止时同步销毁蓝图上下文。