【技术实现步骤摘要】
一种Java软件热更新的方法和装置
本专利技术涉及服务应用
,具体来说,涉及一种Java软件热更新的方法和装置。
技术介绍
在持续交付的时代,重新部署一个新的版本只需要点击一下按钮,但在有的情况下,重新部署过程可能比较复杂,停机是不被允许的,为了使应用不中断持续提供应用,在不重启应用的前提下持续提供服务,又称热更新。JAVA热更新技术一直在不断的更新进步,目前涉及到的技术主要有三个,一是高可用,描述一个系统经过专门的设计,从而减少停工时间,而保持其服务的高度可用性;二是Java类加载器(JavaClassloader),是Java运行时环境(JavaRuntimeEnvironment)的一部分,负责动态加载Java类到Java虚拟机的内存空间中;三是应用服务系统,提供若干个服务的应用服务系统;每个服务都有独立的输入及输出。但是目前基于Java应用的服务通常由java来实现服务能力,服务能力的发布,需要在应用运行态时更新class文件,需要进行停启操作,而停启过程会导致应用服务中断,降低了系统的可用性。 ...
【技术保护点】
1.一种Java软件热更新的方法,其特征在于,包括如下步骤:/nS1:应用部署,在Java运行虚拟机中部署应用框架,导入已包含所需组件库及其它运行资源包类库的应用运行包,在应用运行后,不再加载新的运行类库,此时的应用只有一个基础内核;/nS2:应用部署完成以后,增加新服务实例,通过在服务实例中在组件库模块中调用2个组件,发布服务编排资源文件到应用资源目录;/nS3:通过客户端测试,查看S2中的新服务实例是否生效,若新服务实例未生效,则重新发布服务编排资源文件到应用资源目录,直至新服务实例生效;否则,继续下一步;/nS4:更新S2中的服务实例,通过调整在组件库模块中调用组件的 ...
【技术特征摘要】 【专利技术属性】
1.一种Java软件热更新的方法,其特征在于,包括如下步骤:
S1:应用部署,在Java运行虚拟机中部署应用框架,导入已包含所需组件库及其它运行资源包类库的应用运行包,在应用运行后,不再加载新的运行类库,此时的应用只有一个基础内核;
S2:应用部署完成以后,增加新服务实例,通过在服务实例中在组件库模块中调用2个组件,发布服务编排资源文件到应用资源目录;
S3:通过客户端测试,查看S2中的新服务实例是否生效,若新服务实例未生效,则重新发布服务编排资源文件到应用资源目录,直至新服务实例生效;否则,继续下一步;
S4:更新S2中的服务实例,通过调整在组件库模块中调用组件的个数为3个,更新服务编排资源文件到应用资源目录;
S5:通过客户端测试,查看S4中的服务实例是否更新,若服务实例未更新,则重新更新服务编排资源文件到应用资源目录,否则,继续下一步;
S6:卸载S4中的服务实例,从应用资源目录删除服务实例的服务编排资源文件;
S7:通过客户端测试,查看S6中的服务实例是否存在,若服务不存在,则重新从应用资源目录删除服务A的服务编排资源文件,否则忽略。
2.根据权利要求1所述的一种Java软件热更新的方法,其特征在于,对于步骤S2和步骤S4,所述组件库中的组件均由javaclass实现,提供独立的输入及输出的功能。
3.一种Java软件热更新的装置,其特征在于,包括数据栈模块、组件库模块、服务编排模块和资源装卸模块四大模块;
所述数据栈模块用于软件更新方法中,在接收数据请求时产生数据,在请求处理完成后清理数据;
技术研发人员:陈益玲,何本强,
申请(专利权)人:北京东方国信科技股份有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。