v2.0.0 更新:

1、SpringBoot从3.1.1升级到3.5.3
    2、JDK从17升级到21并开启虚拟线程
    3、删除RocksDB相关配置,不再使用该缓存方案
    4、修改文件下载方式,使用StreamingResponseBody,支持大文件下载
    5、引入metona-cache-spring-boot-starter,使用此缓存方案
    6、重构在线日志页面及实现方式,不再使用读取日志文件方式,自定义日志拦截器实时获取日志
    7、不再生成自定义日志文件,日志打印从INFO改为DEBUG,打印更详细的内容
This commit is contained in:
2025-07-18 15:29:26 +08:00
parent abfbc181b3
commit 4ce49e1205
13 changed files with 17 additions and 393 deletions

View File

@@ -1,5 +1,5 @@
chcp 65001
SET JAR=D:/fmt/fmt-1.3.0.jar
SET JAR=D:/fmt/fmt-2.0.0.jar
SET JAR_CONFIG=D:/fmt/config/
SET JAR_LIB=D:/fmt/lib/
java -Dfile.encoding=utf-8 -jar %JAR% --spring.config.location=%JAR_CONFIG% --spring.lib.location=%JAR_LIB%

View File

@@ -1,8 +1,8 @@
#!/bin/bash
JAR=/home/deploy/fmt/fmt-1.3.0.jar
JAR=/home/deploy/fmt/fmt-2.0.0.jar
JAR_CONFIG=/home/deploy/fmt/config/
JAR_LIB=/home/deploy/fmt/lib/
JAVA_HOME=/usr/local/jdk-17.0.7
JAVA_HOME=/usr/local/jdk-21
JAVA=$JAVA_HOME/bin/java
nohup $JAVA -jar $JAR --spring.config.location=$JAR_CONFIG --spring.lib.location=$JAR_LIB -Djava.ext.dirs=$JAVA_HOME/lib &
tail -f nohup.out

View File

@@ -43,10 +43,6 @@
<a th:href="@{/logging/index}" target="_blank" class="ax-text">在线日志</a>
<span class="ax-line"></span>
</div>
<div class="ax-item">
<a th:href="@{/system/index}" class="ax-text">系统设置</a>
<span class="ax-line"></span>
</div>
</div>
</div>
</header>

View File

