[发明专利]基于OSGi的服务转换方法和装置有效

专利信息
申请号: 201110086817.1 申请日: 2011-04-07
公开(公告)号: CN102158490A 公开(公告)日: 2011-08-17
发明(设计)人: 刘鹏;刘春 申请(专利权)人: 山东中创软件商用中间件股份有限公司
主分类号: H04L29/06 分类号: H04L29/06;H04L29/08
代理公司: 北京集佳知识产权代理有限公司 11227 代理人: 逯长明
地址: 250014 山*** 国省代码: 山东;37
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 osgi 服务 转换 方法 装置
【权利要求书】:

1.一种基于OSGi的服务转换方法,其特征在于,包括:

进行编码,基于DService框架的项目管理模块maven增加元数据内容,并织入构件实现类;

当OSGi平台启动时,在DService框架中对构件实例的元数据进行配置,在OSGi的Bundle中声明组件构件实例的方面构件;

读取宿主实例对所述方面实例的元数据和宿主实例配置信息;

初始化方面构件工厂和方面实例,启动构件实例中的方面实例,获取valid或invalid两种状态中任一状态的方面实例;

当构件实例状态进行切换时,遍历通知所述构件实例中拥有的方面实例更改状态;

与构件实现类实例化的对象POJO进行交互,直接通过元数据获取宿主构件的类型信息,由确定状态的方面实例为宿主实例的字段注值。

2.根据权利要求1所述的方法,其特征在于,所述声明组件实例的方面构件包括:为所述方面构件声明唯一的XML命名空间和名称。

3.根据权利要求1所述的方法,其特征在于,包括:一个所述Bundle中声明多个组件实例的方面构件;

当一个所述Bundle中声明多个组件实例的方面构件时声明服务构件使用该方面构件。

4.根据权利要求1所述的方法,其特征在于,初始化方面构件工厂的过程包括:

当DService框架检测到Bundle启动、所述Bundle配置有DService元数据,以及所述元数据中声明有通过DService根节点名称和XML命名空间确定唯一的方面构件时,DService框架查找Bundle中的方面构件实现类,由工厂创建用于调用initializeComponentFactory方法所对应的临时方面构件对象;

输入构件实例中声明的方面构件元数据。

5.根据权利要求1所述的方法,其特征在于,初始化方面构件工厂完成后,进行初始化方面实例的过程包括:

DService框架为每一个构件实例创建所配置的方面实例;

调用方面实例的configure方法,输入构件定义的元数据,完成方面实例的初始化。

6.根据权利要求1所述的方法,其特征在于,启动构件实例中的方面实例,获取Valid和Invalid两种状态中任一状态的方面实例的过程包括:

调用start方法之前,启动方面实例中的所有声明需要的子方面实例;

调用start方法之后,检测方面实例的当前状态,当所述方面实例中使用的所有的子方面实例状态为Valid,则所述方面实例的状态为Valid;

当所述方面实例中使用的所有子方面实例状态有一个为invalid,则所述方面实例的状态为Invalid。

7.根据权利要求1所述的方法,其特征在于,当方面实例状态进行切换时,遍历通知所述构件实例中拥有的方面实例更改状态的过程包括:

当构件实例的状态从Invalid变为Valid时,遍历通知所述构件实例中拥有的方面实例改变状态为Valid;

当构件实例的状态从Valid变为Invalid时,遍历通知所述构件实例中拥有的方面实例改变状态为Invalid。

8.根据权利要求1所述的方法,其特征在于,还包括:

当构件实例停止时,所述构件实例的所有方面构件调用stop方法,进入停止状态。

9.根据权利要求1所述的方案,其特征在于,在与构件实现类实例化的对象POJO进行交互的过程中,还包括:

当宿主实例的POJO对象中的公共方法被调用前或后,出现错误时,由方面实例拦截所述宿主实例的所有公共方法。

10.一种基于OSGi的服务转换装置,其特征在于,包括:

编码织入模块,用于进行编码,基于DService框架的项目管理模块maven增加元数据内容,并织入构件实现类;

配置声明模块,用于在OSGi平台启动时,在服务构件元数据中对构件实例进行配置,声明组成构件实例的方面构件;

读取模块,用于读取宿主实例对所述方面实例的元数据和宿主实例配置信息;

初始模块,用于初始化方面构件工厂和方面实例,启动构件实例中的方面实例;

获取模块,用于获取Valid和Invalid两种状态的方面实例;

切换模块,用于当所述Valid和Invalid两种状态的方面实例进行切换时,遍历通知所有构件实例中拥有的方面实例更改状态;

注值模块,用于与构件实现类实例化的对象POJO进行交互,直接通过元数据获取宿主构件的类型信息,由确定状态的方面实例为宿主实例的字段注值。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东中创软件商用中间件股份有限公司,未经山东中创软件商用中间件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201110086817.1/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top