Tomcat
发布时间:2022-05-15 发布网站:大佬教程 code.js-code.com
大佬教程收集整理的这篇文章主要介绍了tomcat 的自问自答与总结,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
在查看了官方文档和
做了多次试验,我觉得应该给自己提几个问题,看看我是不是真正的理解,我是不是对之前疑惑的东西有了答案。
1 tomcat 的加载问题,启动后更新是否自动加载
- server.xml 文件更改必须重启才能生效
- 在Host 定义的appBase 目录中的war包会自动加载
- 在Host 定义的appBase 目录中的war包如果发生更改会自动重新加载
- tomcat 在解压war包后,会自动向解压war包的目录添加meta-inf/war-tracker 文件,用于记录在tomcat未运行的时候war包(不是解压后的文件)是否发生改变.如果改变,tomcat在启动会重新发布。这里引申一点,如果是解压后的文件目录发生改变了,是否会重新加载? 这里取决于reloadable,该参数会监测/WEB-INF/classes/和/WEB-INF/lib的文件是否发生改变,但是开启该参数会导致性能降低。
状态 |
文件状态 |
说明 |
tomcat运行中 |
war包更新 |
自动重新加载 |
tomcat运行中 |
war包不更新,文件内容更新 |
如果是静态文件更改,访问可以立即获取最新的信息,如果是一些lib文件或者是class文件更新的话,需要关注参数reloadable,该参数会监测/WEB-INF/classes/和/WEB-INF/lib的文件是否发生改变,但是开启该参数会导致性能降低。 |
tomcat关闭中 |
war包更新 |
war-tracker记录war包是否更新,更新了的话启动时重新部署 |
tomcat关闭中 |
war包不更新,文件内容更新 |
启动会自动加载最新的文件内容。 |
@H_262_74@
2 tomcat 的co@R_874_10443@t.xml 文件读取顺序与覆盖原则
tomcat 有三个可以读取Co@R_874_10443@t 配置的位置。
- server.xml 里面的 Host 配置下的Co@R_874_10443@t.
- conf///.xml
- webapps//meta-inf/co@R_874_10443@t.xml
读取顺序 2 --->1--->3 后面的配置覆盖前面的配置
示例配置,这个配置需要根据自己的业务情况来进行配置。很多属性默认已经设置好了
<Connector port="8080" protocol="http/1.1"
connectionTimeout="20000"
redirectPort="8443"
acceptCount="300"
acceptorThReadCount="2"
compression="on"
keepAliveTimeout="25000"
maxConnections="5000"
maxThreads="400"
minSpareThreads="25"
/>
4 避免二次部署加载的问题
定义 Co@R_874_10443@t 元素的docBase的属性的值(路径)不要是Host 元素的 appBase 的路径的子目录,也就是如果Host 定义的路径包含 Co@R_874_10443@t元素定义的路径,这样就会引起二次部署。
解决办法:
- 我们可以通过Host 的属性deployIgnore 来精确匹配。避免二次部署。
- 通过避免Host定义的路径包含Co@R_874_10443@t 的路径,如果我们将项目已经存放在Host 定于的路径,那么我们可以无需再定义一次Co@R_874_10443@t .
如果文章有写的不足的地方,或者是写得错误的地方,请你一定要指出,因为这样不光是对我写文章的一种促进,也是一份对后面看此文章的人的责任。
大佬总结
以上是大佬教程为你收集整理的tomcat 的自问自答与总结全部内容,希望文章能够帮你解决tomcat 的自问自答与总结所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: