在讲解之前,我们应该明白如何学习这些osgi包。
官网上讲得很详细。附网址:https://osgi.org/javadoc/r4v43/core/index.html
在这里,只讲一些笔者觉得相对重要的。在工程中经常会出现下面四个osgi包
import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;
import org.osgi.framework.ServiceListener;
import org.osgi.framework.ServiceEvent;
一、org.osgi.framework.BundleActivator;
定制bundle的启动和停止
有两个方法:
void start(BundleContext context)
当这个bundle启动时框架会调用start()方法
void stop(BundleContext context)
当bundle停止时,框架会调用stop()方法
二、org.osgi.framework.BundleContext;
BundleContext是一个OSGi框架传递给我们的Bundle的一个魔力入场券。当代码需要在任何时候与框架交互时,你将用到BundleContext。
事实上这是用OSGi API交互的唯一方法,并且框架在Bundle启动的时候将这些入场券发通过它们的BundleActivator发给每一个Bundle。
当 Bundle 启动的时候, OSGi 框架就创建这个 Bu