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

文档序号:9929408阅读:197来源:国知局
一种类冲突问题的处理方法及装置的制造方法
【技术领域】
[0001 ]本发明涉及类加载技术领域,更具体地说,涉及一种类冲突问题的处理方法及装置。
【背景技术】
[0002]中间件的各大厂商例如TomcatJeblogic等处理WEB模块的类加载问题都有不同的策略,不同的策略就决定了其是否能最大限度地避免类加载问题。
[0003]发明人发现,Tomcat用于处理WEB模块的类加载问题策略很少,且未提供有非委托策略;Weblogic用于WEB模块的类加载问题的策略复杂,且透明度不高。因此,在对类的加载过程中出现类冲突问题时,通常需要由专业工作人员根据个人经验对类冲突问题进行解决,进而造成人工成本较高,且经常出现由于专业工作人员的经验限制而无法有效解决类冲突问题的情况。即现有技术中并不存在一种能够对类冲突问题进行有效处理的技术方案。
[0004]综上所述,如何提供一种对类冲突问题进行有效处理的技术方案,是目前本领域技术人员亟待解决的问题。

【发明内容】

[0005]本发明的目的是提供一种类冲突问题的处理方法及装置,以实现对于类冲突问题的有效处理。
[0006]为了实现上述目的,本发明提供如下技术方案:
[0007]—种类冲突问题的处理方法,包括:
[0008]当对类进行加载的过程中出现类冲突问题时,根据所述类冲突问题配置加载机制;
[0009]如果所述加载机制为父加载包机制,则在应用服务器AS和WEB模块中均包含有与所述类对应的类加载资源时,利用父类加载器对所述AS中包含的类加载资源进行加载;
[0010]如果所述加载机制为WEB加载包机制,则在所述AS与所述WEB模块中均包含有所述类加载资源时,利用WEB类加载器对所述WEB模块中包含的类加载资源进行加载;在仅有所述AS中包含所述类加载资源时,利用所述父类加载器对所述AS中包含的类加载资源进行加载。
[0011]优选的,还包括:
[0012]当对类进行加载的过程中出现类冲突问题时,自动分析所述类冲突问题,得到分析结果;
[0013]依据所述分析结果输出建议信息,所述建议信息包含对配置的加载机制的种类的具体建议。
[0014]优选的,自动分析所述类冲突问题,得到分析结果之后,还包括:
[0015]将所述分析结果以可视化的方式进行显示。
[0016]优选的,根据所述类冲突问题配置加载机制,包括:
[0017]获取外界输入的配置信息,所述配置信息携带有配置标识;
[0018]配置与所述配置标识对应的配置机制。
[0019]优选的,还包括:
[0020]如果所述加载机制为父加载包机制,且所述AS中不包含所述类加载资源,则抛出异常;
[0021]如果所述加载机制为WEB加载包机制,且所述AS中及所述WEB模块中均不包含所述类加载资源,则抛出异常。
[0022]一种类冲突问题的处理装置,包括:
[0023]配置模块,用于当对类进行加载的过程中出现类冲突问题时,根据所述类冲突问题配置加载机制;
[0024]父加载包模块,用于如果所述加载机制为父加载包机制,则在应用服务器AS和WEB模块中均包含有与所述类对应的类加载资源时,利用父类加载器对所述AS中包含的类加载资源进行加载;
[0025]WEB加载包模块,用于如果所述加载机制为WEB加载包机制,则在所述AS与所述WEB模块中均包含有所述类加载资源时,利用WEB类加载器对所述WEB模块中包含的类加载资源进行加载;在仅有所述AS中包含所述类加载资源时,利用所述父类加载器对所述AS中包含的类加载资源进行加载。
[0026]优选的,还包括:
[0027]分析模块,用于:当对类进行加载的过程中出现类冲突问题时,自动分析所述类冲突问题,得到分析结果;依据所述分析结果输出建议信息,所述建议信息包含对配置的加载机制的种类的具体建议。
[0028]优选的,还包括:
[0029]显示模块,用于将所述分析结果以可视化的方式进行显示。
[0030]优选的,配置模块包括:
[0031 ]配置单元,用于:获取外界输入的配置信息,所述配置信息携带有配置标识;配置与所述配置标识对应的配置机制。
[0032]优选的,还包括:
[0033]异常抛出模块,用于:如果所述加载机制为父加载包机制,且所述AS中不包含所述类加载资源,则抛出异常;如果所述加载机制为WEB加载包机制,且所述AS中及所述WEB模块中均不包含所述类加载资源,则抛出异常。
[0034]本发明提供的一种类冲突问题的处理方法及装置,其中,该方法包括:当对类进行加载的过程中出现类冲突问题时,根据所述类冲突问题配置加载机制;如果所述加载机制为父加载包机制,则在应用服务器AS和WEB模块中均包含有与所述类对应的类加载资源时,利用父类加载器对所述AS中包含的类加载资源进行加载;如果所述加载机制为WEB加载包机制,则在所述AS与所述WEB模块中均包含有所述类加载资源时,利用WEB类加载器对所述WEB模块中包含的类加载资源进行加载;在仅有所述AS中包含所述类加载资源时,利用所述父类加载器对所述AS中包含的类加载资源进行加载。通过本申请公开的上述技术特征,在出现类冲突问题之后,自动根据类冲突问题配置加载机制,其中,加载机制包括父加载包机制或者WEB加载包机制,并且,实验证明,通过配置父加载包机制或WEB加载包机制能够有效的对对应的类冲突问题进行解决,即本申请提供的上述技术方案能够有效解决类冲突问题,且,无需专业工作人员利用个人经验解决类冲突问题,由此,降低了人工成本,提升了用户体验。
【附图说明】
[0035]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0036]图1为本发明实施例提供的一种类冲突问题的处理方法的流程图;
[0037]图2为本发明实施例提供的一种类冲突问题的处理装置的结构示意图;
[0038]图3为本发明实施例提供的一种类冲突问题的处理方法中InforsuiteAS的类加载层次树示意图;
[0039]图4为本发明实施例提供的一种类冲突问题的处理方法中InforsuiteAS的类加载策略图。
【具体实施方式】
[0040]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0041]请参阅图1,其示出了本发明实施例提供的一种类冲突问题的处理方法的流程图,可以包括以下步骤:
[0042]Sll:当对类进行加载的过程中出现类冲突问题时,根据类冲突问题配置加载机制。
[0043]需要说明的是,类冲突问题与现有技术中出现的类冲突问题一致,如找不到需要加载的类,或者对类进行加载的方法与类不对应导致无法对类进行加载等,在此不再赘述。
[0044]另外,本发明实施例提供的一种类冲突问题的处理方法可以基于InforsuiteAS实现,且,现有技术中的InforsuiteAS采用的为委托机制,在委托机制下,WEB类加载器在加载之前,委托父类加载器进行加载,如果父类加载器无法加载一个类,再由WEB类加载器对其进行加载,即WEB类加载器只负责加载父类加载器加载不到的类,父类加载器对类的加载优先于WEB类加载器。而通过本申请中公开的上述技术特征,能够通过配置的方式为InforsuiteAS增加非委托机制,即WEB类加载器对类的加载优先于父类加载器。
[0045]S12:如果加载机制为父加载包机制,则在应用服务器AS(Applicat1n Server)和WEB模块中均包含有与类对应的类加载资源时,利用父类加载器对AS中包含的类加载资源进行加载。
[0046]具体来说,配置父加载包机制,主要考虑到JEE规范建议尽量从JEE服务器获取类加载资源,并且有些类加载资源一定得从父类加载器获取,例如servlet类资源等,另外在非委托机制下,能让工作人员灵活控制哪些类加载资源由父类加载器获取。
[0047]S13:如果加载机制为WEB加载包机制,则在AS与WEB模块中均包含有类加载资源时,利用WEB类加载器对WEB模块中包含的类加载资源进行加载;在仅有AS中包含类加载资源时,利用父类加载器对AS中包含的类加载资源进行加载。
[0048]其中,仅有AS中包含类加载资源,即WEB模块中并不包含类加载资源,具体来说,配置WEB加载包机制,主要考虑到在委托机制下的例外场景,能够让工作人员灵活控制哪些类加载资源由WEB类加载器进行加载,其余则由父类加载器加载。
[0049]通过本申请公开的上述技术特征,在出现类冲突问题之后,自动根据类冲突问题配置加载机制,其中,加载机制包括父加载包机制或者WEB加载包机制,并且,实验证明,通过配置父加载包机制或WEB加载包机制能够有效的对对应的类冲突问题进行解决,即本申请提供的上述技术方案能够有效解决类冲突问题,且,无需专业工作人员利用个人经验解决类冲突问题,由此,降低了人工成本,提升了用户体验。
[0050]本发明实施例提供的一种类冲突问题的处理方法中,还可以包括:
[0051 ]当对类进行加载的过程中出现类冲突问题时,自动分析类冲突问题,得到分析结果;
[0052]依据分析结果输出建议信息,建议信息包含对配置的加载机制的种类的具体建议。
[0053]S卩,在类冲突问题出现时,可以对类冲突问题进行自动分析,从而得到分析结果,进而根据分析结果输出建议信息。其中,建议信息包含的具体建议即为建议配置父加载包机制或者WEB加载包机制中的一个的建议,具体可以为其建议配置的加载机制的配置标识,而配置标识与加载机制的种类对应,即父加载包机制和WEB加载包机制具有不同的配置标识,从而能够使得工作人员根据建议信息完成配置。
[0054]另外,自动分析类冲突问题,得到分析结果之后,还可以包括:
[0055]将分析结果以可视化的方式进行显示。
[0056]S卩,可
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1