一种类冲突问题的处理方法及装置制造方法及图纸

技术编号:13334825 阅读:51 留言:0更新日期:2016-07-12 10:23
本发明专利技术公开了一种类冲突问题的处理方法及装置,并以可视的方式给用户展示类冲突问题的原因和配置,其中,该方法包括:当对类进行加载的过程中出现类冲突问题时,根据类冲突问题配置加载机制;如果加载机制为父加载包机制,则在应用服务器AS和WEB模块中均包含有与类对应的类加载资源时,利用父类加载器对AS中包含的类加载资源进行加载;如果加载机制为WEB加载包机制,则在AS与WEB模块中均包含有类加载资源时,利用WEB类加载器对WEB模块中包含的类加载资源进行加载;在仅有AS中包含类加载资源时,利用父类加载器对AS中包含的类加载资源进行加载。通过本申请公开的上述技术特征,有效解决类冲突问题。

【技术实现步骤摘要】

本专利技术涉及类加载
,更具体地说,涉及一种类冲突问题的处理方法及装置
技术介绍
中间件的各大厂商例如TomcatJeblogic等处理WEB模块的类加载问题都有不同的策略,不同的策略就决定了其是否能最大限度地避免类加载问题。专利技术人发现,Tomcat用于处理WEB模块的类加载问题策略很少,且未提供有非委托策略;Weblogic用于WEB模块的类加载问题的策略复杂,且透明度不高。因此,在对类的加载过程中出现类冲突问题时,通常需要由专业工作人员根据个人经验对类冲突问题进行解决,进而造成人工成本较高,且经常出现由于专业工作人员的经验限制而无法有效解决类冲突问题的情况。即现有技术中并不存在一种能够对类冲突问题进行有效处理的技术方案。综上所述,如何提供一种对类冲突问题进行有效处理的技术方案,是目前本领域技术人员亟待解决的问题。
技术实现思路
本专利技术的目的是提供一种类冲突问题的处理方法及装置,以实现对于类冲突问题的有效处理。为了实现上述目的,本专利技术提供如下技术方案:—种类冲突问题的处理方法,包括:当对类进行加载的过程中出现类冲突问题时,根据所述类冲突问题配置加载机制;如果所述加载机制为父加载包机制,则在应用服务器AS和WEB模块中均包含有与所述类对应的类加载资源时,利用父类加载器对所述AS中包含的类加载资源进行加载;如果所述加载机制为WEB加载包机制,则在所述AS与所述WEB模块中均包含有所述类加载资源时,利用WEB类加载器对所述WEB模块中包含的类加载资源进行加载;在仅有所述AS中包含所述类加载资源时,利用所述父类加载器对所述AS中包含的类加载资源进行加载。优选的,还包括:当对类进行加载的过程中出现类冲突问题时,自动分析所述类冲突问题,得到分析结果;依据所述分析结果输出建议信息,所述建议信息包含对配置的加载机制的种类的具体建议。优选的,自动分析所述类冲突问题,得到分析结果之后,还包括:将所述分析结果以可视化的方式进行显示。优选的,根据所述类冲突问题配置加载机制,包括:获取外界输入的配置信息,所述配置信息携带有配置标识;配置与所述配置标识对应的配置机制。优选的,还包括:如果所述加载机制为父加载包机制,且所述AS中不包含所述类加载资源,则抛出异常;如果所述加载机制为WEB加载包机制,且所述AS中及所述WEB模块中均不包含所述类加载资源,则抛出异常。一种类冲突问题的处理装置,包括:配置模块,用于当对类进行加载的过程中出现类冲突问题时,根据所述类冲突问题配置加载机制;父加载包模块,用于如果所述加载机制为父加载包机制,则在应用服务器AS和WEB模块中均包含有与所述类对应的类加载资源时,利用父类加载器对所述AS中包含的类加载资源进行加载;WEB加载包模块,用于如果所述加载机制为WEB加载包机制,则在所述AS与所述WEB模块中均包含有所述类加载资源时,利用WEB类加载器对所述WEB模块中包含的类加载资源进行加载;在仅有所述AS中包含所述类加载资源时,利用所述父类加载器对所述AS中包含的类加载资源进行加载。优选的,还包括:分析模块,用于:当对类进行加载的过程中出现类冲突问题时,自动分析所述类冲突问题,得到分析结果;依据所述分析结果输出建议信息,所述建议信息包含对配置的加载机制的种类的具体建议。优选的,还包括:显示模块,用于将所述分析结果以可视化的方式进行显示。优选的,配置模块包括:配置单元,用于:获取外界输入的配置信息,所述配置信息携带有配置标识;配置与所述配置标识对应的配置机制。优选的,还包括:异常抛出模块,用于:如果所述加载机制为父加载包机制,且所述AS中不包含所述类加载资源,则抛出异常;如果所述加载机制为WEB加载包机制,且所述AS中及所述WEB模块中均不包含所述类加载资源,则抛出异常。本专利技术提供的一种类冲突问题的处理方法及装置,其中,该方法包括:当对类进行加载的过程中出现类冲突问题时,根据所述类冲突问题配置加载机制;如果所述加载机制为父加载包机制,则在应用服务器AS和WEB模块中均包含有与所述类对应的类加载资源时,利用父类加载器对所述AS中包含的类加载资源进行加载;如果所述加载机制为WEB加载包机制,则在所述AS与所述WEB模块中均包含有所述类加载资源时,利用WEB类加载器对所述WEB模块中包含的类加载资源进行加载;在仅有所述AS中包含所述类加载资源时,利用所述父类加载器对所述AS中包含的类加载资源进行加载。通过本申请公开的上述技术特征,在出现类冲突问题之后,自动根据类冲突问题配置加载机制,其中,加载机制包括父加载包机制或者WEB加载包机制,并且,实验证明,通过配置父加载包机制或WEB加载包机制能够有效的对对应的类冲突问题进行解决,即本申请提供的上述技术方案能够有效解决类冲突问题,且,无需专业工作人员利用个人经验解决类冲突问题,由此,降低了人工成本,提升了用户体验。【附图说明】为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本专利技术实施例提供的一种类冲突问题的处理方法的流程图;图2为本专利技术实施例提供的一种类冲突问题的处理装置的结构示意图;图3为本专利技术实施例提供的一种类冲突问题的处理方法中InforsuiteAS的类加载层次树示意图;图4为本专利技术实施例提供的一种类冲突问题的处理方法中InforsuiteAS的类加载策略图。【具体实施方式】下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。请参阅图1,其示出了本专利技术实施例提供的一种类冲突问题的处理方法的流程图,可以包括以下步骤:Sll:当对类进行加载的过程中出现类冲突问题时,根据类冲突问题配置加载机制。需要说明的是,类冲突问题与现有技术中出现的类冲突问题一致,如找不到需要加载的类,或者对类进行加载的方法与类不对应导致无法对类进行加载等,在此不再赘述。另外,本专利技术实施例提供的一种类冲突问题的处理方法可以基于InforsuiteAS实现,且,现有技术中的InforsuiteAS采用的为委托机制,在委托机制下,WEB类加载器在加载之前,委托父类加载器进行加载,如果父类加载器无法加载一个类,再由WEB类加载器对其进行加载,即WEB类加载器只负责加载父类加载器加载不到的类,父类加载器对类的加载优先于WEB类加载器。而通过本申请中公开的上述技术特征,能够通过配置的方式为InforsuiteAS增加非委托机制,即WEB类加载器对类的加载优先于父类加载器。S12:如果加载机制为父加载包机制,则在应用服务器AS(Applicat1n Server)和WEB模块中均包含有与类对应的类加载资源时,利用父类加载器对AS中包含的类加载资源进行加载。具体来说,配置父加载包机制,主要考虑到JEE规范建议尽量从JEE服务器获取类加载资源,并且有些类加载资源一定得从父本文档来自技高网...

【技术保护点】
一种类冲突问题的处理方法,其特征在于,包括:当对类进行加载的过程中出现类冲突问题时,根据所述类冲突问题配置加载机制;如果所述加载机制为父加载包机制,则在应用服务器AS和WEB模块中均包含有与所述类对应的类加载资源时,利用父类加载器对所述AS中包含的类加载资源进行加载;如果所述加载机制为WEB加载包机制,则在所述AS与所述WEB模块中均包含有所述类加载资源时,利用WEB类加载器对所述WEB模块中包含的类加载资源进行加载;在仅有所述AS中包含所述类加载资源时,利用所述父类加载器对所述AS中包含的类加载资源进行加载。

【技术特征摘要】

【专利技术属性】
技术研发人员:陈芳芳高隆林韩峰何忠胜赵欣李得亮
申请(专利权)人:山东中创软件工程股份有限公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1