使用tomcat设定shared lib共享同样的jar

作者:傻不拉几猫 时间:2021-08-27 22:45:21 

在项目越来越多的时候,部署在tomcat的发布包也会越来越多,这样难免有很多相同的jar会被加载,占用大量的永久存续区内存,通过设定shared lib来控制相同的jar只加载一个,

这样有以下好处:

1、避免不同项目加载相同的jar,减少对永久存续区的内存占用

2、提高tomcat的启动速度,因为少加载了许多重复的jar

一、如何设定shared lib

方式一:

修改conf文件下的catalina.properties文件,配置shared.loader的路径:

配置绝对路径:


shared.loader="D:hs/develop/shared/lib","D:/hs/develop/shared/lib/*.jar"

之后将相同的jar放在指定的文件夹下。

或配置相对路径:


shared.loader="${catalina.base}/shared/lib","${catalina.base}/shared/lib/*.jar"

之后在和conf同目录下新建shared目录,将相同的jar放在lib里

方式二:

修改conf文件下的catalina.properties文件,配置common.loader的路径,追加shared lib的路径:


common.loader="${catalina.base}/lib","${catalina.base}/lib/*.jar","${catalina.home}/lib","${catalina.home}/lib/*.jar","${catalina.home}/lib/shared/*.jar"

之后在lib文件夹下新建一个shared目录,并将相同的jar放在shared目录下

二、catalina.home和catalina.base的区别

在一个tomcat下,catalina.home和catalina.base指向相同的位置,即bin等目录的父目录。

若是在安装多个Tomcat实例又不想安装多个软件备份的时可以使用这两个属性,在tomcat目录下只有 bin 和 lib 目录被多个tomcat示例公用,其它目录conf、logs、temp、webapps和work 是每个Tomcat实例自己独立的备份。

这时他们指向不同的位置:

catalina.home(安装目录):指向公用信息的位置,就是bin和lib的父目录。

catalina.base(工作目录):指向每个Tomcat目录私有信息的位置,就是conf、logs、temp、webapps和work的父目录。

三、tomcat6类加载机制

Commonclassloader

负责装载$CATALINA_HOME/common目录下的所有类和jar包,详细的配置可参考$CATALINA_HOME/conf/catalina.properties文件中的common.loader配置;该classloader装载的类对于Server class loader和Webapp class loader是可见的;Commonclass loader在Tomcat启动时创建,其parent classloader是System class loader;

Server classloader

负责装载Tomcat的核心类,位于$CATALINE_HOME/server目录下的所有类和jar,可由catalina.propreties中的server.loader配置指定;它在Tomcat启动时被创建,其parent loader是Commonclass loader;

Sharedclass loader

负责装载webapp公用的类,可以用户通过catalina.properties文件中的shared.loader属性来指定;它在Tomcat启动时被创建,其parentloader也是Common class loader;

Webappclassloader

它只负责加载各自app中WEB-INF/classes以及WEB-INF/lib下的类;其parentloader虽然是Shared class loader,但其加载策略和默认的类加载机制不太一样;

来源:https://www.cnblogs.com/kingsonfu/p/11360383.html

标签:tomcat,shared,lib,jar
0
投稿

猜你喜欢

  • 数据安全谈:看 NFS网络文件系统的安全

    2009-03-09 12:47:00
  • 当中国用户流量遭遇英文AdSense广告

    2007-11-01 14:47:00
  • VMware搭建虚拟机服务器

    2022-12-28 16:15:55
  • FTP服务器架设教程之安全篇

    2009-02-24 15:13:00
  • 易观:第二季中国网络游戏市场规模达62亿元

    2009-10-09 09:49:00
  • 56网王建军:视频分享是我们坚定不移的方向

    2010-03-08 10:55:00
  • 在Godaddy免费空间上绑定其他域名方法

    2010-04-19 19:34:00
  • 社会化媒体整合营销 到底是希望还是忽悠

    2009-04-07 12:34:00
  • 选择邮件服务器十二要素(5)

    2010-05-31 17:47:00
  • 让谷歌搜索引擎快速地收录网站的十个要点

    2008-12-14 07:17:00
  • 如何提交网站到DMOZ

    2008-03-08 19:23:00
  • Linux中RPM文件操作的常用命令总结

    2023-10-17 13:15:16
  • Discuz 7.2如何设置默认发帖即采用高级模式

    2009-12-05 18:13:00
  • 百度搜索引擎排名涉骗调查:恶意屏蔽不交钱企业

    2008-11-16 17:09:00
  • Web服务器的安全和攻击防范(4)

    2010-04-05 18:39:00
  • 十大最佳WordPress插件推荐

    2008-04-29 22:11:00
  • A5 安全小组Jack服务器安全讲座全记录

    2009-02-20 18:13:00
  • 使用ZendCore给IIS安装PHP+Zend+Mysql+phpMyAdmin

    2011-01-30 17:42:00
  • 确保Linux服务器安全 防范四种级别攻击

    2023-07-17 11:42:36
  • 防止百度封你的站 你需要注意的六个方面

    2009-03-25 11:20:00
  • asp之家 网站运营 m.aspxhome.com