[发明专利]一种基于ClassLoader实现定制开发的方法有效
申请号: | 201710422025.4 | 申请日: | 2017-06-07 |
公开(公告)号: | CN107133055B | 公开(公告)日: | 2020-04-24 |
发明(设计)人: | 陶富成 | 申请(专利权)人: | 百卓网络科技有限公司 |
主分类号: | G06F8/20 | 分类号: | G06F8/20;G06F8/30;G06F8/38;G06F8/60;G06F9/445 |
代理公司: | 南京瑞弘专利商标事务所(普通合伙) 32249 | 代理人: | 陈建和 |
地址: | 210000 江苏省南京市*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 classloader 实现 定制 开发 方法 | ||
一种基于ClassLoader实现定制开发的方法,在电子商务平台上的产品设计和实现基于J2EE架构的项目的定制:1)电子商务平台上按照个性化需求新创建J2EE架构的项目;2)编制1)中的新建项目;3)将新J2EE架构的项目打包成war包,并将该war包发布到应用服务器上,同时变更该war包的后缀名为plg或其他任务;当应用开始加载业务war包中的类时,利用预编制的ClassLoader加载器首先加载定制war包中的静态资源。
技术领域
本发明属于java开发的技术领域,具体涉及一种基于ClassLoader实现定制开发的方法。
背景技术
ClassLoader是用来动态加载class文件到虚拟机中的类加载器,当一个classloader加载一个Class的时候,这个Class所依赖的和引用的所有Class也由这个classloader负责载入。ClassLoader加载类的过程包括:(1)找到.class文件并把这个文件加载到内存中;(2)字节码验证,Class类数据结构分析,内存分配和符号表的链接;(3)类中静态属性和初始化赋值以及静态代码块的执行。
大部分电子商务平台上的产品规划、设计和实现主要是为了满足多数企业的通用的需求,没有处理各个企业在细节上一些业务操作或流程上的区别,为了满足这样的情况,就需要根据客户的要求对业务进行定制,但基于一个J2EE项目的定制,涉及到表、页面、流程及业务逻辑的更改,其比较通行的做法是切分支开发并维护。但这样的缺点是特别明显:
(1)版本维护很复杂。一个定制客户就需要一个版本,客户越多,版本量越大!
(2)开发维护量会很庞大。如:产品新增功能、修复bug等共性代码维护时,这些分支版本的维护成本很成倍增加!
(3)测试与发布复杂。要针对不同客户获取对应的分支代码、打包、测试等等一整套过程,工作效率低下且容易出错。
针对不同细分行业的用户所提出的定制化需求,目前通常采取的办法有两种,其一是分支开发,其二是插件模式;所述分支开发,是指针对不同的企业用户专门开辟一个分支,并在这个分支上进行定制化开发;但随着企业数量增加,分支逐渐增多,无疑将给后期的维护、升级等带来极为庞大的开销成本;所述插件开发,主要包含基于脚本等动态解释语言和基于特定插件接口进行扩展,前者主要利用脚本语言动态解释执行的能力,由于脚本语言不需要编译,因而无需提前构造类型,只需在每次调用时动态解释执行,对于开发展来说调整程序逻辑比较方便,但程序执行效率差,近适用于扩展需求不复杂的场景中;后者支持较复杂的业务逻辑,一般是编写一些遵循了某些特定规则的组件,主程序在启动或执行特定业务逻辑时通过静态调用或反射等方式装载该组件中的类型并执行相应代码,将暴露的扩展接口在内存中的地址传给组件,组件则根据这些地址来调用插件接口,从而实现对主程序功能的增强。插件开发是目前运用较多的一种方式,但受限于只能在原有的服务接口和插件接口基础上新增功能,不能改变原有的功能,只能被视为附加品。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于百卓网络科技有限公司,未经百卓网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710422025.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种关于茶文化的资讯APP
- 下一篇:智能设备升级恢复分区的方法和装置