插件扩展装置和插件扩展方法制造方法及图纸

技术编号:8532594 阅读:142 留言:0更新日期:2013-04-04 15:28
本发明专利技术提供了一种插件扩展装置,包括:接口创建单元,用于在基于OSGi的应用开发平台中,创建至少一个静态扩展服务接口;扩展点定义单元,用于定义扩展点;扩展控制单元,用于调用所述静态扩展服务接口,并基于所述扩展点实现插件的扩展。本发明专利技术还提供了一种插件扩展方法。通过本发明专利技术的技术方案,可以在不重启系统的状态下,实现对插件的动态扩展;并且由于不需要使用引导文件,使得扩展过程更加稳定。

【技术实现步骤摘要】

本专利技术涉及应用开发
,具体而言,涉及一种插件扩展装置和一种插件扩 展方法。
技术介绍
OSGi (Open Service Gateway Initiative)技术是由 OSGi Alliance 组织制定的一个基于Java语言的服务规范-OSGi服务平台(Service Platform)。在基于OSGi的应用开发中,对于插件的扩展技术方面,最知名的是eclipse的扩展机制。Eclipse是著名的跨平台的自由集成开发环境(IDE)。最初主要用来Java语言开 发,目前亦有人通过插件使其作为C++、Python、PHP等其他语言的开发工具。Eclipse的本 身只是一个框架平台,但是众多插件的支持,使得Eclipse拥有较佳的灵活性。许多软件开 发商以Eclipse为框架开发自己的IDE。在进行插件扩展时,只需要根据eclipse的扩展定 义实现一个扩展,然后添加一个引导文件,当eclipse启动的时候就会把扩展加载进来,就 能够实现自定义eclipse的插件开发。但eclipse的扩展机制仍存在一些问题每次进行扩展时,都需要对系统进行重 启后才能够实现;同时,eslipse的扩展机制并不是总那么靠谱,比如在加载配置文件的过 程中,有时会出现无法加载的情况。因此,需要一种新的插件扩展技术,可以在不重启系统的状态下,实现对插件的动 态扩展;并且由于不需要使用引导文件,使得扩展过程更加稳定。
技术实现思路
本专利技术正是基于上述问题,提出了一种新的插件扩展技术,可以在不重启系统的 状态下,实现对插件的动态扩展;并且由于不需要使用引导文件,使得扩展过程更加稳定。有鉴于此,本专利技术提出了 一种插件扩展装置,包括接口创建单元,用于在基于 OSGi的应用开发平台中,创建至少一个静态扩展服务接口 ;扩展点定义单元,用于定义扩 展点;扩展控制单元,用于调用所述静态扩展服务接口,并基于所述扩展点实现插件的扩 展。在该技术方案中,通过创建静态扩展服务接口,从而实现对插件的扩展,充分利用 OSGi的插件隔离思想优势,在不需要对系统重启的前提下实现对插件的动态扩展。同时,由 于不需要使用引导文件,因而扩展的实现过程更为稳定。在上述技术方案中,优选地,所述扩展点定义单元定义所述扩展点的步骤包括定 义所述扩展点的命名空间和名字,以及定义对所述插件的扩展方法。在该技术方案中,根据用户需要扩展的插件,定义对应的扩展方法来进行处理。具 体地,可以为不同的插件预定义对应的处理方法,从而在定义扩展点时,选用需要的处理方法。在上述技术方案中,优选地,所述扩展控制单元包括扩展定义子单元,用于为所述插件的扩展定义与所述扩展点相同的命名空间和名字,并指定扩展所述插件时所需的资 源;以及资源加载子单元,用于按照定义的扩展方法,加载扩展所述插件时所需的资源。在该技术方案中,通过采用相同的命名空间和名字,在扩展点与扩展之间实现关 联;并按照定义扩展点时定义的扩展方法,实现对插件的扩展。在上述技术方案中,优选地,所述扩展控制单元还用于在需要移除所述插件时, 停止对所述静态扩展服务接口的调用,并删除扩展的插件及相应的扩展点。在该技术方案中,在实现对插件的动态扩展之后,若希望移除该插件,则由于扩展 过程是通过调用上述技术方案中的静态扩展服务接口实现的,因而可以直接停止调用该接 口,并通过删除对应的扩展和扩展点,从而实现对该插件的动态删除,同样不需要对系统进 行重启,最终实现对插件的热插拔。在上述技术方案中,优选地,所述扩展点定义单元还用于在定义所述扩展点时, 定义对所述插件的删除方法,以由所述扩展控制单元用于删除所述插件及相应的扩展点。在该技术方案中,根据不同类型的插件,在扩展之前,定义对应的删除方法。具体 地,可以根据插件的不同类型,预定义对应的删除方法,从而在实际使用时,根据需要选用 相应的方法。根据本专利技术的又一方面,还提出了一种插件扩展方法,包括步骤202,在基于 OSGi的应用开发平台中,创建至少一个静态扩展服务接口 ;步骤204,定义扩展点;步骤 206,调用所述静态扩展服务接口,并基于所述扩展点实现插件的扩展。在该技术方案中,通过创建静态扩展服务接口,从而实现对插件的扩展,充分利用 OSGi的插件隔离思想优势,在不需要对系统重启的前提下实现对插件的动态扩展。同时,由 于不需要使用引导文件,因而扩展的实现过程更为稳定。在上述技术方案中,优选地,定义所述扩展点的步骤包括定义所述扩展点的命名 空间和名字,以及定义对所述插件的扩展方法。在该技术方案中,根据用户需要扩展的插件,定义对应的扩展方法来进行处理。具 体地,可以为不同的插件预定义对应的处理方法,从而在定义扩展点时,选用需要的处理方法。在上述技术方案中,优选地,所述实现所述插件的扩展的步骤包括为所述插件的 扩展定义与所述扩展点相同的命名空间和名字,并指定扩展所述插件时所需的资源;以及 按照定义的扩展方法,加载扩展所述插件时所需的资源。在该技术方案中,通过采用相同的命名空间和名字,在扩展点与扩展之间实现关 联;并按照定义扩展点时定义的扩展方法,实现对插件的扩展。在上述技术方案中,优选地,还包括在需要移除所述插件时,停止对所述静态扩 展服务接口的调用,并删除扩展的插件及相应的扩展点。在该技术方案中,在实现对插件的动态扩展之后,若希望移除该插件,则由于扩展 过程是通过调用上述技术方案中的静态扩展服务接口实现的,因而可以直接停止调用该接 口,并通过删除对应的扩展和扩展点,从而实现对该插件的动态删除,同样不需要对系统进 行重启,最终实现对插件的热插拔。在上述技术方案中,优选地,还包括在定义所述扩展点时,定义对所述插件的删 除方法,以用于删除所述插件及相应的扩展点。在该技术方案中,根据不同类型的插件,在扩展之前,定义对应的删除方法。具体 地,可以根据插件的不同类型,预定义对应的删除方法,从而在实际使用时,根据需要选用 相应的方法。通过以上技术方案,可以在不重启系统的状态下,实现对插件的动态扩展;并且由 于不需要使用引导文件,使得扩展过程更加稳定。附图说明图1示出了根据本专利技术的实施例的插件扩展装置的框图2示出了根据本专利技术的实施例的插件扩展方法的流程图3示出了根据本专利技术的实施例的扩展插件的流程示意图。具体实施方式为了能够更清楚地理解本专利技术的上述目的、特征和优点,下面结合附图和具体实 施方式对本专利技术进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施 例及实施例中的特征可以相互组合。在下面的描述中阐述了很多具体细节以便于充分理解本专利技术,但是,本专利技术还可 以采用其他不同于在此描述的其他方式来实施,因此,本专利技术的保护范围并不受下面公开 的具体实施例的限制。图1示出了根据本专利技术的实施例的插件扩展装置的框图。如图1所示,根据本专利技术的实施例的插件扩展装置100,包括接口创建单元102, 用于在基于OSGi的应用开发平台中,创建至少一个静态扩展服务接口 ;扩展点定义单元 104,用于定义扩展点;扩展控制单元106,用于调用所述静态扩展服务接口,并基于所述扩 展点实现插件的扩展。在该技术方案中,通过创建静态扩展服务接口,从而实现对插件的扩展,充分利用 OSGi的插件隔离思想优势,在不需要对系统重启的前本文档来自技高网...

