如果在其激活方法中引发特定异常,如何停用当前捆绑包?
public void activate(BundleContext bundleContext) {
try{
if(something) throw new Exception();
} catch(Exception e) {
//deactivate bundle...
}
}
我假设您正在谈论声明式服务组件,在这种情况下,您可以让 activate 方法引发异常(也许将其包装在运行时异常中),在这种情况下,组件将不会被激活。
不过,您应该意识到 DS 运行时可能会多次尝试激活它。
这里有一个非常相似的问题