网站运营
位置:首页>> 网站运营>> 使用tomcat设定shared lib共享同样的jar

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

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

标签:tomcat,shared,lib,jar

在项目越来越多的时候,部署在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

0
投稿

猜你喜欢

  • 如何建立一个FTP站点,当用户用他们的用户名和密码登陆时,他们登录到自己的目录位置。尽管他们可以回到根目录,但他们不能看到其他人目录里的内容
  • 昨天有个站长告诉我,他打算把网站关掉,重新注册域名搞一个。问他为什么,答案是“被百度k了,没人看了”。面对这种现实,确实有点悲哀。网站没有独
  • UCenter Home是Comsenz公司发布的一款SNS建站系统,目前最新版本是1.5。用户栏目功能是UCenter Home中用于丰富
  • 1.摘要本文主要定义了一种SMTP服务扩展,使用这种服务扩展服务器可以说明它在一个TCP发送操作中可以接收多少个指令。在一个TCP发送指令中
  • 通过性能监测和分析,您可以知道服务器的运行状况,即在当前的工作负载下服务器是否出色运行。正如网络中的瓶颈一样,它可以帮助您找到服务器配置中的
  • 度过了经济危机最严重的时间,最近视频行业重新热闹起来。不过,我感到很纳闷——易观国际的数据说,200
  • 任何工作都有轻重缓急之分,很多职场人士都奉行轻重缓急,并把它作为提高工作效率的重要准则。只有分清哪些是最重要的并把它做好,工作才会变得井井有
  • #最关键参数,默认为5,修改为0 表示不要重发net.ipv4.tcp_synack_retries = 0#半连接队列长度net.ipv4
  • 10月28日下午消息,电子商务巨头阿里巴巴今日在杭州宣布,阿里巴巴(中国)教育科技有限公司(以下简称“阿里学院”)正式揭牌成立。新成立的阿里
  • IIS6.0有个导出配置的功能,但你却找不到界面上的直接导入配置功能,需要用到操作系统自带的iiscnfg.vbs脚本。(图片小点击看大图)
  • 增加链接的途径1。找您朋友的网站帮您加您网站的链接。单向链接对您网站效果最好。2。在google和baidu查询您网站的主题。看看排名第一页
  • 今天有个朋友找我,说他们公司网站服务器不稳定,想从原来服务商转出来,重新找个虚拟主机提供商的,但原来的服务公司不给他他们公司网站的源代码,而
  • 鉴于脚本程序可能带来的危险,WebMail系统完全有必要禁止html邮件中的脚本程序。禁止脚本程序的基本做法就是过滤掉html源程序中能够使
  • 游戏团队月薪3500雇人玩魔兽(腾讯科技配图)通过完成游戏中的终极任务 争取厂商的测评订单一个喜爱《魔兽世界》的游戏团队,在获得百万赞助后,
  • 步骤:终端运行sudo a2enmod程序提示可供激活的模块名称,输入:其中rewrite修改/etc/apache2/sites-enab
  • 方法一:使用lsof命令我们可以使用lsof命令来检查某一端口是否开放,基本语法如下:lsof -i:端口号如果没有任何输出则说明没有开启该
  • 如果你已经是 Google AdSense 内容发布商,如果希望自己的网站获得更高的收入,非常有必要深入了解 Google 的优化建议。在
  • linux mkdir 命令用来创建指定的名称的目录,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录。
  • B2B电子商务网站优化已经成为B2B网站网络营销策略中最基本的内容,一个整体优化状况不好的B2B电子商务平台,不仅用户发布的供求信息难为潜在
  • Nginx发音为“ engine x”,是一种开源的高性能HTTP和反向代理服务器,负责处理Internet上一些最大站点的负载。它可用作H
手机版 网站运营 asp之家 www.aspxhome.com