【技术保护点】
一种插件扩展装置,其特征在于,包括:接口创建单元,用于在基于OSGi的应用开发平台中,创建至少一个静态扩展服务接口;扩展点定义单元,用于定义扩展点;扩展控制单元,用于调用所述静态扩展服务接口,并基于所述扩展点实现插件的扩展。

【技术特征摘要】
1.一种插件扩展装置,其特征在于,包括 接口创建单元,用于在基于OSGi的应用开发平台中,创建至少一个静态扩展服务接Π ; 扩展点定义单元,用于定义扩展点; 扩展控制单元,用于调用所述静态扩展服务接口,并基于所述扩展点实现插件的扩展。2.根据权利要求1所述的插件扩展装置,其特征在于,所述扩展点定义单元定义所述扩展点的步骤包括 定义所述扩展点的命名空间和名字,以及定义对所述插件的扩展方法。3.根据权利要求2所述的插件扩展装置,其特征在于,所述扩展控制单元包括 扩展定义子单元,用于为所述插件的扩展定义与所述扩展点相同的命名空间和名字,并指定扩展所述插件时所需的资源;以及 资源加载子单元,用于按照定义的扩展方法,加载扩展所述插件时所需的资源。4.根据权利要求1至3中任一项所述的插件扩展装置,其特征在于,所述扩展控制单元还用于 在需要移除所述插件时,停止对所述静态扩展服务接口的调用,并删除扩展的插件及相应的扩展点。5.根据权利要求4所述的插件扩展装置,其特征在于,所述扩展点定义单元还用于 在定义所述扩展点时,定义对所述插件的删除...

【专利技术属性】
技术研发人员:仇大帅阳彪
申请(专利权)人:深圳中兴网信科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1