0

我们在 Karaf 容器中运行了一个共享服务包,我们希望共享包在我们关闭容器时最后关闭。

我们想知道 org.apache.aries.blueprint.preemptiveShutdown = false 是否保证按启动级别顺序关闭捆绑包(启动级别较高的将首先关闭?)

4

1 回答 1

1

从理论上讲,是的,当容器被销毁时,此属性会禁用蓝图 aries 的默认行为。默认情况下(或当此属性为 true 时),当 bundle 0 停止时,所有蓝图容器都将被销毁。将此属性设置为 false 时,当包被框架停止时,蓝图容器将被销毁,使用 startlevel 以相反的顺序。

但这不是“保证”。这种扩展器通常使用异步策略:创建和销毁上下文可以由另一个线程处理。afaik,当前版本的 aries 看起来像是在停止捆绑时同步销毁蓝图上下文。

于 2016-02-02T15:43:07.423 回答