[发明专利]OSGi中应用资源加载委派反转机制的模块间资源加载方法有效
申请号: | 201310291411.6 | 申请日: | 2013-07-11 |
公开(公告)号: | CN103365690A | 公开(公告)日: | 2013-10-23 |
发明(设计)人: | 曹春;马晓星;吕建 | 申请(专利权)人: | 南京大学 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 南京知识律师事务所 32207 | 代理人: | 张苏沛 |
地址: | 210023 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | osgi 应用 资源 加载 委派 反转 机制 模块 方法 | ||
1.一种OSGi中应用资源加载委派反转机制的模块间资源加载方法,其特征在于:让资源需求模块根据标识来选择是否使用本方法,需要一个支持OSGi资源加载委派反转机制流程的类加载器并将该类加载器设置为当前线程上下文类加载器,而原线程上下文类加载器设置为该类加载器的父类加载器,其中的资源加载委派反转机制流程是先取资源同步锁;然后检测是否使用安全管理器,根据安全管理器的使用与否决定是否使用特权模式来保证执行取出当前线程运行堆栈的操作;在取到当前线程运行堆栈后,获取其中每个类的类加载器,并滤除非OSGi模块的类加载器,而重复的类加载器仅保留一个;接着查看与这些类加载器对应的模块是否含有资源标识,其中具有资源标识的放入目标队列;将资源加载请求委派给目标队列中的模块的类加载器完成;若加载仍不成功,再用父类加载器加载;最后释放资源锁。
2.根据权利要求1所述的OSGi中应用资源加载委派反转机制的模块间资源加载方法,其特征在于,资源加载方法的标识使用OSGi的MANIFEST属性来完成,分别为定义的方法使用标识TCLDelegate属性和资源标识TCLResource属性。
3.根据权利要求1所述的OSGi中应用资源加载委派反转机制的模块间资源加载方法,其特征在于,资源加载方法中的资源加载委派反转机制流程中取得资源同步锁的方式,是通过对当前线程上下文类加载器同步来保证此加载过程的同步性。
4.根据权利要求1所述的OSGi中应用资源加载委派反转机制的模块间资源加载方法,其特征在于,资源加载方法中的资源加载委派反转机制流程中使用特权模式以突破安全管理器的限制。
5.根据权利要求1所述的OSGi中应用资源加载委派反转机制的模块间资源加载方法,其特征在于,资源加载方法中的资源加载委派反转机制流程中特权模式的实现是通过让资源加载方法的类加载器去继承PrivilegedAction接口,将特权方法放在本类加载器继承的接口方法中来完成。
6.根据权利要求1所述的OSGi中应用资源加载委派反转机制的模块间资源加载方法,其特征在于,资源加载方法中的资源加载委派反转机制流程中取得当前运行栈中的类是通过使用一个类继承SecurityManager类,并在此类的方法中去调用SecurityManager的getClassContext方法来完成。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310291411.6/1.html,转载请声明来源钻瓜专利网。