OSGI类加载问题
看《深入理解OSGI》(作者:周志明)书遇到的一个问题,OSGI中Fragement Bundle木有自己的类加载器,它与Host Bundle公用同一个累加器器,但是书中说在OSGI环境下,当收到类加载请求时,OSGI将按照下面的顺序进行类搜索:
1:将以java.*开头的类委派给父类加载器加载;
2:否则,将委派列表名单内的类委派给父类加载器加载;
3:否则,将import列表中的类委派给export这个类的bundle的类加载器加载;
4:否则,查找当前Bundle的classpath,使用自己的类加载器加载;
5:否则,查找类是否在自己的Fragement Bundle中,如果在,则委派给Fragement Bundle的类加载器加载;
6:否则,查找Dynamic Import列表的Bundle,如果在,则委托给Bundle的类加载器加载;
7:否则,类查找失败。
我的疑惑点如下:
既然Fragement Bundle木有自的类加载器,第五条又说委托给Fragement Bundle的类加载器加载,这单是不是有矛盾。
菜鸟一枚,是我自己理解的不到位,还是作者的笔下之误呢?