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