OSGI

1、OSGI

为了实现代码热替换,模块化和动态化,就像鼠标一样即插即用,双亲委派这种树状的加载器就难以胜任,于是出现了 OSGI 加载模型,OSGI 里每个程序模块(Bundle,就是普通的 jar 包, 只是加入了特殊的头信息,是最小的部署模块)都会有自己的类加载器,当需要更换程序时,就连同 Bundle 和类加载器一起替换,是一种网状的加载模型,Bundle 间互相委托加载,并不是层次化的。

Java 类加载机制的隔离是通过不同类加载器加载指定目录来实现的,类加载的共享机制是通过双亲委派模型来实现,而 OSGI 实现隔离靠的是每个 Bundle 都自带一个独立的类加载器 ClassLoader。

2、helloworld

1、eclipse 下 new 一个 plug-in project

2、选择 an OSGI framework : Equinox

3、第一次新建,勾选一下jre 比如你用的jdk 1.6 ,点开之后选择 environment JavaSE 1.6,然后勾选你的jdk路径

4、然后可以使用Hello OSGI 模版

5、然后run as 里面配置一下 run configration,选择以下几项:

  • 项目本身 bundle
  • org.eclipse.equinox.console
  • org.apache.felix.gogo.* (这里有三项,command,shell,runtime)

6、最后apply,run

7、然后可以使用osgi> 控制台 命令 ss 查看bundles 启动情况

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值