首页 > 其他分享 >Tomcat为什么要打破双亲委派机制

Tomcat为什么要打破双亲委派机制

时间:2023-09-04 23:01:47浏览次数:26  
标签:委派 Web Tomcat 应用程序 双亲 加载

在某些情况下,Tomcat(Apache Tomcat)需要打破双亲委派机制,主要是为了解决类加载的灵活性和可定制性的需求。

Tomcat作为一个Web应用服务器,它允许部署和运行多个独立的Web应用程序,每个应用程序都有自己的类加载器。在传统的双亲委派机制下,所有的Web应用程序共享同一个父类加载器(通常是系统类加载器),这可能导致以下问题:

  1. 类冲突:由于所有Web应用程序共享同一个类加载器,如果不同的应用程序中存在相同包名和类名的类,会导致类冲突,无法正确加载和使用这些类。

  2. 动态更新:在运行时动态更新Web应用程序的某些类文件,由于双亲委派机制的限制,无法直接加载新的类定义,需要重启应用程序才能生效,影响应用的灵活性和可用性。

为了解决上述问题,Tomcat引入了类加载器的分级机制,打破了双亲委派机制。在Tomcat中,每个Web应用程序都有自己的Web应用类加载器(WebAppClassLoader),它负责加载应用程序的类和资源。Web应用类加载器在加载类时会先检查自己是否已加载,如果未加载则尝试加载,而不委派给父加载器。

通过打破双亲委派机制,Tomcat能够实现以下优势:

  1. 隔离性:每个Web应用程序拥有独立的类加载器,可以隔离类加载的命名空间,避免类冲突问题。

  2. 动态更新:每个Web应用程序的类加载器可以独立加载和重新加载类定义,实现应用程序的热部署和动态更新。

  3. 可定制性:Tomcat的类加载器机制允许开发人员自定义类加载器,实现特定的类加载策略,满足应用程序的特殊需求。

需要注意的是,打破双亲委派机制也带来了一些潜在的风险和问题,例如可能引入类加载的混乱和不确定性,增加应用程序开发和维护的复杂性。因此,在开发和部署Web应用程序时,需要谨慎处理类加载器的使用,避免引入潜在的问题。

标签:委派,Web,Tomcat,应用程序,双亲,加载
From: https://www.cnblogs.com/fulaien/p/17678342.html

相关文章

  • 查看Tomcat启动信息
       不久前,在配置Josso的时候,Tomcat在启动的时候,闪一下就关掉窗口了,启动失败。但启动信息没有记录下来。   Tomcat和JBoss不一样,后者可以直接在Log文件中获得启动信息,如果启动失败了,能够分析是什么原因。   通过startup.bat启动Tomcat时,会弹出......
  • 一台机器同时运行多个Tomcat服务解决方案(2017更新)
    作者:fbysss关键字:Tomcat  如何在一台服务器上安装多个Tomcat假设有2个tomcat,分别为/usr/local/tomcat/tomcat-app1/usr/local/tomcat/tomcat-app2以第一个为例:1.修改环境变量sudovi/etc/profile添加export CATALINA_HOME_APP1=/usr/local/......
  • Tomcat5.5的管理模块的几点注意事项
    作者fbysss关键字:Tomcat,adminTomcat5.5默认没有admin模块了.得单独去网站下.下载后,根据相同目录结构拷贝到tomcat下.另外需要注意几个地方:否则点击TomcatAdministration会出现"Tomcat'sadministrationwebapplicationisnolongerinstalledbydefault.Downloadandinst......
  • Eclipse+WTP+Tomcat开发的几点注意事项
    作者fbysss关键字:eclipse,wtp,tomcat       new一个server之后,会自动建立一个目录workspace/Servers/Tomcatv5.5Server@localhost-config,里面的几个文件,来自tomcat的conf目录      一旦服务运行,将自动在workspace/.metadata/.plugins/org.eclipse.wst.serv......
  • tomcat 5日志配置笔记(解决中文乱码)
    作者:fbysss关键字:Tomcat日志环境:linux前言:采用默认的tomcat日志,无法解决中文信息输出乱码的问题。tomcat5中,可以使用log4j或者javalogging配置文件对日志输出进行配置。以下是相关试验记录。如果common/lib下没有common-logging.jar和log4j.jar输出正常的日志。catalina.out记录......
  • Tomcat 项目迁移至weblogic 10笔记
    作者:fbysss关键字:TomcatWeblogicOS:WindowsXPWebAppServer:Tomat5.5WebLogic server10(中文版)IDE:Beaworkshopforweblogicplatform。一.IDE注意事项创建动态web项目,选择是否共享j2ee库,如果共享,则需要域的共享库里面包含项目所需的库,比如beeHivenetUi;不共享,则将所需的库......
  • 彻底删除tomcat-webapps目录下的自带项目
    参考文档:删除Tomcat-webapps目录自带项目-Flyin-Gaga-CSDN博客https://blog.csdn.net/flyingaga/article/details/63691634?utm_source=blogxgwz8删除Tomcat-webapps目录自带项目-Airship的个人页面-OSCHINAhttps://my.oschina.net/airship/blog/30631131.webapps目录......
  • tomcat 安装笔记 20230901
    war位置/usr/local/tomcat8_1/webapps/tomcat位置71.170/usr/local/tomcat8_1/给了点工具包位置/usr/local/tool/启动tomcatcd/usr/local/tomcat8_1/bin/./startup.sh没有权限启动cd/usr/local/tomcat8_1/bin/chmode777*启动失败没有java环境,安装下cd/usr/l......
  • linux centos7 开启tomcat不成功
    在bin文件夹下打开终端,输入./start.sh后报错权限不够解决方法:依旧在终端上输入chmod+x*.sh(网上说输入chmod+xstartup.sh也可以,但我没成功)输入ll可看到*.sh的文件都高亮此时再次输入./startup.sh即可成功 ......
  • SPI机制是如何规避双亲委派机制的?
    SPI是如何规避双亲委派机制的?1、何为双亲委派机制?双亲委派机制是什么?双亲委派机制指的是Java中类加载机制的特性。双亲委派机制是作用于什么地方?双亲委派机制主要作用于类加载的时候。类加载器首先需要清晰的知道,双亲委派机制指的是类加载的特性。在了解其特性之前......