【技术实现步骤摘要】
一种在线编码动态生效的方法、装置、设备和介质
本专利技术涉及计算机
,特别涉及一种在线编码动态生效方法、装置、设备和介质。
技术介绍
敏捷开发是以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。鉴于敏捷开发的大潮流驱动,客户对于版本快速迭代的诉求越来越高。传统的软件版本迭代需要经过需求分析、代码编写、项目打包部署(前后端)、配置文件的修改等步骤。这样导致用户每一次的临时的需求变更都要重复这些繁琐的步骤,而且还可能因为相关类的修改导致其他应用受到牵连。因此java代码的在线编译应景而生,它能够根据控件的对应事件,执行对应的java增强(java代码在线编译)。前端编写java片段时不能动态编译,无法根据业务需求,实时变更java业务代码,从而无法适应业务频繁变更的场景,开发人员与实施人员无法避免高重复性的工作,效率低下。
技术实现思路
本专利技术要解决的技术问题,在于提供一种在线编码动态生效方法、装置、设备和介质,能根据业务需求,实时变更java业务代码,以适应业务频繁变更的场景, ...
【技术保护点】
1.一种在线编码动态生效的方法,其特征在于:包括下述步骤:/nS1、由前台控件的监听事件接受编写的增强代码,所述增强代码包括预先约定的用于获取页面参数的字符串,并将增强代码的代码片段、控件ID或者代码块名称、代码片段类型作为参数传递至后台;/nS2、后台接收到参数后,用正则匹配规则将代码片段中的用于获取页面参数的字符串按顺序替换成相对应的页面控件的值,得到替换完成的增强代码,再通过控件ID在当前mysql数据库中查询当前控件ID的最新版本号,并且生成一串用作class类名的随机字符串,读取事先写好的JavaTemplate的模版文件,解析之后拼上用作class类名的所述随机 ...
【技术特征摘要】 【专利技术属性】
1.一种在线编码动态生效的方法,其特征在于:包括下述步骤:
S1、由前台控件的监听事件接受编写的增强代码,所述增强代码包括预先约定的用于获取页面参数的字符串,并将增强代码的代码片段、控件ID或者代码块名称、代码片段类型作为参数传递至后台;
S2、后台接收到参数后,用正则匹配规则将代码片段中的用于获取页面参数的字符串按顺序替换成相对应的页面控件的值,得到替换完成的增强代码,再通过控件ID在当前mysql数据库中查询当前控件ID的最新版本号,并且生成一串用作class类名的随机字符串,读取事先写好的JavaTemplate的模版文件,解析之后拼上用作class类名的所述随机字符串,拼接完成后,连同参数替换完成的增强代码一并植入到JavaTemplate模版文件的函数体内,得到完整的.java的字符串,进而生成一份.java文件,然后通过编译工具编译成.class的文件;
S3、将所述.class的文件放置于服务器指定路径,并将这个类加载至jvm的内存当中;
S4、把前台传递过来的参数变成相应的bena实体携带上新的版本号与参数替换完成的增强一并存到mysql数据库当中。
2.根据权利要求1所述的一种在线编码动态生效的方法,其特征在于:所述获取页面参数的字符串包括:
#{},表示根据控件别名获取控件值;
#!{},表示根据前台API获取页面参数。
3.根据权利要求1所述的一种在线编码动态生效的方法,其特征在于:
步骤S3中,还包括将所述.class的文件上传至ftp文件服务器,并将该类的类名写到消息队列中。
4.根据权利要求3所述的一种在线编码动态生效的方法,其特征在于:步骤S2中的,对代码片段中的预先约定的字符串按顺序替换是将第一个参数替换成args.get(0),将第二个参数替换成args.get(1),以此类推。
5.一种在线编码动态生效的装置,其特征在于:包括:
前台控件,用于通过监听事件接受编写的增强代码,所述增强代码包括预先约定的用于获取页面参数的字符串,并将增强代码的代码片段、控件ID或者代码块名称、代码片段类型作为参数传递至后台;
技术研发人员:黄家昌,陈福平,杨辉,邱道椿,
申请(专利权)人:福建亿能达信息技术股份有限公司,
类型:发明
国别省市:福建;35
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。