[发明专利]一种热部署实体类组件在审

专利信息
申请号: 200810007889.0 申请日: 2008-02-27
公开(公告)号: CN101236503A 公开(公告)日: 2008-08-06
发明(设计)人: 鞠京佳;王晓菁 申请(专利权)人: 鞠京佳;王晓菁
主分类号: G06F9/445 分类号: G06F9/445
代理公司: 暂无信息 代理人: 暂无信息
地址: 100026北京市朝阳区*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 部署 实体 组件
【说明书】:

技术领域

发明所述的热部署实体类组件,是对Java语言中ORM(Object Relational Mapping,对象关系映射)功能的一种实现方式,用于实现数字媒体资源的数据信息交换和数据传输。

背景技术

ORM是一种为了解决面向对象与关系数据库中存在的互不匹配问题的技术,在多种编程语言中都有所应用的功能模块。Hibernate(开放源代码产品,在市场上是免费且广泛应用的)就是在Java领域中ORM功能的典型实现。Hibernate,呈现的是静态实体Bean到数据库的映射,而静态实体Bean是指程序运行之前已经预先定义好的具有一系列属性的数据类型,在运行时不具备扩展性,从而并不支持对动态实体Bean的热部署。

而所谓热部署,也称热管理,包含但不限于程序、插件、数据/数据库、或模块等等的热加载、热安装、和热御载,亦即当系统或者应用程序的结构、功能、内含的数据等有了增加或者减少等人为或非人为的改变后,无须重启整个该系统软件、数据库、者应用程序、或该其他系统,也能基本维持该系统或者应用程序当前正在运行时的状态,在照样发挥其原有功能情况下,同时也得以执行新功能的过程。

动态实体Bean是指在程序运行时创建的实体Bean,运行时具有很高的扩展性,可对属性内容进行增加。

如果不支持动态实体Bean,那么缺陷是明显的,即,在业务实体模型发生变化时,应用Hibernate的系统或者应用程序,就不能在所部署的系统未重启的情况下重新载入相应的实体类,从而无法即时完成实体模型到数据库表结构的映射。

发明内容

本发明主要针对Java Entity Bean,即Java实体类的热部署目标。这是一种用于热部署实体类的软件组件,命名为Yangtse,基于如下构架以及所带来的优点,来解决上述缺陷。

Yangtse参照JPA 1.0(即JEE5中关于ORM的规范)中的规范,来简化实现ORM。

实现Yangtse方案的内容如下:

先引入一个概念,类加载器,即ClassLoader。在Java中编译后的Java类文件是一个unicode,即统一码文件,当程序运行时JVM,即Java虚拟机(Java Virtual Machine),会根据实际需求去查找类文件,先把其变成字节码流,然后把它编译成可执行的二进制流,并且放到缓存中,在这个过程中,如果此类文件已经被加载和编译,以后使用此类时,将从缓存中直接取出,这样一个过程在JVM中是由一个类完成的,这个类就叫类加载器。

从而,在Java中对类实现热部署的原理,就是通过类加载器动态加载指定类的字节码和动态删除指定的类。本发明中,实现对实体类,即Entity Bean进行热部署的,就是基于此原理。本发明所述的Yangtse基于此原理,但又对类加载器查找类的顺序又进行了改进,以满足实际的需要。一般Java中类加载器查找类的默认顺序和Yangtse中实体类类加载器查找类系统,分别如图1中所示。

从图1的下图中能看出实体类加载器,即Entity ClassLoader,是从同级别的实体类加载器中载入类,不是从文件中载入类。从同级的实体类加载器中载入类,就意味着如果给每个实体类分配一个实体类加载器,那么此实体类就可被热部署。因此,在Yangtse中,每当添加一个可部署的实体类时,就给其分配一个实体类加载器;当卸载此实体类时,就删除此类所在的实体类加载器,然后将此实体类加载器交给Java垃圾器来处理,而且这些过程都不需要重新启动当前应用程序系统。

Yangtse完成对实体进行热部署过程的总流程如图2所示。图2中可见,将实体类字节码流添加到SessionFactory(Yangtse中,连接一个数据源时使用的会话工厂类,它负责创建同数据源的会话等功能,相当于JPA中的持久化单元,即Persistence Unit)中,然后SessionFactory调用前述的热部署过程的添加操作,并且返回编译后的Java类,即完成对实体类的添加功能;当向SessionFactory发送卸载指定类的指令时,SessionFactory调用上述热部署过程的卸载操作即完成对此实体类卸载的功能。在添加新的实体类过程,就是一个新创建的实体类加载器编译类字节码为类的过程。其中,JVM可自动调用图1下图所示的查找过程,来解决对其他类的依赖,尤其是对实体的依赖。

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

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于鞠京佳;王晓菁,未经鞠京佳;王晓菁许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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