@@ -1,150 +0,0 @@
<!DOCTYPE html>
<html lang="zh-CN" xmlns:th="https://www.thymeleaf.org">
<head>
<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<meta name="apple-touch-fullscreen" content="yes"/>
<meta name="format-detection" content="email=no" />
<meta name="wap-font-scale" content="no" />
<meta name="viewport" content="user-scalable=no, width=device-width" />
<meta content="telephone=no" name="format-detection" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>系统设置</title>
<link th:href="@{/axui-v2.1.1/css/ax.css}" rel="stylesheet" type="text/css" >
<link th:href="@{/axui-v2.1.1/css/ax-response.css}" rel="stylesheet" type="text/css" >
</head>
<body>
<header class="ax-header">
<div class="ax-row">
<div class="ax-col">
<a th:href="@{/download/index}" class="ax-logo">
<img th:src="@{/common/images/logo.png}" alt="File Management"/>
</a>
</div>
<div class="ax-nav">
<div class="ax-item">
<a th:href="@{/download/index}" class="ax-text">文件列表</a>
<span class="ax-line"></span>
</div>
<div class="ax-item">
<a th:href="@{/upload/index}" class="ax-text">文件上传</a>
<span class="ax-line"></span>
</div>
<div class="ax-item">
<a th:href="@{/logging/index}" class="ax-text">在线日志</a>
<span class="ax-line"></span>
</div>
<div class="ax-item ax-selected">
<a th:href="@{/system/index}" class="ax-text">系统设置</a>
<span class="ax-line"></span>
</div>
</div>
</div>
</header>
<div class="ax-space-header"></div>
<div id="app" class="ax-border ax-margin">
<div class="ax-break-md"></div>
<div class="ax-form-group">
<div class="ax-flex-row">
<div class="ax-form-label">上传文件存放地址:</div>
<div class="ax-form-con">
<div class="ax-form-input">
<input name="Upload_File_Path" th:value="${system.Upload_File_Path}" type="text">
</div>
</div>
<span class="ax-form-txt ax-color-ignore">相对路径以“./”开头,绝对路径填写完整目录</span>
</div>
</div>
<div class="ax-break-md"></div>
<div class="ax-form-group">
<div class="ax-flex-row">
<div class="ax-form-label">临时文件存放地址:</div>
<div class="ax-form-con">
<div class="ax-form-input">
<input name="Temp_File_Path" th:value="${system.Temp_File_Path}" type="text">
</div>
</div>
<span class="ax-form-txt ax-color-ignore">相对路径以“./”开头,绝对路径填写完整目录</span>
</div>
</div>
<div class="ax-break-md"></div>
<div class="ax-form-group">
<div class="ax-flex-row">
<div class="ax-form-label">日志文件地址:</div>
<div class="ax-form-con">
<div class="ax-form-input">
<input name="Log_File_Path" th:value="${system.Log_File_Path}" type="text">
</div>
</div>
<span class="ax-form-txt ax-color-ignore">相对路径以“./”开头,绝对路径填写完整目录</span>
</div>
</div>
<div class="ax-break-md"></div>
<div class="ax-form-group">
<div class="ax-flex-row">
<div class="ax-form-label">最大读取展示行数:</div>
<div class="ax-form-con">
<div class="ax-form-input">
<div class="ax-amount" axAmount>
<input name="Max_Read_Length" th:value="${system.Max_Read_Length}" type="text">
<a href="#" decrease><i class="ax-iconfont ax-icon-minus"></i></a>
<a href="#" increase><i class="ax-iconfont ax-icon-plus"></i></a>
</div>
</div>
</div>
<span class="ax-form-txt ax-color-ignore">在线日志文件最大读取行数,建议设置较大值以提高性能</span>
</div>
</div>
<div class="ax-break-md"></div>
<div class="ax-form-group">
<div class="ax-flex-row">
<div class="ax-form-label">读取间隔时间(毫秒)</div>
<div class="ax-form-con">
<div class="ax-form-input">
<div class="ax-amount" axAmount>
<input name="Read_Interval" th:value="${system.Read_Interval}" type="text">
<a href="#" decrease><i class="ax-iconfont ax-icon-minus"></i></a>
<a href="#" increase><i class="ax-iconfont ax-icon-plus"></i></a>
</div>
</div>
</div>
<span class="ax-form-txt ax-color-ignore">在线日志文件读取间隔时间,建议设置较小值以提高性能</span>
</div>
</div>
<div class="ax-break-md"></div>
<div class="ax-form-group">
<div class="ax-flex-row">
<div class="ax-form-label"></div>
<div class="ax-flex-block">
<div class="ax-form-input">
<button type="button" id="saveSystemSetting" class="ax-btn ax-primary ax-full">保存系统设置</button>
</div>
</div>
</div>
</div>
<div class="ax-break-md"></div>
</div>
<script th:src="@{/axui-v2.1.1/js/ax.js}" type="text/javascript" charset="utf-8"></script>
<script th:src="@{/common/js/basic.js}" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript" th:inline="javascript" charset="utf-8">
window.onload = () => {
document.getElementById("saveSystemSetting").onclick = () => {
const options = {
url: Fmt.ctx() + '/system/save',
data: Fmt.utils.serialize('#app', 'json'),
method: 'post'
};
Fmt.axios(options).then((result) => {
console.log(result);
new axMessage({content: result.message, result: 'success', iconShow: true}).show();
}).catch((err) => {
console.log(err);
new axMessage({content: err, result: 'error', iconShow: true}).show();
});
}
}
</script>
</body>
</html>

View File

@@ -36,10 +36,6 @@
<a th:href="@{/logging/index}" target="_blank" class="ax-text">在线日志</a>
<span class="ax-line"></span>
</div>
<div class="ax-item">
<a th:href="@{/system/index}" class="ax-text">系统设置</a>
<span class="ax-line"></span>
</div>
</div>
</div>
</header>