平台升级至nginx+Tomcat9.0.1(Spring5.0.1+velocity2.0+quartz-2.3.0)+redis集群
在公司部份应用上 使用了 Tomcat9.0.1 稳定性还可以,由于将公司的集群服务也升级为 Tomcat9.0.1,下面我们来谈一下改变:
1:logging.properties 支持日志最大天数值 maxDays ,如
1 2 3 4 | 1catalina.org.apache.juli.AsyncFileHandler.level = FINE 1catalina.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs 1catalina.org.apache.juli.AsyncFileHandler.prefix = catalina. 1catalina.org.apache.juli.AsyncFileHandler.maxDays = 60 |
以前自己写的日志数量的控制(基于log4j),以下是配置文件
1 2 3 4 5 6 7 8 9 10 11 12 13 | ### log file ### log4j.appender.debug = org.apache.log4j.ReYoDailyRollingFileAppender #将日志记录到tomcat下的logs文件夹../logs;日志输入到桌面logs:./logs log4j.appender.debug.File = ../logs/debug log4j.appender.debug.DatePattern= '.' yyyy-MM-dd '.log' log4j.appender.debug.MaxFileSize= 6 #要控制文件数量的日志文件以 xx 开头 log4j.appender.debug.FileStarWith=debug,error,catalina,localhost,localhost_access_log # true 表示消息增加到指定文件中, false 则将消息覆盖指定的文件内容,默认值是 true log4j.appender.debug.Append = true log4j.appender.debug.Threshold = INFO log4j.appender.debug.layout = org.apache.log4j.PatternLayout log4j.appender.debug.layout.ConversionPattern = [%p] %d{yyyy-MM-dd HH:mm:ss:SSS}(%r) --> [%t] %l: %m %x %n |
ReYoDailyRollingFileAppender 核心代码
1 2 3 4 5 6 7 8 9 10 11 12 13 | if (StringUtils.isNotEmpty(fileStarWith)) { if (fileStarWith.indexOf( "," ) > 0 ) { for (String fs : fileStarWith.split( "," )) { if (FileUtils.sumDirFileNumber(filePath, false , fs) > maxFileSize) { FileUtils.deleteFile(FileUtils.getLastmodifiedtime_first(filePath, fs)); } } } else { if (FileUtils.sumDirFileNumber(filePath, false , fileStarWith) > maxFileSize) { FileUtils.deleteFile(FileUtils.getLastmodifiedtime_first(filePath, fileStarWith)); } } } |
2:升级了 reyo.redis.session.manager.tomcat8.RedisSessionManager 以支持 tomcat9.x reyo.redis.session.manager.tomcat9.RedisSessionManager
1 2 3 4 5 6 | <Valve className= "reyo.redis.session.manager.tomcat9.RedisSessionHandlerValve" /> <Manager className= "reyo.redis.session.manager.tomcat9.RedisSessionManager" sentinelMaster= "master01" password= "password" timeout= "30" sentinels= "127.0.0.1:6379" /> |
集群运行图:
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· 分享4款.NET开源、免费、实用的商城系统
· 解决跨域问题的这6种方案,真香!
· 5. Nginx 负载均衡配置案例(附有详细截图说明++)
· Windows 提权-UAC 绕过
2015-10-31 解决javamail ssl 测试unable to find valid certification path to requested target