OSGi中的模块层做了很多工作,来确保类加载以一种一致且可预期的方式实现。
Bundle是OSGi中的模块,其生命周期被OSGi所管理,可以被动态的安装、启动、停止和卸载。通过OSGi框架将多个Bundle组织在一起就形成了系统。每一个Bundle有独立于其他Bundle的ClassLoader,所以每个Bundle的内部实现都是隔离的。
生命周期API
Bundle激活器
public interface BundleActivator{
public void start(BundleContext context) throws Exception;
public void stop(BundleContext context) throws Exception;
一个Bundle被安装启动,框架将构建一个激活器的实例,并且触发start()方法,