diff --git a/jeecg-boot/LICENSE b/jeecg-boot/LICENSE
index 1f5582310..938940f9d 100644
--- a/jeecg-boot/LICENSE
+++ b/jeecg-boot/LICENSE
@@ -198,16 +198,4 @@
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
- limitations under the License.
-
- In any case, you must not make any such use of this software as to develop software which may be considered competitive with this software.
-
- JeecgBoot 是由 北京国炬信息技术有限公司 发行的软件。 总部位于北京,地址:中国·北京·朝阳区科荟前街1号院奥林佳泰大厦。邮箱:jeecgos@163.com
- 本软件受适用的国家软件著作权法(包括国际条约)和开源协议 双重保护许可。
-
- 开源协议中文释意如下:
- 1.JeecgBoot开源版本无任何限制,在遵循本开源协议条款下,允许商用使用,不会造成侵权行为。
- 2.允许基于本平台软件开展业务系统开发。
- 3.在任何情况下,您不得使用本软件开发可能被认为与本软件竞争的软件。
-
- 最终解释权归:http://www.jeecg.com
\ No newline at end of file
+ limitations under the License.
\ No newline at end of file
diff --git a/jeecg-boot/README.md b/jeecg-boot/README.md
deleted file mode 100644
index 43581f6e8..000000000
--- a/jeecg-boot/README.md
+++ /dev/null
@@ -1,254 +0,0 @@
-
-JeecgBoot 低代码开发平台
-===============
-
-当前最新版本: 3.9.0(发布日期:2025-12-01)
-
-
-[](https://github.com/zhangdaiscott/jeecg-boot/blob/master/LICENSE)
-[](http://jeecg.com/aboutusIndex)
-[](https://github.com/zhangdaiscott/jeecg-boot)
-[](https://github.com/zhangdaiscott/jeecg-boot)
-[](https://github.com/zhangdaiscott/jeecg-boot)
-
-
-
-项目介绍
------------------------------------
-
-
企业级AI低代码平台
-
-JeecgBoot 是一款基于BPM流程和代码生成的AI低代码平台,助力企业快速实现低代码开发和构建AI应用。
-采用前后端分离架构(Ant Design&Vue3,SpringBoot3,SpringCloud Alibaba,Mybatis-plus),强大代码生成器实现前后端一键生成,无需手写代码。
-平台引领AI低代码开发模式:AI生成→在线编码→代码生成→手工合并,解决Java项目80%重复工作,提升效率,节省成本,兼顾灵活性。
-具备强大且颗粒化的权限控制,支持按钮权限和数据权限设置,满足大型业务系统需求。功能涵盖在线表单、表单设计、流程设计、门户设计、报表与大屏设计、OA办公、AI应用、AI知识库、大模型管理、AI流程编排、AI聊天,支持ChatGPT、DeepSeek、Ollama等多种AI大模型。
-
-`AI赋能报表:` 积木报表是一款自主研发的强大开源企业级Web报表与大屏工具。它通过零编码的拖拽式操作,赋能用户如同搭积木般轻松构建各类复杂报表和数据大屏,全面满足企业数据可视化与分析需求,助力企业级数据产品的高效打造与应用。
-
-`AI赋能低代码:` 提供完善成熟的AI应用平台,涵盖AI应用管理、AI模型管理、智能对话助手、知识库问答、流程编排与设计器、AI建表等多项功能。平台兼容多种主流大模型,包括ChatGPT、DeepSeek、Ollama、智普、千问等,助力企业高效构建智能化应用,推动低代码开发与AI深度融合。
-
-`JEECG宗旨是:` JEECG旨在通过OnlineCoding平台实现简单功能的零代码快速搭建,同时针对复杂功能采用代码生成器生成代码并手工合并,打造智能且灵活的低代码开发模式,有效解决了当前低代码产品普遍缺乏灵活性的问题,提升开发效率的同时兼顾系统的扩展性和定制化能力。
-
-`JEECG业务流程:` JEECG业务流程采用BPM工作流引擎实现业务审批,扩展任务接口供开发人员编写业务逻辑,表单提供表单设计器、在线配置表单和编码表单等多种解决方案。通过流程与表单的分离设计(松耦合)及任务节点的灵活配置,既保障了企业流程的安全性与保密性,又大幅降低了开发人员的工作量。
-
-
-适用项目
------------------------------------
-JeecgBoot低代码平台兼容所有J2EE项目开发,支持信创国产化,特别适用于SAAS、企业信息管理系统(MIS)、内部办公系统(OA)、企业资源计划系统(ERP)、客户关系管理系统(CRM)及AI知识库等场景。其半智能手工Merge开发模式,可显著提升70%以上的开发效率,极大降低开发成本。同时,JeecgBoot还是一款全栈式AI开发平台,助力企业快速构建和部署个性化AI应用。。
-
-
-**信创兼容说明**
-- 操作系统:国产麒麟、银河麒麟等国产系统几乎都是基于 Linux 内核,因此它们具有良好的兼容性。
-- 数据库:达梦、人大金仓、TiDB
-- 中间件:东方通 TongWeb、TongRDS,宝兰德 AppServer、CacheDB, [信创配置文档](https://help.jeecg.com/java/tongweb-deploy/)
-
-
-
-
-#### 项目说明
-
-| 项目名 | 说明 |
-|--------------------|------------------------------------|
-| `jeecg-boot` | 后端源码JAVA(SpringBoot3微服务架构) |
-| `jeecgboot-vue3` | 前端源码VUE3(vue3+vite6+antd4+ts最新技术栈) |
-
-
-
-启动项目
------------------------------------
-
-> 默认账号密码: admin/123456
-
-- [开发环境搭建](https://help.jeecg.com/java/setup/tools)
-- [IDEA启动前后端(单体模式)](https://help.jeecg.com/java/setup/idea/startup)
-- [Docker一键启动(单体模式)](https://help.jeecg.com/java/docker/quick)
-- [IDEA启动前后端(微服务方式)](https://help.jeecg.com/java/springcloud/switchcloud/monomer)
-- [Docker一键启动(微服务方式)](https://help.jeecg.com/java/docker/quickcloud)
-
-
-技术文档
------------------------------------
-
-- 官方网站: [http://www.jeecg.com](http://www.jeecg.com)
-- 在线演示: [平台演示](https://boot3.jeecg.com) | [APP演示](https://jeecg.com/appIndex)
-- 入门指南: [快速入门](http://www.jeecg.com/doc/quickstart) | [代码生成使用](https://help.jeecg.com/java/codegen/online) | [开发文档](https://help.jeecg.com) | [AI应用手册](https://help.jeecg.com/aigc) | [视频教程](http://jeecg.com/doc/video)
-- 技术支持: [反馈问题](https://github.com/jeecgboot/JeecgBoot/issues/new?template=bug_report.md) | [低代码体验一分钟](https://jeecg.blog.csdn.net/article/details/106079007)
-- QQ交流群 : 964611995、⑩716488839(满)、⑨808791225(满)、其他(满)
-
-
-AI 应用平台介绍
------------------------------------
-
-一个全栈式 AI 开发平台,旨在帮助开发者快速构建和部署个性化的 AI 应用。
-
-JeecgBoot平台提供了一套完善的AI应用管理系统模块,是一套类似`Dify`的`AIGC应用开发平台`+`知识库问答`,是一款基于LLM大语言模型AI应用平台和 RAG 的知识库问答系统。
-其直观的界面结合了 AI 流程编排、RAG 管道、知识库管理、模型管理、对接向量库、实时运行可观察等,让您可以快速从原型到生产,拥有AI服务能力。
-
-- [详细专题介绍,请点击查看](README-AI.md)
-
-- AI视频介绍
-
-[](https://www.bilibili.com/video/BV1zmd7YFE4w)
-
-
-为什么选择JeecgBoot?
------------------------------------
-- 1.采用最新主流前后分离框架(Spring Boot3 + MyBatis + Shiro/SpringAuthorizationServer + Ant Design4 + Vue3),容易上手;代码生成器依赖性低,灵活的扩展能力,可快速实现二次开发。
-- 2.前端大版本换代,最新版采用 Vue3.0 + TypeScript + Vite6 + Ant Design Vue4 等新技术方案。
-- 3.支持微服务Spring Cloud Alibaba(Nacos、Gateway、Sentinel、Skywalking),提供简易机制,支持单体和微服务自由切换(这样可以满足各类项目需求)。
-- 4.开发效率高,支持在线建表和AI建表,提供强大代码生成器,单表、树列表、一对多、一对一等数据模型,增删改查功能一键生成,菜单配置直接使用。
-- 5.代码生成器提供强大模板机制,支持自定义模板,目前提供四套风格模板(单表两套、树模型一套、一对多三套)。
-- 6.提供强大的报表和大屏可视化工具,支持丰富的数据源连接,能够通过拖拉拽方式快速制作报表、大屏和门户设计;支持多种图表类型:柱形图、折线图、散点图、饼图、环形图、面积图、漏斗图、进度图、仪表盘、雷达图、地图等。
-- 7.低代码能力:在线表单(无需编码,通过在线配置表单,实现表单的增删改查,支持单表、树、一对多、一对一等模型,实现人人皆可编码),在线配置零代码开发、所见即所得支持23种类控件。
-- 8.低代码能力:在线报表、在线图表(无需编码,通过在线配置方式,实现数据报表和图形报表,可以快速抽取数据,减轻开发压力,实现人人皆可编码)。
-- 9.Online支持在线增强开发,提供在线代码编辑器,支持代码高亮、代码提示等功能,支持多种语言(Java、SQL、JavaScript等)。
-- 10.封装完善的用户、角色、菜单、组织机构、数据字典、在线定时任务等基础功能,支持访问授权、按钮权限、数据权限等功能。
-- 11.前端UI提供丰富的组件库,支持各种常用组件,如表格、树形控件、下拉框、日期选择器等,满足各种复杂的业务需求 [UI组件库文档](https://help.jeecg.com/category/ui%E7%BB%84%E4%BB%B6%E5%BA%93)。
-- 12.提供APP配套框架,一份多代码多终端适配,一份代码多终端适配,小程序、H5、安卓、iOS、鸿蒙Next。
-- 13.新版APP框架采用Uniapp、Vue3.0、Vite、Wot-design-uni、TypeScript等最新技术栈,包括二次封装组件、路由拦截、请求拦截等功能。实现了与JeecgBoot完美对接:目前已经实现登录、用户信息、通讯录、公告、移动首页、九宫格、聊天、Online表单、仪表盘等功能,提供了丰富的组件。
-- 14.提供了一套成熟的AI应用平台功能,从AI模型、知识库到AI应用搭建,助力企业快速落地AI服务,加速智能化升级。
-- 15.AI能力:目前JeecgBoot支持AI大模型chatgpt和deepseek,现在最新版默认使用deepseek,速度更快质量更高。目前提供了AI对话助手、AI知识库、AI应用、AI建表、AI报表等功能。
-- 16.提供新行编辑表格JVXETable,轻松满足各种复杂ERP布局,拥有更高的性能、更灵活的扩展、更强大的功能。
-- 17.平台首页风格,提供多种组合模式,支持自定义风格;支持门户设计,支持自定义首页。
-- 18.常用共通封装,各种工具类(定时任务、短信接口、邮件发送、Excel导入导出等),基本满足80%项目需求。
-- 19.简易Excel导入导出,支持单表导出和一对多表模式导出,生成的代码自带导入导出功能。
-- 20.集成智能报表工具,报表打印、图像报表和数据导出非常方便,可极其方便地生成PDF、Excel、Word等报表。
-- 21.采用前后分离技术,页面UI风格精美,针对常用组件做了封装:时间、行表格控件、截取显示控件、报表组件、编辑器等。
-- 22.查询过滤器:查询功能自动生成,后台动态拼SQL追加查询条件;支持多种匹配方式(全匹配/模糊查询/包含查询/不匹配查询)。
-- 23.数据权限(精细化数据权限控制,控制到行级、列表级、表单字段级,实现不同人看不同数据,不同人对同一个页面操作不同字段)。
-- 24.接口安全机制,可细化控制接口授权,非常简便实现不同客户端只看自己数据等控制;也提供了基于AK和SK认证鉴权的OpenAPI功能。
-- 25.活跃的社区支持;近年来,随着网络威胁的日益增加,团队在安全和漏洞管理方面积累了丰富的经验,能够为企业提供全面的安全解决方案。
-- 26.权限控制采用RBAC(Role-Based Access Control,基于角色的访问控制)。
-- 27.页面校验自动生成(必须输入、数字校验、金额校验、时间空间等)。
-- 28.支持SaaS服务模式,提供SaaS多租户架构方案。
-- 29.分布式文件服务,集成MinIO、阿里OSS等优秀的第三方,提供便捷的文件上传与管理,同时也支持本地存储。
-- 30.主流数据库兼容,一套代码完全兼容MySQL、PostgreSQL、Oracle、SQL Server、MariaDB、达梦、人大金仓等主流数据库。
-- 31.集成工作流Flowable,并实现了只需在页面配置流程转向,可极大简化BPM工作流的开发;用BPM的流程设计器画出了流程走向,一个工作流基本就完成了,只需写很少量的Java代码。
-- 32.低代码能力:在线流程设计,采用开源Flowable流程引擎,实现在线画流程、自定义表单、表单挂靠、业务流转。
-- 33.多数据源:极其简易的使用方式,在线配置数据源配置,便捷地从其他数据抓取数据。
-- 34.提供单点登录CAS集成方案,项目中已经提供完善的对接代码。
-- 35.低代码能力:表单设计器,支持用户自定义表单布局,支持单表、一对多表单,支持select、radio、checkbox、textarea、date、popup、列表、宏等控件。
-- 36.专业接口对接机制,统一采用RESTful接口方式,集成Swagger-UI在线接口文档,JWT token安全验证,方便客户端对接。
-- 37.高级组合查询功能,在线配置支持主子表关联查询,可保存查询历史。
-- 38.提供各种系统监控,实时跟踪系统运行情况(监控Redis、Tomcat、JVM、服务器信息、请求追踪、SQL监控)。
-- 39.消息中心(支持短信、邮件、微信推送等);集成WebSocket消息通知机制。
-- 40.支持多语言,提供国际化方案。
-- 41.数据变更记录日志,可记录数据每次变更内容,通过版本对比功能查看历史变化。
-- 42.提供简单易用的打印插件,支持谷歌、火狐、IE11+等各种浏览器。
-- 43.后端采用Maven分模块开发方式;前端支持菜单动态路由。
-- 44.提供丰富的示例代码,涵盖了常用的业务场景,便于学习和参考。
-
-
-技术架构:
------------------------------------
-
-#### 后端
-
-- IDE建议: IDEA (必须安装lombok插件 )
-- 语言:Java 默认jdk17(jdk21、jdk24)
-- 依赖管理:Maven
-- 基础框架:Spring Boot 3.5.5
-- 微服务框架: Spring Cloud Alibaba 2023.0.3.3
-- 持久层框架:MybatisPlus 3.5.12
-- 报表工具: JimuReport 2.1.3
-- 安全框架:Apache Shiro 2.0.4,Jwt 4.5.0
-- 微服务技术栈:Spring Cloud Alibaba、Nacos、Gateway、Sentinel、Skywalking
-- 数据库连接池:阿里巴巴Druid 1.2.24
-- AI大模型:支持 `ChatGPT` `DeepSeek` `千问`等各种常规模式
-- 日志打印:logback
-- 缓存:Redis
-- 其他:autopoi, fastjson,poi,Swagger-ui,quartz, lombok(简化代码)等。
-- 默认提供MySQL5.7+数据库脚本
-- [其他数据库,需要自己转](https://my.oschina.net/jeecg/blog/4905722)
-
-
-#### 前端
-
-- 前端环境要求:Node.js要求`Node 20+` 版本以上、pnpm 要求`9+` 版本以上
- ` ( Vite 不再支持已结束生命周期(EOL)的 Node.js 18。现在需要使用 Node.js 20.19+ 或 22.12+)`
-
-- 依赖管理:node、npm、pnpm
-- 前端IDE建议:IDEA、WebStorm、Vscode
-- 采用 Vue3.0+TypeScript+Vite6+Ant-Design-Vue4等新技术方案,包括二次封装组件、utils、hooks、动态菜单、权限校验、按钮级别权限控制等功能
-- 最新技术栈:Vue3.0 + TypeScript + Vite6 + ant-design-vue4 + pinia + echarts + unocss + vxe-table + qiankun + es6
-
-
-
-
-#### 支持库
-
-| 数据库 | 支持 |
-| --- | --- |
-| MySQL | √ |
-| Oracle11g | √ |
-| Sqlserver2017 | √ |
-| PostgreSQL | √ |
-| MariaDB | √ |
-| 达梦 | √ |
-| 人大金仓 | √ |
-| TiDB | √ |
-
-
-
-
-## 微服务解决方案
-
-
-- 1、服务注册和发现 Nacos √
-- 2、统一配置中心 Nacos √
-- 3、路由网关 gateway(三种加载方式) √
-- 4、分布式 http feign √
-- 5、熔断降级限流 Sentinel √
-- 6、分布式文件 Minio、阿里OSS √
-- 7、统一权限控制 JWT + Shiro √
-- 8、服务监控 SpringBootAdmin√
-- 9、链路跟踪 Skywalking [参考文档](https://help.jeecg.com/java/springcloud/super/skywarking)
-- 10、消息中间件 RabbitMQ √
-- 11、分布式任务 xxl-job √
-- 12、分布式事务 Seata
-- 13、轻量分布式日志 Loki+grafana套件
-- 14、支持 docker-compose、k8s、jenkins
-- 15、CAS 单点登录 √
-- 16、路由限流 √
-
-
-
-后台目录结构
------------------------------------
-```
-项目结构
-├─jeecg-boot-parent(父POM: 项目依赖、modules组织)
-│ ├─jeecg-boot-base-core(共通模块: 工具类、config、权限、查询过滤器、注解等)
-│ ├─jeecg-module-demo 示例代码
-│ ├─jeecg-module-system System系统管理目录
-│ │ ├─jeecg-system-biz System系统管理权限等功能
-│ │ ├─jeecg-system-start System单体启动项目(8080)
-│ │ ├─jeecg-system-api System系统管理模块对外api
-│ │ │ ├─jeecg-system-cloud-api System模块对外提供的微服务接口
-│ │ │ ├─jeecg-system-local-api System模块对外提供的单体接口
-│ ├─jeecg-server-cloud --微服务模块
- ├─jeecg-cloud-gateway --微服务网关模块(9999)
- ├─jeecg-cloud-nacos --Nacos服务模块(8848)
- ├─jeecg-system-cloud-start --System微服务启动项目(7001)
- ├─jeecg-demo-cloud-start --Demo微服务启动项目(7002)
- ├─jeecg-visual
- ├─jeecg-cloud-monitor --微服务监控模块 (9111)
- ├─jeecg-cloud-xxljob --微服务xxljob定时任务服务端 (9080)
- ├─jeecg-cloud-sentinel --sentinel服务端 (9000)
- ├─jeecg-cloud-test -- 微服务测试示例(各种例子)
- ├─jeecg-cloud-test-more -- 微服务测试示例(feign、熔断降级、xxljob、分布式锁)
- ├─jeecg-cloud-test-rabbitmq -- 微服务测试示例(rabbitmq)
- ├─jeecg-cloud-test-seata -- 微服务测试示例(seata分布式事务)
- ├─jeecg-cloud-test-shardingsphere -- 微服务测试示例(分库分表)
-```
-
-
-
-
-#### 微服务架构图
-
-
-
-
-
-
diff --git a/jeecg-boot/db/tables_nacos.sql b/jeecg-boot/db/tables_nacos.sql
deleted file mode 100644
index 2ac3dae89..000000000
--- a/jeecg-boot/db/tables_nacos.sql
+++ /dev/null
@@ -1,357 +0,0 @@
-CREATE database if NOT EXISTS `nacos` default character set utf8mb4 collate utf8mb4_general_ci;
-use `nacos`;
-
-/*
- Navicat Premium Data Transfer
-
- Source Server : mysql5.7
- Source Server Type : MySQL
- Source Server Version : 50738 (5.7.38)
- Source Host : 127.0.0.1:3306
- Source Schema : nacos-os
-
- Target Server Type : MySQL
- Target Server Version : 50738 (5.7.38)
- File Encoding : 65001
-
- Date: 14/10/2025 16:27:11
-*/
-
-SET NAMES utf8mb4;
-SET FOREIGN_KEY_CHECKS = 0;
-
--- ----------------------------
--- Table structure for config_info
--- ----------------------------
-DROP TABLE IF EXISTS `config_info`;
-CREATE TABLE `config_info` (
- `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
- `data_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'data_id',
- `group_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL,
- `content` longtext CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'content',
- `md5` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'md5',
- `gmt_create` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '创建时间',
- `gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '修改时间',
- `src_user` text CHARACTER SET utf8 COLLATE utf8_bin NULL COMMENT 'source user',
- `src_ip` varchar(20) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'source ip',
- `app_name` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL,
- `tenant_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT '' COMMENT '租户字段',
- `c_desc` varchar(256) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL,
- `c_use` varchar(64) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL,
- `effect` varchar(64) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL,
- `type` varchar(64) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL,
- `c_schema` text CHARACTER SET utf8 COLLATE utf8_bin NULL,
- `encrypted_data_key` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT '加密key',
- PRIMARY KEY (`id`) USING BTREE,
- UNIQUE INDEX `uk_configinfo_datagrouptenant`(`data_id`, `group_id`, `tenant_id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 54 CHARACTER SET = utf8 COLLATE = utf8_bin COMMENT = 'config_info' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Records of config_info
--- ----------------------------
-INSERT INTO `config_info` VALUES (1, 'jeecg-dev.yaml', 'DEFAULT_GROUP', 'spring:\n datasource:\n druid:\n stat-view-servlet:\n enabled: true\n loginUsername: admin\n loginPassword: 123456\n allow:\n web-stat-filter:\n enabled: true\n dynamic:\n druid:\n initial-size: 5\n min-idle: 5\n maxActive: 20\n maxWait: 60000\n timeBetweenEvictionRunsMillis: 60000\n minEvictableIdleTimeMillis: 300000\n validationQuery: SELECT 1 FROM DUAL\n testWhileIdle: true\n testOnBorrow: false\n testOnReturn: false\n poolPreparedStatements: true\n maxPoolPreparedStatementPerConnectionSize: 20\n filters: stat,wall,slf4j\n wall:\n selectWhereAlwayTrueCheck: false\n stat:\n merge-sql: true\n slow-sql-millis: 5000\n datasource:\n master:\n url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai\n username: root\n password: root\n driver-class-name: com.mysql.cj.jdbc.Driver\n redis:\n database: 0\n host: jeecg-boot-redis\n password:\n port: 6379\n rabbitmq:\n host: jeecg-boot-rabbitmq\n username: guest\n password: guest\n port: 5672\n publisher-confirms: true\n publisher-returns: true\n virtual-host: /\n listener:\n simple:\n acknowledge-mode: manual\n concurrency: 1\n max-concurrency: 1\n retry:\n enabled: true\n flyway:\n enabled: false\n locations: classpath:flyway/sql/mysql\nminidao:\n base-package: org.jeecg.modules.jmreport.*,org.jeecg.modules.drag.*\njeecg:\n firewall:\n dataSourceSafe: false\n lowCodeMode: dev\n signatureSecret: dd05f1c54d63749eda95f9fa6d49v442a\n signUrls: /sys/dict/getDictItems/*,/sys/dict/loadDict/*,/sys/dict/loadDictOrderByValue/*,/sys/dict/loadDictItem/*,/sys/dict/loadTreeData,/sys/api/queryTableDictItemsByCode,/sys/api/queryFilterTableDictInfo,/sys/api/queryTableDictByKeys,/sys/api/translateDictFromTable,/sys/api/translateDictFromTableByKeys,/sys/sendChangePwdSms,/sys/user/sendChangePhoneSms,/sys/sms,/desform/api/sendVerifyCode\n uploadType: local\n domainUrl:\n pc: http://localhost:3100\n app: http://localhost:8051\n path:\n upload: /opt/upFiles\n webapp: /opt/webapp\n shiro:\n excludeUrls: /test/jeecgDemo/demo3,/test/jeecgDemo/redisDemo/**,/category/**,/visual/**,/map/**,/jmreport/bigscreen2/**\n oss:\n endpoint: oss-cn-beijing.aliyuncs.com\n accessKey: ??\n secretKey: ??\n bucketName: jeecgdev\n staticDomain: ??\n file-view-domain: 127.0.0.1:8012\n minio:\n minio_url: http://minio.jeecg.com\n minio_name: ??\n minio_pass: ??\n bucketName: otatest\n jmreport:\n saasMode:\n firewall:\n dataSourceSafe: false\n lowCodeMode: dev\n wps:\n domain: https://wwo.wps.cn/office/\n appid: ??\n appsecret: ??\n xxljob:\n enabled: true\n adminAddresses: http://jeecg-boot-xxljob:9080/xxl-job-admin\n appname: ${spring.application.name}\n accessToken: \'\'\n logPath: logs/jeecg/job/jobhandler/\n logRetentionDays: 30\n redisson:\n address: jeecg-boot-redis:6379\n password:\n type: STANDALONE\n enabled: true\n ai-chat:\n enabled: false\n apiKey: \"????\"\n apiHost: \"https://api.openai.com\"\n timeout: 60\n ai-rag:\n embed-store:\n host: 127.0.0.1\n port: 5432\n database: postgres\n user: postgres\n password: postgres\n table: embeddings\ncas:\n prefixUrl: http://localhost:8888/cas\nknife4j:\n production: false\n basic:\n enable: false\n username: jeecg\n password: jeecg1314\njustauth:\n enabled: true\n type:\n GITHUB:\n client-id: ??\n client-secret: ??\n redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/github/callback\n WECHAT_ENTERPRISE:\n client-id: ??\n client-secret: ??\n redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/wechat_enterprise/callback\n agent-id: ??\n DINGTALK:\n client-id: ??\n client-secret: ??\n redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/dingtalk/callback\n cache:\n type: default\n prefix: \'demo::\'\n timeout: 1h\nthird-app:\n enabled: false\n type:\n WECHAT_ENTERPRISE:\n enabled: false\n client-id: ??\n client-secret: ??\n agent-id: ??\n DINGTALK:\n enabled: false\n client-id: ??\n client-secret: ??\n agent-id: ??', '90726230e649e6a178fbf6315c4cc754', '2021-03-03 13:01:11', '2025-09-25 02:11:30', NULL, '0:0:0:0:0:0:0:1', '', '', '', '', '', 'yaml', '', '');
-INSERT INTO `config_info` VALUES (2, 'jeecg.yaml', 'DEFAULT_GROUP', 'server:\n tomcat:\n max-swallow-size: -1\n error:\n include-exception: true\n include-stacktrace: ALWAYS\n include-message: ALWAYS\n compression:\n enabled: true\n min-response-size: 1024\n mime-types: application/javascript,application/json,application/xml,text/html,text/xml,text/plain,text/css,image/*\nmanagement:\n health:\n mail:\n enabled: false\n endpoints:\n web:\n exposure:\n include: \"*\"\n health:\n sensitive: true\n endpoint:\n health:\n show-details: ALWAYS\nspring:\n servlet:\n multipart:\n max-file-size: 10MB\n max-request-size: 10MB\n mail:\n host: smtp.163.com\n username: jeecgos@163.com\n password: ??\n properties:\n mail.smtp.timeout: 10000\n mail.smtp.connectiontimeout: 10000\n mail.smtp.writetimeout: 10000\n mail.smtp.auth: true\n smtp.ssl.enable: true\n quartz:\n job-store-type: jdbc\n jdbc:\n initialize-schema: embedded\n auto-startup: false\n startup-delay: 1s\n overwrite-existing-jobs: true\n properties:\n org:\n quartz:\n scheduler:\n instanceName: MyScheduler\n instanceId: AUTO\n jobStore:\n class: org.springframework.scheduling.quartz.LocalDataSourceJobStore\n driverDelegateClass: org.quartz.impl.jdbcjobstore.StdJDBCDelegate\n tablePrefix: QRTZ_\n isClustered: true\n misfireThreshold: 12000\n clusterCheckinInterval: 15000\n threadPool:\n class: org.quartz.simpl.SimpleThreadPool\n threadCount: 10\n threadPriority: 5\n threadsInheritContextClassLoaderOfInitializingThread: true\n jackson:\n date-format: yyyy-MM-dd HH:mm:ss\n time-zone: GMT+8\n aop:\n proxy-target-class: true\n jpa:\n open-in-view: false\n freemarker:\n suffix: .ftl\n content-type: text/html\n charset: UTF-8\n cache: false\n prefer-file-system-access: false\n template-loader-path:\n - classpath:/templates\n mvc:\n static-path-pattern: /**\n pathmatch:\n matching-strategy: ant_path_matcher\n resource:\n static-locations: classpath:/static/,classpath:/public/\n autoconfigure:\n exclude:\n - com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure\n - org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration\nmybatis-plus:\n mapper-locations: classpath*:org/jeecg/**/xml/*Mapper.xml\n global-config:\n banner: false\n db-config:\n id-type: ASSIGN_ID\n table-underline: true\n configuration:\n call-setters-on-nulls: true\nlogging:\n level:\n org.springframework.context.support.PostProcessorRegistrationDelegate: error\n org.flywaydb: debug\n org.jeecg.modules.system.mapper: info\n org.jeecg.modules.demo.test.mapper: info', '1c0c0a92a6dfa12b5e0706ab76a623ca', '2021-03-03 13:01:42', '2025-09-25 02:11:45', NULL, '0:0:0:0:0:0:0:1', '', '', '', '', '', 'yaml', '', '');
-INSERT INTO `config_info` VALUES (3, 'jeecg-gateway-router.json', 'DEFAULT_GROUP', '[{\n \"id\": \"jeecg-system\",\n \"order\": 0,\n \"predicates\": [{\n \"name\": \"Path\",\n \"args\": {\n \"_genkey_0\": \"/sys/**\",\n \"_genkey_1\": \"/jmreport/**\",\n \"_genkey_3\": \"/online/**\",\n \"_genkey_4\": \"/generic/**\",\n \"_genkey_5\": \"/drag/**\",\n \"_genkey_6\": \"/actuator/**\",\n \"_genkey_7\": \"/airag/**\",\n \"_genkey_8\": \"/jimubi/**\",\n \"_genkey_9\": \"/openapi/**\"\n }\n }],\n \"filters\": [],\n \"uri\": \"lb://jeecg-system\"\n}, {\n \"id\": \"jeecg-demo\",\n \"order\": 1,\n \"predicates\": [{\n \"name\": \"Path\",\n \"args\": {\n \"_genkey_0\": \"/mock/**\",\n \"_genkey_1\": \"/test/**\",\n \"_genkey_2\": \"/bigscreen/template1/**\",\n \"_genkey_3\": \"/bigscreen/template2/**\"\n }\n }],\n \"filters\": [],\n \"uri\": \"lb://jeecg-demo\"\n}, {\n \"id\": \"jeecg-system-websocket\",\n \"order\": 2,\n \"predicates\": [{\n \"name\": \"Path\",\n \"args\": {\n \"_genkey_0\": \"/websocket/**\",\n \"_genkey_1\": \"/newsWebsocket/**\"\n }\n }],\n \"filters\": [],\n \"uri\": \"lb:ws://jeecg-system\"\n}, {\n \"id\": \"jeecg-demo-websocket\",\n \"order\": 3,\n \"predicates\": [{\n \"name\": \"Path\",\n \"args\": {\n \"_genkey_0\": \"/vxeSocket/**\"\n }\n }],\n \"filters\": [],\n \"uri\": \"lb:ws://jeecg-demo\"\n}]', '856da7f7ff7931c6b1932e89d87b83ba', '2021-03-03 13:02:14', '2025-05-21 05:41:09', NULL, '0:0:0:0:0:0:0:1', '', '', '', '', '', 'json', '', '');
-INSERT INTO `config_info` VALUES (11, 'jeecg-sharding.yaml', 'DEFAULT_GROUP', 'spring:\n shardingsphere:\n datasource:\n names: ds0\n ds0:\n driverClassName: com.mysql.cj.jdbc.Driver\n url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai\n username: root\n password: root\n type: com.alibaba.druid.pool.DruidDataSource\n props:\n sql-show: true\n rules:\n sharding:\n binding-tables: sys_log\n key-generators:\n snowflake:\n type: SNOWFLAKE\n props:\n worker-id: 123\n sharding-algorithms:\n table-classbased:\n props:\n strategy: standard\n algorithmClassName: org.jeecg.modules.test.sharding.algorithm.StandardModTableShardAlgorithm\n type: CLASS_BASED\n tables:\n sys_log:\n actual-data-nodes: ds0.sys_log$->{0..1}\n table-strategy:\n standard:\n sharding-algorithm-name: table-classbased\n sharding-column: log_type', 'a93fa455c32cd37ca84631d2bbe13005', '2022-04-13 03:12:28', '2022-08-07 13:13:57', 'nacos', '0:0:0:0:0:0:0:1', '', '', '', '', '', 'yaml', '', NULL);
-INSERT INTO `config_info` VALUES (20, 'jeecg-gateway-dev.yaml', 'DEFAULT_GROUP', 'jeecg:\n route:\n config:\n #type:database nacos yml\n data-type: database\n data-id: jeecg-gateway-router\nspring:\n redis:\n database: 0\n host: jeecg-boot-redis\n port: 6379\n password:\nknife4j:\n production: false', '98e211c54b43a73f7189d92f1c77f815', '2022-08-04 16:36:11', '2024-06-11 16:13:15', NULL, '0:0:0:0:0:0:0:1', '', '', '', '', '', 'yaml', '', '');
-INSERT INTO `config_info` VALUES (22, 'jeecg-sharding-multi.yaml', 'DEFAULT_GROUP', 'spring:\n shardingsphere:\n datasource:\n names: ds0,ds1\n ds0:\n driverClassName: com.mysql.cj.jdbc.Driver\n url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai\n type: com.alibaba.druid.pool.DruidDataSource\n username: root\n password: root\n ds1:\n driverClassName: com.mysql.cj.jdbc.Driver\n url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot2?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai\n type: com.alibaba.druid.pool.DruidDataSource\n username: root\n password: root\n props:\n sql-show: true\n rules:\n replica-query:\n load-balancers:\n round-robin:\n type: ROUND_ROBIN\n props:\n default: 0\n data-sources:\n prds:\n primary-data-source-name: ds0\n replica-data-source-names: ds1\n load-balancer-name: round_robin\n sharding:\n binding-tables:\n - sys_log\n key-generators:\n snowflake:\n type: SNOWFLAKE\n props:\n worker-id: 123\n sharding-algorithms:\n table-classbased:\n props:\n strategy: standard\n algorithmClassName: org.jeecg.modules.test.sharding.algorithm.StandardModTableShardAlgorithm\n type: CLASS_BASED\n database-inline:\n type: INLINE\n props:\n algorithm-expression: ds$->{operate_type % 2}\n tables:\n sys_log:\n actual-data-nodes: ds$->{0..1}.sys_log$->{0..1}\n database-strategy:\n standard:\n sharding-column: operate_type\n sharding-algorithm-name: database-inline\n table-strategy:\n standard:\n sharding-algorithm-name: table-classbased\n sharding-column: log_type', '0fc2b030ca8c0008f148c84ecbd2a8c7', '2022-08-07 06:09:01', '2025-10-13 10:54:36', NULL, '0:0:0:0:0:0:0:1', '', '', '', '', '', 'yaml', '', '');
-INSERT INTO `config_info` VALUES (29, 'jeecg-dev.yaml', 'JEECGDEV_GROUP', 'spring:\n datasource:\n druid:\n stat-view-servlet:\n enabled: true\n loginUsername: admin\n loginPassword: 123456\n allow:\n web-stat-filter:\n enabled: true\n dynamic:\n druid:\n initial-size: 5\n min-idle: 5\n maxActive: 20\n maxWait: 60000\n timeBetweenEvictionRunsMillis: 60000\n minEvictableIdleTimeMillis: 300000\n validationQuery: SELECT 1 FROM DUAL\n testWhileIdle: true\n testOnBorrow: false\n testOnReturn: false\n poolPreparedStatements: true\n maxPoolPreparedStatementPerConnectionSize: 20\n filters: stat,wall,slf4j\n connectionProperties: druid.stat.mergeSql\\=true;druid.stat.slowSqlMillis\\=5000\n datasource:\n master:\n url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai\n username: root\n password: root\n driver-class-name: com.mysql.cj.jdbc.Driver\n redis:\n database: 0\n host: jeecg-boot-redis\n password:\n port: 6379\n rabbitmq:\n host: jeecg-boot-rabbitmq\n username: guest\n password: guest\n port: 5672\n publisher-confirms: true\n publisher-returns: true\n virtual-host: /\n listener:\n simple:\n acknowledge-mode: manual\n concurrency: 1\n max-concurrency: 1\n retry:\n enabled: true\nminidao:\n base-package: org.jeecg.modules.jmreport.*,org.jeecg.modules.drag.*\njeecg:\n signatureSecret: dd05f1c54d63749eda95f9fa6d49v442a\n signUrls: /sys/dict/getDictItems/*,/sys/dict/loadDict/*,/sys/dict/loadDictOrderByValue/*,/sys/dict/loadDictItem/*,/sys/dict/loadTreeData,/sys/api/queryTableDictItemsByCode,/sys/api/queryFilterTableDictInfo,/sys/api/queryTableDictByKeys,/sys/api/translateDictFromTable,/sys/api/translateDictFromTableByKeys\n uploadType: local\n domainUrl:\n pc: http://localhost:3100\n app: http://localhost:8051\n path:\n upload: /opt/upFiles\n webapp: /opt/webapp\n shiro:\n excludeUrls: /test/jeecgDemo/demo3,/test/jeecgDemo/redisDemo/**,/category/**,/visual/**,/map/**,/jmreport/bigscreen2/**\n oss:\n endpoint: oss-cn-beijing.aliyuncs.com\n accessKey: ??\n secretKey: ??\n bucketName: jeecgdev\n staticDomain: ??\n elasticsearch:\n cluster-name: jeecg-ES\n cluster-nodes: jeecg-boot-es:9200\n check-enabled: false\n file-view-domain: 127.0.0.1:8012\n minio:\n minio_url: http://minio.jeecg.com\n minio_name: ??\n minio_pass: ??\n bucketName: otatest\n jmreport:\n mode: dev\n is_verify_token: false\n verify_methods: remove,delete,save,add,update\n wps:\n domain: https://wwo.wps.cn/office/\n appid: ??\n appsecret: ??\n xxljob:\n enabled: true\n adminAddresses: http://jeecg-boot-xxljob:9080/xxl-job-admin\n appname: ${spring.application.name}\n accessToken: \'\'\n logPath: logs/jeecg/job/jobhandler/\n logRetentionDays: 30\n redisson:\n address: jeecg-boot-redis:6379\n password:\n type: STANDALONE\n enabled: true\nlogging:\n level:\n org.jeecg.modules.system.mapper : info\ncas:\n prefixUrl: http://localhost:8888/cas\nknife4j:\n production: false\n basic:\n enable: false\n username: jeecg\n password: jeecg1314\njustauth:\n enabled: true\n type:\n GITHUB:\n client-id: ??\n client-secret: ??\n redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/github/callback\n WECHAT_ENTERPRISE:\n client-id: ??\n client-secret: ??\n redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/wechat_enterprise/callback\n agent-id: ??\n DINGTALK:\n client-id: ??\n client-secret: ??\n redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/dingtalk/callback\n cache:\n type: default\n prefix: \'demo::\'\n timeout: 1h\nthird-app:\n enabled: false\n type:\n WECHAT_ENTERPRISE:\n enabled: false\n client-id: ??\n client-secret: ??\n agent-id: ??\n DINGTALK:\n enabled: false\n client-id: ??\n client-secret: ??\n agent-id: ??', '6c0ec1ace75d0341a1f83978c864c0b3', '2023-07-17 10:05:06', '2023-07-17 11:49:49', NULL, '0:0:0:0:0:0:0:1', '', 'ac14ab82-51f8-4f0c-aa5b-25fb8384bfb6', '', '', '', 'yaml', '', '');
-INSERT INTO `config_info` VALUES (30, 'jeecg.yaml', 'JEECGDEV_GROUP', 'server:\n tomcat:\n max-swallow-size: -1\n error:\n include-exception: true\n include-stacktrace: ALWAYS\n include-message: ALWAYS\n compression:\n enabled: true\n min-response-size: 1024\n mime-types: application/javascript,application/json,application/xml,text/html,text/xml,text/plain,text/css,image/*\nmanagement:\n health:\n mail:\n enabled: false\n endpoints:\n web:\n exposure:\n include: \"*\"\n health:\n sensitive: true\n endpoint:\n health:\n show-details: ALWAYS\nspring:\n servlet:\n multipart:\n max-file-size: 10MB\n max-request-size: 10MB\n mail:\n host: smtp.163.com\n username: jeecgos@163.com\n password: ??\n properties:\n mail:\n smtp:\n auth: true\n starttls:\n enable: true\n required: true\n quartz:\n job-store-type: jdbc\n initialize-schema: embedded\n auto-startup: false\n startup-delay: 1s\n overwrite-existing-jobs: true\n properties:\n org:\n quartz:\n scheduler:\n instanceName: MyScheduler\n instanceId: AUTO\n jobStore:\n class: org.springframework.scheduling.quartz.LocalDataSourceJobStore\n driverDelegateClass: org.quartz.impl.jdbcjobstore.StdJDBCDelegate\n tablePrefix: QRTZ_\n isClustered: true\n misfireThreshold: 12000\n clusterCheckinInterval: 15000\n threadPool:\n class: org.quartz.simpl.SimpleThreadPool\n threadCount: 10\n threadPriority: 5\n threadsInheritContextClassLoaderOfInitializingThread: true\n jackson:\n date-format: yyyy-MM-dd HH:mm:ss\n time-zone: GMT+8\n aop:\n proxy-target-class: true\n activiti:\n check-process-definitions: false\n async-executor-activate: false\n job-executor-activate: false\n jpa:\n open-in-view: false\n freemarker:\n suffix: .ftl\n content-type: text/html\n charset: UTF-8\n cache: false\n prefer-file-system-access: false\n template-loader-path:\n - classpath:/templates\n mvc:\n static-path-pattern: /**\n pathmatch:\n matching-strategy: ant_path_matcher\n resource:\n static-locations: classpath:/static/,classpath:/public/\n autoconfigure:\n exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure\nmybatis-plus:\n mapper-locations: classpath*:org/jeecg/modules/**/xml/*Mapper.xml\n global-config:\n banner: false\n db-config:\n id-type: ASSIGN_ID\n table-underline: true\n configuration:\n call-setters-on-nulls: true', '2117a96ba08e8fd0f66825e87416af27', '2023-07-17 10:05:06', '2023-07-17 10:05:06', NULL, '0:0:0:0:0:0:0:1', '', 'ac14ab82-51f8-4f0c-aa5b-25fb8384bfb6', '', NULL, NULL, 'yaml', NULL, '');
-INSERT INTO `config_info` VALUES (31, 'jeecg-gateway-router.json', 'JEECGDEV_GROUP', '[{\n \"id\": \"jeecg-system\",\n \"order\": 0,\n \"predicates\": [{\n \"name\": \"Path\",\n \"args\": {\n \"_genkey_0\": \"/sys/**\",\n \"_genkey_1\": \"/jmreport/**\",\n \"_genkey_3\": \"/online/**\",\n \"_genkey_4\": \"/generic/**\"\n }\n }],\n \"filters\": [],\n \"uri\": \"lb://jeecg-system\"\n}, {\n \"id\": \"jeecg-demo\",\n \"order\": 1,\n \"predicates\": [{\n \"name\": \"Path\",\n \"args\": {\n \"_genkey_0\": \"/mock/**\",\n \"_genkey_1\": \"/test/**\",\n \"_genkey_2\": \"/bigscreen/template1/**\",\n \"_genkey_3\": \"/bigscreen/template2/**\"\n }\n }],\n \"filters\": [],\n \"uri\": \"lb://jeecg-demo\"\n}, {\n \"id\": \"jeecg-system-websocket\",\n \"order\": 2,\n \"predicates\": [{\n \"name\": \"Path\",\n \"args\": {\n \"_genkey_0\": \"/websocket/**\",\n \"_genkey_1\": \"/newsWebsocket/**\"\n }\n }],\n \"filters\": [],\n \"uri\": \"lb:ws://jeecg-system\"\n}, {\n \"id\": \"jeecg-demo-websocket\",\n \"order\": 3,\n \"predicates\": [{\n \"name\": \"Path\",\n \"args\": {\n \"_genkey_0\": \"/vxeSocket/**\"\n }\n }],\n \"filters\": [],\n \"uri\": \"lb:ws://jeecg-demo\"\n}]', 'be6548051d99309d7fa5ac4398404201', '2023-07-17 10:05:06', '2023-07-17 10:05:06', NULL, '0:0:0:0:0:0:0:1', '', 'ac14ab82-51f8-4f0c-aa5b-25fb8384bfb6', '', NULL, NULL, 'json', NULL, '');
-INSERT INTO `config_info` VALUES (32, 'jeecg-sharding.yaml', 'JEECGDEV_GROUP', 'spring:\n shardingsphere:\n datasource:\n names: ds0\n ds0:\n driverClassName: com.mysql.cj.jdbc.Driver\n url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai\n username: root\n password: root\n type: com.alibaba.druid.pool.DruidDataSource\n props:\n sql-show: true\n rules:\n sharding:\n binding-tables: sys_log\n key-generators:\n snowflake:\n type: SNOWFLAKE\n props:\n worker-id: 123\n sharding-algorithms:\n table-classbased:\n props:\n strategy: standard\n algorithmClassName: org.jeecg.modules.test.sharding.algorithm.StandardModTableShardAlgorithm\n type: CLASS_BASED\n tables:\n sys_log:\n actual-data-nodes: ds0.sys_log$->{0..1}\n table-strategy:\n standard:\n sharding-algorithm-name: table-classbased\n sharding-column: log_type', 'a93fa455c32cd37ca84631d2bbe13005', '2023-07-17 10:05:06', '2023-07-17 10:05:06', NULL, '0:0:0:0:0:0:0:1', '', 'ac14ab82-51f8-4f0c-aa5b-25fb8384bfb6', '', NULL, NULL, 'yaml', NULL, '');
-INSERT INTO `config_info` VALUES (33, 'jeecg-gateway-dev.yaml', 'JEECGDEV_GROUP', 'jeecg:\n route:\n config:\n #type:database nacos yml\n data-type: nacos\n data-id: jeecg-gateway-router\nspring:\n redis:\n database: 0\n host: jeecg-boot-redis\n port: 6379\n password:', 'eeb45ae799de89f4d789139de7a7d12d', '2023-07-17 10:05:06', '2023-07-17 11:49:21', NULL, '0:0:0:0:0:0:0:1', '', 'ac14ab82-51f8-4f0c-aa5b-25fb8384bfb6', '', '', '', 'yaml', '', '');
-INSERT INTO `config_info` VALUES (34, 'jeecg-sharding-multi.yaml', 'JEECGDEV_GROUP', 'spring:\n shardingsphere:\n datasource:\n names: ds0,ds1\n ds0:\n driverClassName: com.mysql.cj.jdbc.Driver\n url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai\n type: com.alibaba.druid.pool.DruidDataSource\n username: root\n password: root\n ds1:\n driverClassName: com.mysql.cj.jdbc.Driver\n url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot2?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai\n type: com.alibaba.druid.pool.DruidDataSource\n username: root\n password: root\n props:\n sql-show: true\n rules:\n replica-query:\n load-balancers:\n round-robin:\n type: ROUND_ROBIN\n props:\n default: 0\n data-sources:\n prds:\n primary-data-source-name: ds0\n replica-data-source-names: ds1\n load-balancer-name: round_robin\n sharding:\n binding-tables:\n - sys_log\n key-generators:\n snowflake:\n type: SNOWFLAKE\n props:\n worker-id: 123\n sharding-algorithms:\n table-classbased:\n props:\n strategy: standard\n algorithmClassName: org.jeecg.modules.test.sharding.algorithm.StandardModTableShardAlgorithm\n type: CLASS_BASED\n database-inline:\n type: INLINE\n props:\n algorithm-expression: ds$->{operate_type % 2}\n tables:\n sys_log:\n actual-data-nodes: ds$->{0..1}.sys_log$->{0..1}\n database-strategy:\n standard:\n sharding-column: operate_type\n sharding-algorithm-name: database-inline\n table-strategy:\n standard:\n sharding-algorithm-name: table-classbased\n sharding-column: log_type', '0fc2b030ca8c0008f148c84ecbd2a8c7', '2023-07-17 10:05:06', '2023-07-17 10:05:06', NULL, '0:0:0:0:0:0:0:1', '', 'ac14ab82-51f8-4f0c-aa5b-25fb8384bfb6', '', NULL, NULL, 'yaml', NULL, '');
-INSERT INTO `config_info` VALUES (37, 'jeecg-dev.yaml', 'DEFAULT_GROUP', 'spring:\n datasource:\n druid:\n stat-view-servlet:\n enabled: true\n loginUsername: admin\n loginPassword: 123456\n allow:\n web-stat-filter:\n enabled: true\n dynamic:\n druid:\n initial-size: 5\n min-idle: 5\n maxActive: 20\n maxWait: 60000\n timeBetweenEvictionRunsMillis: 60000\n minEvictableIdleTimeMillis: 300000\n validationQuery: SELECT 1 FROM DUAL\n testWhileIdle: true\n testOnBorrow: false\n testOnReturn: false\n poolPreparedStatements: true\n maxPoolPreparedStatementPerConnectionSize: 20\n filters: stat,wall,slf4j\n wall:\n selectWhereAlwayTrueCheck: false\n stat:\n merge-sql: true\n slow-sql-millis: 5000\n datasource:\n master:\n url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai\n username: root\n password: root\n driver-class-name: com.mysql.cj.jdbc.Driver\n data:\n redis:\n database: 0\n host: jeecg-boot-redis\n password:\n port: 6379\n rabbitmq:\n host: jeecg-boot-rabbitmq\n username: guest\n password: guest\n port: 5672\n publisher-confirms: true\n publisher-returns: true\n virtual-host: /\n listener:\n simple:\n acknowledge-mode: manual\n concurrency: 1\n max-concurrency: 1\n retry:\n enabled: true\n flyway:\n enabled: false\n encoding: UTF-8\n locations: classpath:flyway/sql/mysql\n sql-migration-prefix: V\n sql-migration-separator: __\n placeholder-prefix: \'#(\'\n placeholder-suffix: )\n sql-migration-suffixes: .sql\n validate-on-migrate: true\n baseline-on-migrate: true\n clean-disabled: true\nminidao:\n base-package: org.jeecg.modules.jmreport.*,org.jeecg.modules.drag.*\njeecg:\n firewall:\n dataSourceSafe: false\n lowCodeMode: dev\n signatureSecret: dd05f1c54d63749eda95f9fa6d49v442a\n signUrls: /sys/dict/getDictItems/*,/sys/dict/loadDict/*,/sys/dict/loadDictOrderByValue/*,/sys/dict/loadDictItem/*,/sys/dict/loadTreeData,/sys/api/queryTableDictItemsByCode,/sys/api/queryFilterTableDictInfo,/sys/api/queryTableDictByKeys,/sys/api/translateDictFromTable,/sys/api/translateDictFromTableByKeys\n uploadType: local\n domainUrl:\n pc: http://localhost:3100\n app: http://localhost:8051\n path:\n upload: /opt/upFiles\n webapp: /opt/webapp\n shiro:\n excludeUrls: /test/jeecgDemo/demo3,/test/jeecgDemo/redisDemo/**,/category/**,/visual/**,/map/**,/jmreport/bigscreen2/**\n oss:\n endpoint: oss-cn-beijing.aliyuncs.com\n accessKey: ??\n secretKey: ??\n bucketName: jeecgdev\n staticDomain: ??\n elasticsearch:\n cluster-name: jeecg-ES\n cluster-nodes: jeecg-boot-es:9200\n check-enabled: false\n file-view-domain: 127.0.0.1:8012\n minio:\n minio_url: http://minio.jeecg.com\n minio_name: ??\n minio_pass: ??\n bucketName: otatest\n jmreport:\n saasMode:\n firewall:\n dataSourceSafe: false\n lowCodeMode: dev\n wps:\n domain: https://wwo.wps.cn/office/\n appid: ??\n appsecret: ??\n xxljob:\n enabled: false\n adminAddresses: http://jeecg-boot-xxljob:9080/xxl-job-admin\n appname: ${spring.application.name}\n accessToken: \'\'\n logPath: logs/jeecg/job/jobhandler/\n logRetentionDays: 30\n redisson:\n address: jeecg-boot-redis:6379\n password:\n type: STANDALONE\n enabled: true\n ai-chat:\n enabled: false\n apiKey: \"????\"\n apiHost: \"https://api.openai.com\"\n timeout: 60\nlogging:\n level:\n org.jeecg.modules.system.mapper : info\ncas:\n prefixUrl: http://localhost:8888/cas\nknife4j:\n production: false\n basic:\n enable: false\n username: jeecg\n password: jeecg1314\njustauth:\n enabled: true\n type:\n GITHUB:\n client-id: ??\n client-secret: ??\n redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/github/callback\n WECHAT_ENTERPRISE:\n client-id: ??\n client-secret: ??\n redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/wechat_enterprise/callback\n agent-id: ??\n DINGTALK:\n client-id: ??\n client-secret: ??\n redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/dingtalk/callback\n cache:\n type: default\n prefix: \'demo::\'\n timeout: 1h\nthird-app:\n enabled: false\n type:\n WECHAT_ENTERPRISE:\n enabled: false\n client-id: ??\n client-secret: ??\n agent-id: ??\n DINGTALK:\n enabled: false\n client-id: ??\n client-secret: ??\n agent-id: ??', '91c29720dfb424916a769201a25200cf', '2024-02-29 09:10:12', '2024-06-11 16:24:46', NULL, '0:0:0:0:0:0:0:1', '', 'efc4e412-b1a1-498f-ba01-b31807649a9a', '', '', '', 'yaml', '', '');
-INSERT INTO `config_info` VALUES (38, 'jeecg.yaml', 'DEFAULT_GROUP', 'server:\n undertow:\n # max-http-post-size: 10MB\n worker-threads: 16\n buffers:\n websocket: 8192\n io: 16384\n error:\n include-exception: true\n include-stacktrace: ALWAYS\n include-message: ALWAYS\n compression:\n enabled: true\n min-response-size: 1024\n mime-types: application/javascript,application/json,application/xml,text/html,text/xml,text/plain,text/css,image/*\nmanagement:\n health:\n mail:\n enabled: false\n endpoints:\n web:\n exposure:\n include: \"*\"\n health:\n sensitive: true\n endpoint:\n health:\n show-details: ALWAYS\nspring:\n servlet:\n multipart:\n max-file-size: 10MB\n max-request-size: 10MB\n mail:\n host: smtp.163.com\n username: jeecgos@163.com\n password: ??\n properties:\n mail:\n smtp:\n auth: true\n starttls:\n enable: true\n required: true\n quartz:\n job-store-type: jdbc\n initialize-schema: embedded\n auto-startup: false\n startup-delay: 1s\n overwrite-existing-jobs: true\n properties:\n org:\n quartz:\n scheduler:\n instanceName: MyScheduler\n instanceId: AUTO\n jobStore:\n class: org.springframework.scheduling.quartz.LocalDataSourceJobStore\n driverDelegateClass: org.quartz.impl.jdbcjobstore.StdJDBCDelegate\n tablePrefix: QRTZ_\n isClustered: true\n misfireThreshold: 12000\n clusterCheckinInterval: 15000\n threadPool:\n class: org.quartz.simpl.SimpleThreadPool\n threadCount: 10\n threadPriority: 5\n threadsInheritContextClassLoaderOfInitializingThread: true\n jackson:\n date-format: yyyy-MM-dd HH:mm:ss\n time-zone: GMT+8\n aop:\n proxy-target-class: true\n activiti:\n check-process-definitions: false\n async-executor-activate: false\n job-executor-activate: false\n jpa:\n open-in-view: false\n freemarker:\n suffix: .ftl\n content-type: text/html\n charset: UTF-8\n cache: false\n prefer-file-system-access: false\n template-loader-path:\n - classpath:/templates\n mvc:\n static-path-pattern: /**\n pathmatch:\n matching-strategy: ant_path_matcher\n resource:\n static-locations: classpath:/static/,classpath:/public/\n autoconfigure:\n exclude:\n - com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure\n - org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration\nmybatis-plus:\n mapper-locations: classpath*:org/jeecg/**/xml/*Mapper.xml\n global-config:\n banner: false\n db-config:\n id-type: ASSIGN_ID\n table-underline: true\n configuration:\n call-setters-on-nulls: true', 'ce1ca3b6f8431e884aed94ab29be43a9', '2024-02-29 09:10:12', '2024-06-11 16:24:11', NULL, '0:0:0:0:0:0:0:1', '', 'efc4e412-b1a1-498f-ba01-b31807649a9a', '', '', '', 'yaml', '', '');
-INSERT INTO `config_info` VALUES (39, 'jeecg-gateway-router.json', 'DEFAULT_GROUP', '[{\n \"id\": \"jeecg-system\",\n \"order\": 0,\n \"predicates\": [{\n \"name\": \"Path\",\n \"args\": {\n \"_genkey_0\": \"/sys/**\",\n \"_genkey_1\": \"/jmreport/**\",\n \"_genkey_3\": \"/online/**\",\n \"_genkey_4\": \"/generic/**\",\n \"_genkey_5\": \"/oauth2/**\",\n \"_genkey_6\": \"/drag/**\",\n \"_genkey_7\": \"/actuator/**\"\n }\n }],\n \"filters\": [],\n \"uri\": \"lb://jeecg-system\"\n}, {\n \"id\": \"jeecg-demo\",\n \"order\": 1,\n \"predicates\": [{\n \"name\": \"Path\",\n \"args\": {\n \"_genkey_0\": \"/mock/**\",\n \"_genkey_1\": \"/test/**\",\n \"_genkey_2\": \"/bigscreen/template1/**\",\n \"_genkey_3\": \"/bigscreen/template2/**\"\n }\n }],\n \"filters\": [],\n \"uri\": \"lb://jeecg-demo\"\n}, {\n \"id\": \"jeecg-system-websocket\",\n \"order\": 2,\n \"predicates\": [{\n \"name\": \"Path\",\n \"args\": {\n \"_genkey_0\": \"/websocket/**\",\n \"_genkey_1\": \"/newsWebsocket/**\"\n }\n }],\n \"filters\": [],\n \"uri\": \"lb:ws://jeecg-system\"\n}, {\n \"id\": \"jeecg-demo-websocket\",\n \"order\": 3,\n \"predicates\": [{\n \"name\": \"Path\",\n \"args\": {\n \"_genkey_0\": \"/vxeSocket/**\"\n }\n }],\n \"filters\": [],\n \"uri\": \"lb:ws://jeecg-demo\"\n}]', '9794beb09d30bc6b835f2ee870781587', '2024-02-29 09:10:12', '2024-06-11 16:25:56', NULL, '0:0:0:0:0:0:0:1', '', 'efc4e412-b1a1-498f-ba01-b31807649a9a', '', '', '', 'json', '', '');
-INSERT INTO `config_info` VALUES (40, 'jeecg-sharding.yaml', 'DEFAULT_GROUP', 'spring:\n shardingsphere:\n datasource:\n names: ds0\n ds0:\n driverClassName: com.mysql.cj.jdbc.Driver\n url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai\n username: root\n password: root\n type: com.alibaba.druid.pool.DruidDataSource\n props:\n sql-show: true\n rules:\n sharding:\n binding-tables: sys_log\n key-generators:\n snowflake:\n type: SNOWFLAKE\n props:\n worker-id: 123\n sharding-algorithms:\n table-classbased:\n props:\n strategy: standard\n algorithmClassName: org.jeecg.modules.test.sharding.algorithm.StandardModTableShardAlgorithm\n type: CLASS_BASED\n tables:\n sys_log:\n actual-data-nodes: ds0.sys_log$->{0..1}\n table-strategy:\n standard:\n sharding-algorithm-name: table-classbased\n sharding-column: log_type', 'a93fa455c32cd37ca84631d2bbe13005', '2024-02-29 09:10:12', '2024-02-29 09:10:12', NULL, '0:0:0:0:0:0:0:1', '', 'efc4e412-b1a1-498f-ba01-b31807649a9a', '', NULL, NULL, 'yaml', NULL, '');
-INSERT INTO `config_info` VALUES (41, 'jeecg-gateway-dev.yaml', 'DEFAULT_GROUP', 'jeecg:\n route:\n config:\n #type:database nacos yml\n data-type: database\n data-id: jeecg-gateway-router\nspring:\n data:\n redis:\n database: 0\n host: jeecg-boot-redis\n port: 6379\n password:\nknife4j:\n production: false', '19d7cd93eeb85a582c8a6942d499c7f7', '2024-02-29 09:10:12', '2024-06-11 16:26:12', NULL, '0:0:0:0:0:0:0:1', '', 'efc4e412-b1a1-498f-ba01-b31807649a9a', '', '', '', 'yaml', '', '');
-INSERT INTO `config_info` VALUES (42, 'jeecg-sharding-multi.yaml', 'DEFAULT_GROUP', 'spring:\n shardingsphere:\n datasource:\n names: ds0,ds1\n ds0:\n driverClassName: com.mysql.cj.jdbc.Driver\n url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai\n type: com.alibaba.druid.pool.DruidDataSource\n username: root\n password: root\n ds1:\n driverClassName: com.mysql.cj.jdbc.Driver\n url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot2?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai\n type: com.alibaba.druid.pool.DruidDataSource\n username: root\n password: root\n props:\n sql-show: true\n rules:\n replica-query:\n load-balancers:\n round-robin:\n type: ROUND_ROBIN\n props:\n default: 0\n data-sources:\n prds:\n primary-data-source-name: ds0\n replica-data-source-names: ds1\n load-balancer-name: round_robin\n sharding:\n binding-tables:\n - sys_log\n key-generators:\n snowflake:\n type: SNOWFLAKE\n props:\n worker-id: 123\n sharding-algorithms:\n table-classbased:\n props:\n strategy: standard\n algorithmClassName: org.jeecg.modules.test.sharding.algorithm.StandardModTableShardAlgorithm\n type: CLASS_BASED\n database-inline:\n type: INLINE\n props:\n algorithm-expression: ds$->{operate_type % 2}\n tables:\n sys_log:\n actual-data-nodes: ds$->{0..1}.sys_log$->{0..1}\n database-strategy:\n standard:\n sharding-column: operate_type\n sharding-algorithm-name: database-inline\n table-strategy:\n standard:\n sharding-algorithm-name: table-classbased\n sharding-column: log_type', '0fc2b030ca8c0008f148c84ecbd2a8c7', '2024-02-29 09:10:12', '2024-02-29 09:10:12', NULL, '0:0:0:0:0:0:0:1', '', 'efc4e412-b1a1-498f-ba01-b31807649a9a', '', NULL, NULL, 'yaml', NULL, '');
-INSERT INTO `config_info` VALUES (43, 'jeecg-dev.yaml', 'DEFAULT_GROUP', 'spring:\n datasource:\n druid:\n stat-view-servlet:\n enabled: true\n loginUsername: admin\n loginPassword: 123456\n allow:\n web-stat-filter:\n enabled: true\n dynamic:\n druid:\n initial-size: 5\n min-idle: 5\n maxActive: 20\n maxWait: 60000\n timeBetweenEvictionRunsMillis: 60000\n minEvictableIdleTimeMillis: 300000\n validationQuery: SELECT 1 FROM DUAL\n testWhileIdle: true\n testOnBorrow: false\n testOnReturn: false\n poolPreparedStatements: true\n maxPoolPreparedStatementPerConnectionSize: 20\n filters: stat,slf4j\n wall:\n selectWhereAlwayTrueCheck: false\n stat:\n merge-sql: true\n slow-sql-millis: 5000\n datasource:\n master:\n url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai\n username: root\n password: root\n driver-class-name: com.mysql.cj.jdbc.Driver\n # sharding-db:\n # driver-class-name: org.apache.shardingsphere.driver.ShardingSphereDriver\n # url: jdbc:shardingsphere:nacos:sharding.yaml?serverAddr=${spring.cloud.nacos.config.server-addr}&namespace=${spring.cloud.nacos.config.namespace}&group=${spring.cloud.nacos.config.group}\n data:\n redis:\n database: 0\n host: jeecg-boot-redis\n password:\n port: 6379\n rabbitmq:\n host: jeecg-boot-rabbitmq\n username: guest\n password: guest\n port: 5672\n publisher-confirms: true\n publisher-returns: true\n virtual-host: /\n listener:\n simple:\n acknowledge-mode: manual\n concurrency: 1\n max-concurrency: 1\n retry:\n enabled: true\n flyway:\n enabled: false\n locations: classpath:flyway/sql/mysql\n clean-disabled: true\nminidao:\n base-package: org.jeecg.modules.jmreport.*,org.jeecg.modules.drag.*\njeecg:\n firewall:\n dataSourceSafe: false\n lowCodeMode: dev\n signatureSecret: dd05f1c54d63749eda95f9fa6d49v442a\n signUrls: /sys/dict/getDictItems/*,/sys/dict/loadDict/*,/sys/dict/loadDictOrderByValue/*,/sys/dict/loadDictItem/*,/sys/dict/loadTreeData,/sys/api/queryTableDictItemsByCode,/sys/api/queryFilterTableDictInfo,/sys/api/queryTableDictByKeys,/sys/api/translateDictFromTable,/sys/api/translateDictFromTableByKeys\n uploadType: local\n domainUrl:\n pc: http://localhost:3100\n app: http://localhost:8051\n path:\n upload: /opt/upFiles\n webapp: /opt/webapp\n shiro:\n excludeUrls: /test/jeecgDemo/demo3,/test/jeecgDemo/redisDemo/**,/category/**,/visual/**,/map/**,/jmreport/bigscreen2/**\n oss:\n endpoint: oss-cn-beijing.aliyuncs.com\n accessKey: ??\n secretKey: ??\n bucketName: jeecgdev\n staticDomain: ?? \n file-view-domain: 127.0.0.1:8012\n minio:\n minio_url: http://minio.jeecg.com\n minio_name: ??\n minio_pass: ??\n bucketName: otatest\n jmreport:\n saasMode:\n firewall:\n dataSourceSafe: false\n lowCodeMode: dev\n wps:\n domain: https://wwo.wps.cn/office/\n appid: ??\n appsecret: ??\n xxljob:\n enabled: false\n adminAddresses: http://jeecg-boot-xxljob:9080/xxl-job-admin\n appname: ${spring.application.name}\n accessToken: \'\'\n logPath: logs/jeecg/job/jobhandler/\n logRetentionDays: 30\n redisson:\n address: jeecg-boot-redis:6379\n password:\n type: STANDALONE\n enabled: true\n ai-chat:\n enabled: false\n apiKey: \"????\"\n apiHost: \"https://api.openai.com\"\n timeout: 60\n ai-rag:\n embed-store:\n host: 127.0.0.1\n port: 5432\n database: postgres\n user: postgres\n password: postgres\n table: embeddings\ncas:\n prefixUrl: http://localhost:8888/cas\nknife4j:\n production: false\n basic:\n enable: false\n username: jeecg\n password: jeecg1314\njustauth:\n enabled: true\n type:\n GITHUB:\n client-id: ??\n client-secret: ??\n redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/github/callback\n WECHAT_ENTERPRISE:\n client-id: ??\n client-secret: ??\n redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/wechat_enterprise/callback\n agent-id: ??\n DINGTALK:\n client-id: ??\n client-secret: ??\n redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/dingtalk/callback\n cache:\n type: default\n prefix: \'demo::\'\n timeout: 1h\nthird-app:\n enabled: false\n type:\n WECHAT_ENTERPRISE:\n enabled: false\n client-id: ??\n client-secret: ??\n agent-id: ??\n DINGTALK:\n enabled: false\n client-id: ??\n client-secret: ??\n agent-id: ??', '6759f0f45d7d36981fe677e1d53f3a75', '2024-06-22 15:11:57', '2025-10-14 08:13:43', NULL, '0:0:0:0:0:0:0:1', '', 'springboot3', '', '', '', 'yaml', '', '');
-INSERT INTO `config_info` VALUES (44, 'jeecg.yaml', 'DEFAULT_GROUP', 'server:\n tomcat:\n max-swallow-size: -1\n error:\n include-exception: true\n include-stacktrace: ALWAYS\n include-message: ALWAYS\n compression:\n enabled: true\n min-response-size: 1024\n mime-types: application/javascript,application/json,application/xml,text/html,text/xml,text/plain,text/css,image/*\nmanagement:\n health:\n mail:\n enabled: false\n endpoints:\n web:\n exposure:\n include: metrics,httpexchanges,jeecghttptrace\n health:\n sensitive: true\n endpoint:\n health:\n show-details: ALWAYS\nspring:\n servlet:\n multipart:\n max-file-size: 10MB\n max-request-size: 10MB\n mail:\n host: smtp.163.com\n username: jeecgos@163.com\n password: ??\n properties:\n mail.smtp.timeout: 10000\n mail.smtp.connectiontimeout: 10000\n mail.smtp.writetimeout: 10000\n mail.smtp.auth: true\n smtp.ssl.enable: true\n quartz:\n job-store-type: jdbc\n jdbc:\n initialize-schema: embedded\n auto-startup: false\n startup-delay: 1s\n overwrite-existing-jobs: true\n properties:\n org:\n quartz:\n scheduler:\n instanceName: MyScheduler\n instanceId: AUTO\n jobStore:\n class: org.springframework.scheduling.quartz.LocalDataSourceJobStore\n driverDelegateClass: org.quartz.impl.jdbcjobstore.StdJDBCDelegate\n tablePrefix: QRTZ_\n isClustered: true\n misfireThreshold: 12000\n clusterCheckinInterval: 15000\n threadPool:\n class: org.quartz.simpl.SimpleThreadPool\n threadCount: 10\n threadPriority: 5\n threadsInheritContextClassLoaderOfInitializingThread: true\n jackson:\n date-format: yyyy-MM-dd HH:mm:ss\n time-zone: GMT+8\n aop:\n proxy-target-class: true\n jpa:\n open-in-view: false\n freemarker:\n suffix: .ftl\n content-type: text/html\n charset: UTF-8\n cache: false\n prefer-file-system-access: false\n template-loader-path:\n - classpath:/templates\n mvc:\n static-path-pattern: /**\n pathmatch:\n matching-strategy: ant_path_matcher\n resource:\n static-locations: classpath:/static/,classpath:/public/\n autoconfigure:\n exclude:\n - com.alibaba.druid.spring.boot3.autoconfigure.DruidDataSourceAutoConfigure\n - org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration\nmybatis-plus:\n mapper-locations: classpath*:org/jeecg/**/xml/*Mapper.xml\n global-config:\n banner: false\n db-config:\n id-type: ASSIGN_ID\n table-underline: true\n configuration:\n call-setters-on-nulls: true\nlogging:\n level:\n org.springframework.context.support.PostProcessorRegistrationDelegate: error\n org.flywaydb: debug\n org.jeecg.modules.system.mapper: info\n org.jeecg.modules.demo.test.mapper: info', '8616567e72566f431d16e122b58a595a', '2024-06-22 15:11:57', '2025-09-25 02:09:22', NULL, '0:0:0:0:0:0:0:1', '', 'springboot3', '', '', '', 'yaml', '', '');
-INSERT INTO `config_info` VALUES (45, 'jeecg-gateway-router.json', 'DEFAULT_GROUP', '[{\n \"id\": \"jeecg-system\",\n \"order\": 0,\n \"predicates\": [{\n \"name\": \"Path\",\n \"args\": {\n \"_genkey_0\": \"/sys/**\",\n \"_genkey_1\": \"/jmreport/**\",\n \"_genkey_3\": \"/online/**\",\n \"_genkey_4\": \"/generic/**\",\n \"_genkey_5\": \"/oauth2/**\",\n \"_genkey_6\": \"/drag/**\",\n \"_genkey_7\": \"/actuator/**\"\n }\n }],\n \"filters\": [],\n \"uri\": \"lb://jeecg-system\"\n}, {\n \"id\": \"jeecg-demo\",\n \"order\": 1,\n \"predicates\": [{\n \"name\": \"Path\",\n \"args\": {\n \"_genkey_0\": \"/mock/**\",\n \"_genkey_1\": \"/test/**\",\n \"_genkey_2\": \"/bigscreen/template1/**\",\n \"_genkey_3\": \"/bigscreen/template2/**\"\n }\n }],\n \"filters\": [],\n \"uri\": \"lb://jeecg-demo\"\n}, {\n \"id\": \"jeecg-system-websocket\",\n \"order\": 2,\n \"predicates\": [{\n \"name\": \"Path\",\n \"args\": {\n \"_genkey_0\": \"/websocket/**\",\n \"_genkey_1\": \"/newsWebsocket/**\"\n }\n }],\n \"filters\": [],\n \"uri\": \"lb:ws://jeecg-system\"\n}, {\n \"id\": \"jeecg-demo-websocket\",\n \"order\": 3,\n \"predicates\": [{\n \"name\": \"Path\",\n \"args\": {\n \"_genkey_0\": \"/vxeSocket/**\"\n }\n }],\n \"filters\": [],\n \"uri\": \"lb:ws://jeecg-demo\"\n}]', '9794beb09d30bc6b835f2ee870781587', '2024-06-22 15:11:57', '2024-06-22 15:11:57', NULL, '0:0:0:0:0:0:0:1', '', 'springboot3', '', NULL, NULL, 'json', NULL, '');
-INSERT INTO `config_info` VALUES (47, 'jeecg-gateway-dev.yaml', 'DEFAULT_GROUP', 'jeecg:\n route:\n config:\n #type:database nacos yml\n data-type: database\n data-id: jeecg-gateway-router\nspring:\n data:\n redis:\n database: 0\n host: jeecg-boot-redis\n port: 6379\n password:\nknife4j:\n production: false', '19d7cd93eeb85a582c8a6942d499c7f7', '2024-06-22 15:11:57', '2024-06-22 15:11:57', NULL, '0:0:0:0:0:0:0:1', '', 'springboot3', '', NULL, NULL, 'yaml', NULL, '');
-INSERT INTO `config_info` VALUES (52, 'sharding.yaml', 'DEFAULT_GROUP', 'databaseName: sharding-db\n\ndataSources:\n db_0:\n dataSourceClassName: com.zaxxer.hikari.HikariDataSource\n driverClassName: com.mysql.cj.jdbc.Driver\n jdbcUrl: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai\n password: root\n username: root\n\nrules:\n - !SHARDING\n tables:\n sys_log:\n actualDataNodes: db_0.sys_log$->{0..1}\n databaseStrategy:\n none:\n tableStrategy:\n standard:\n shardingColumn: log_type\n shardingAlgorithmName: user_inline\n keyGenerateStrategy:\n column: id\n keyGeneratorName: snowflake\n keyGenerators:\n snowflake:\n type: SNOWFLAKE\n props:\n worker-id: 123\n shardingAlgorithms:\n user_inline:\n type: INLINE\n props:\n algorithm-expression: sys_log$->{log_type % 2}\n\nprops:\n sql-show: true', '8f7816bc3c819f43e52986095edb19eb', '2025-10-14 04:18:26', '2025-10-14 08:05:45', NULL, '0:0:0:0:0:0:0:1', '', 'springboot3', '', '', '', 'yaml', '', '');
-
--- ----------------------------
--- Table structure for config_info_aggr
--- ----------------------------
-DROP TABLE IF EXISTS `config_info_aggr`;
-CREATE TABLE `config_info_aggr` (
- `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
- `data_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'data_id',
- `group_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'group_id',
- `datum_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'datum_id',
- `content` longtext CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT '内容',
- `gmt_modified` datetime NOT NULL COMMENT '修改时间',
- `app_name` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL,
- `tenant_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT '' COMMENT '租户字段',
- PRIMARY KEY (`id`) USING BTREE,
- UNIQUE INDEX `uk_configinfoaggr_datagrouptenantdatum`(`data_id`, `group_id`, `tenant_id`, `datum_id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_bin COMMENT = '增加租户字段' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Records of config_info_aggr
--- ----------------------------
-
--- ----------------------------
--- Table structure for config_info_beta
--- ----------------------------
-DROP TABLE IF EXISTS `config_info_beta`;
-CREATE TABLE `config_info_beta` (
- `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
- `data_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'data_id',
- `group_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'group_id',
- `app_name` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'app_name',
- `content` longtext CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'content',
- `beta_ips` varchar(1024) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'betaIps',
- `md5` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'md5',
- `gmt_create` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '创建时间',
- `gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '修改时间',
- `src_user` text CHARACTER SET utf8 COLLATE utf8_bin NULL COMMENT 'source user',
- `src_ip` varchar(20) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'source ip',
- `tenant_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT '' COMMENT '租户字段',
- `encrypted_data_key` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT '加密key',
- PRIMARY KEY (`id`) USING BTREE,
- UNIQUE INDEX `uk_configinfobeta_datagrouptenant`(`data_id`, `group_id`, `tenant_id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_bin COMMENT = 'config_info_beta' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Records of config_info_beta
--- ----------------------------
-
--- ----------------------------
--- Table structure for config_info_tag
--- ----------------------------
-DROP TABLE IF EXISTS `config_info_tag`;
-CREATE TABLE `config_info_tag` (
- `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
- `data_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'data_id',
- `group_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'group_id',
- `tenant_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT '' COMMENT 'tenant_id',
- `tag_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'tag_id',
- `app_name` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'app_name',
- `content` longtext CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'content',
- `md5` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'md5',
- `gmt_create` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '创建时间',
- `gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '修改时间',
- `src_user` text CHARACTER SET utf8 COLLATE utf8_bin NULL COMMENT 'source user',
- `src_ip` varchar(20) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'source ip',
- `encrypted_data_key` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT '加密key',
- PRIMARY KEY (`id`) USING BTREE,
- UNIQUE INDEX `uk_configinfotag_datagrouptenanttag`(`data_id`, `group_id`, `tenant_id`, `tag_id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_bin COMMENT = 'config_info_tag' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Records of config_info_tag
--- ----------------------------
-
--- ----------------------------
--- Table structure for config_tags_relation
--- ----------------------------
-DROP TABLE IF EXISTS `config_tags_relation`;
-CREATE TABLE `config_tags_relation` (
- `id` bigint(20) NOT NULL COMMENT 'id',
- `tag_name` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'tag_name',
- `tag_type` varchar(64) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'tag_type',
- `data_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'data_id',
- `group_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'group_id',
- `tenant_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT '' COMMENT 'tenant_id',
- `nid` bigint(20) NOT NULL AUTO_INCREMENT,
- PRIMARY KEY (`nid`) USING BTREE,
- UNIQUE INDEX `uk_configtagrelation_configidtag`(`id`, `tag_name`, `tag_type`) USING BTREE,
- INDEX `idx_tenant_id`(`tenant_id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_bin COMMENT = 'config_tag_relation' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Records of config_tags_relation
--- ----------------------------
-
--- ----------------------------
--- Table structure for group_capacity
--- ----------------------------
-DROP TABLE IF EXISTS `group_capacity`;
-CREATE TABLE `group_capacity` (
- `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键ID',
- `group_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT 'Group ID,空字符表示整个集群',
- `quota` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '配额,0表示使用默认值',
- `usage` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '使用量',
- `max_size` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '单个配置大小上限,单位为字节,0表示使用默认值',
- `max_aggr_count` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '聚合子配置最大个数,,0表示使用默认值',
- `max_aggr_size` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值',
- `max_history_count` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '最大变更历史数量',
- `gmt_create` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '创建时间',
- `gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '修改时间',
- PRIMARY KEY (`id`) USING BTREE,
- UNIQUE INDEX `uk_group_id`(`group_id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_bin COMMENT = '集群、各Group容量信息表' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Records of group_capacity
--- ----------------------------
-
--- ----------------------------
--- Table structure for his_config_info
--- ----------------------------
-DROP TABLE IF EXISTS `his_config_info`;
-CREATE TABLE `his_config_info` (
- `id` bigint(20) UNSIGNED NOT NULL,
- `nid` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT,
- `data_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
- `group_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
- `app_name` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'app_name',
- `content` longtext CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
- `md5` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL,
- `gmt_create` datetime NOT NULL DEFAULT '2010-05-05 00:00:00',
- `gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00',
- `src_user` text CHARACTER SET utf8 COLLATE utf8_bin NULL,
- `src_ip` varchar(20) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL,
- `op_type` char(10) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL,
- `tenant_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT '' COMMENT '租户字段',
- `encrypted_data_key` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT '加密key',
- PRIMARY KEY (`nid`) USING BTREE,
- INDEX `idx_gmt_create`(`gmt_create`) USING BTREE,
- INDEX `idx_gmt_modified`(`gmt_modified`) USING BTREE,
- INDEX `idx_did`(`data_id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 54 CHARACTER SET = utf8 COLLATE = utf8_bin COMMENT = '多租户改造' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Records of his_config_info
--- ----------------------------
-INSERT INTO `his_config_info` VALUES (44, 11, 'jeecg.yaml', 'DEFAULT_GROUP', '', 'server:\n undertow:\n # max-http-post-size: 10MB\n decode-url: true\n worker-threads: 16\n buffers:\n websocket: 8192\n io: 16384\n error:\n include-exception: true\n include-stacktrace: ALWAYS\n include-message: ALWAYS\n compression:\n enabled: true\n min-response-size: 1024\n mime-types: application/javascript,application/json,application/xml,text/html,text/xml,text/plain,text/css,image/*\nmanagement:\n health:\n mail:\n enabled: false\n endpoints:\n web:\n exposure:\n include: metrics,httpexchanges,jeecghttptrace\n # include: \"*\"\n health:\n sensitive: true\n endpoint:\n health:\n show-details: ALWAYS\nspring:\n servlet:\n multipart:\n max-file-size: 10MB\n max-request-size: 10MB\n mail:\n host: smtp.163.com\n username: jeecgos@163.com\n password: ??\n properties:\n mail:\n smtp:\n auth: true\n starttls:\n enable: true\n required: true\n quartz:\n job-store-type: jdbc\n initialize-schema: embedded\n auto-startup: false\n startup-delay: 1s\n overwrite-existing-jobs: true\n properties:\n org:\n quartz:\n scheduler:\n instanceName: MyScheduler\n instanceId: AUTO\n jobStore:\n class: org.springframework.scheduling.quartz.LocalDataSourceJobStore\n driverDelegateClass: org.quartz.impl.jdbcjobstore.StdJDBCDelegate\n tablePrefix: QRTZ_\n isClustered: true\n misfireThreshold: 12000\n clusterCheckinInterval: 15000\n threadPool:\n class: org.quartz.simpl.SimpleThreadPool\n threadCount: 10\n threadPriority: 5\n threadsInheritContextClassLoaderOfInitializingThread: true\n jackson:\n date-format: yyyy-MM-dd HH:mm:ss\n time-zone: GMT+8\n aop:\n proxy-target-class: true\n activiti:\n check-process-definitions: false\n async-executor-activate: false\n job-executor-activate: false\n jpa:\n open-in-view: false\n freemarker:\n suffix: .ftl\n content-type: text/html\n charset: UTF-8\n cache: false\n prefer-file-system-access: false\n template-loader-path:\n - classpath:/templates\n mvc:\n static-path-pattern: /**\n pathmatch:\n matching-strategy: ant_path_matcher\n resource:\n static-locations: classpath:/static/,classpath:/public/\n autoconfigure:\n exclude:\n - com.alibaba.druid.spring.boot3.autoconfigure.DruidDataSourceAutoConfigure\n - org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration\nmybatis-plus:\n mapper-locations: classpath*:org/jeecg/**/xml/*Mapper.xml\n global-config:\n banner: false\n db-config:\n id-type: ASSIGN_ID\n table-underline: true\n configuration:\n call-setters-on-nulls: true', 'ee6593a5dbd94d90e841a466e1eee018', '2010-05-05 00:00:00', '2025-09-25 02:09:22', NULL, '0:0:0:0:0:0:0:1', 'U', 'springboot3', '');
-INSERT INTO `his_config_info` VALUES (43, 12, 'jeecg-dev.yaml', 'DEFAULT_GROUP', '', 'spring:\n datasource:\n druid:\n stat-view-servlet:\n enabled: true\n loginUsername: admin\n loginPassword: 123456\n allow:\n web-stat-filter:\n enabled: true\n dynamic:\n druid:\n initial-size: 5\n min-idle: 5\n maxActive: 20\n maxWait: 60000\n timeBetweenEvictionRunsMillis: 60000\n minEvictableIdleTimeMillis: 300000\n validationQuery: SELECT 1 FROM DUAL\n testWhileIdle: true\n testOnBorrow: false\n testOnReturn: false\n poolPreparedStatements: true\n maxPoolPreparedStatementPerConnectionSize: 20\n filters: stat,wall,slf4j\n wall:\n selectWhereAlwayTrueCheck: false\n stat:\n merge-sql: true\n slow-sql-millis: 5000\n datasource:\n master:\n url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai\n username: root\n password: root\n driver-class-name: com.mysql.cj.jdbc.Driver\n data:\n redis:\n database: 0\n host: jeecg-boot-redis\n password:\n port: 6379\n rabbitmq:\n host: jeecg-boot-rabbitmq\n username: guest\n password: guest\n port: 5672\n publisher-confirms: true\n publisher-returns: true\n virtual-host: /\n listener:\n simple:\n acknowledge-mode: manual\n concurrency: 1\n max-concurrency: 1\n retry:\n enabled: true\n flyway:\n enabled: false\n locations: classpath:flyway/sql/mysql\n clean-disabled: true\nminidao:\n base-package: org.jeecg.modules.jmreport.*,org.jeecg.modules.drag.*\njeecg:\n firewall:\n dataSourceSafe: false\n lowCodeMode: dev\n signatureSecret: dd05f1c54d63749eda95f9fa6d49v442a\n signUrls: /sys/dict/getDictItems/*,/sys/dict/loadDict/*,/sys/dict/loadDictOrderByValue/*,/sys/dict/loadDictItem/*,/sys/dict/loadTreeData,/sys/api/queryTableDictItemsByCode,/sys/api/queryFilterTableDictInfo,/sys/api/queryTableDictByKeys,/sys/api/translateDictFromTable,/sys/api/translateDictFromTableByKeys\n uploadType: local\n domainUrl:\n pc: http://localhost:3100\n app: http://localhost:8051\n path:\n upload: /opt/upFiles\n webapp: /opt/webapp\n shiro:\n excludeUrls: /test/jeecgDemo/demo3,/test/jeecgDemo/redisDemo/**,/category/**,/visual/**,/map/**,/jmreport/bigscreen2/**\n oss:\n endpoint: oss-cn-beijing.aliyuncs.com\n accessKey: ??\n secretKey: ??\n bucketName: jeecgdev\n staticDomain: ?? \n file-view-domain: 127.0.0.1:8012\n minio:\n minio_url: http://minio.jeecg.com\n minio_name: ??\n minio_pass: ??\n bucketName: otatest\n jmreport:\n saasMode:\n firewall:\n dataSourceSafe: false\n lowCodeMode: dev\n wps:\n domain: https://wwo.wps.cn/office/\n appid: ??\n appsecret: ??\n xxljob:\n enabled: false\n adminAddresses: http://jeecg-boot-xxljob:9080/xxl-job-admin\n appname: ${spring.application.name}\n accessToken: \'\'\n logPath: logs/jeecg/job/jobhandler/\n logRetentionDays: 30\n redisson:\n address: jeecg-boot-redis:6379\n password:\n type: STANDALONE\n enabled: true\n ai-chat:\n enabled: false\n apiKey: \"????\"\n apiHost: \"https://api.openai.com\"\n timeout: 60\n ai-rag:\n embed-store:\n host: 127.0.0.1\n port: 5432\n database: postgres\n user: postgres\n password: postgres\n table: embeddings\nlogging:\n level:\n org.jeecg.modules.system.mapper : info\ncas:\n prefixUrl: http://localhost:8888/cas\nknife4j:\n production: false\n basic:\n enable: false\n username: jeecg\n password: jeecg1314\njustauth:\n enabled: true\n type:\n GITHUB:\n client-id: ??\n client-secret: ??\n redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/github/callback\n WECHAT_ENTERPRISE:\n client-id: ??\n client-secret: ??\n redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/wechat_enterprise/callback\n agent-id: ??\n DINGTALK:\n client-id: ??\n client-secret: ??\n redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/dingtalk/callback\n cache:\n type: default\n prefix: \'demo::\'\n timeout: 1h\nthird-app:\n enabled: false\n type:\n WECHAT_ENTERPRISE:\n enabled: false\n client-id: ??\n client-secret: ??\n agent-id: ??\n DINGTALK:\n enabled: false\n client-id: ??\n client-secret: ??\n agent-id: ??', 'dff588d1a47f42650e691b6621a401a8', '2010-05-05 00:00:00', '2025-09-25 02:09:43', NULL, '0:0:0:0:0:0:0:1', 'U', 'springboot3', '');
-INSERT INTO `his_config_info` VALUES (2, 13, 'jeecg.yaml', 'DEFAULT_GROUP', '', 'server:\n undertow:\n decode-url: true\n worker-threads: 16\n buffers:\n websocket: 8192\n io: 16384\n error:\n include-exception: true\n include-stacktrace: ALWAYS\n include-message: ALWAYS\n compression:\n enabled: true\n min-response-size: 1024\n mime-types: application/javascript,application/json,application/xml,text/html,text/xml,text/plain,text/css,image/*\nmanagement:\n health:\n mail:\n enabled: false\n endpoints:\n web:\n exposure:\n include: \"*\"\n health:\n sensitive: true\n endpoint:\n health:\n show-details: ALWAYS\nspring:\n servlet:\n multipart:\n max-file-size: 10MB\n max-request-size: 10MB\n mail:\n host: smtp.163.com\n username: jeecgos@163.com\n password: ??\n properties:\n mail:\n smtp:\n auth: true\n starttls:\n enable: true\n required: true\n quartz:\n job-store-type: jdbc\n initialize-schema: embedded\n auto-startup: false\n startup-delay: 1s\n overwrite-existing-jobs: true\n properties:\n org:\n quartz:\n scheduler:\n instanceName: MyScheduler\n instanceId: AUTO\n jobStore:\n class: org.springframework.scheduling.quartz.LocalDataSourceJobStore\n driverDelegateClass: org.quartz.impl.jdbcjobstore.StdJDBCDelegate\n tablePrefix: QRTZ_\n isClustered: true\n misfireThreshold: 12000\n clusterCheckinInterval: 15000\n threadPool:\n class: org.quartz.simpl.SimpleThreadPool\n threadCount: 10\n threadPriority: 5\n threadsInheritContextClassLoaderOfInitializingThread: true\n jackson:\n date-format: yyyy-MM-dd HH:mm:ss\n time-zone: GMT+8\n aop:\n proxy-target-class: true\n activiti:\n check-process-definitions: false\n async-executor-activate: false\n job-executor-activate: false\n jpa:\n open-in-view: false\n freemarker:\n suffix: .ftl\n content-type: text/html\n charset: UTF-8\n cache: false\n prefer-file-system-access: false\n template-loader-path:\n - classpath:/templates\n mvc:\n static-path-pattern: /**\n pathmatch:\n matching-strategy: ant_path_matcher\n resource:\n static-locations: classpath:/static/,classpath:/public/\n autoconfigure:\n exclude:\n - com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure\n - org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration\nmybatis-plus:\n mapper-locations: classpath*:org/jeecg/**/xml/*Mapper.xml\n global-config:\n banner: false\n db-config:\n id-type: ASSIGN_ID\n table-underline: true\n configuration:\n call-setters-on-nulls: true', '70bdbfdeb2651673aea0d06ed40b4ac1', '2010-05-05 00:00:00', '2025-09-25 02:11:11', NULL, '0:0:0:0:0:0:0:1', 'U', '', '');
-INSERT INTO `his_config_info` VALUES (1, 14, 'jeecg-dev.yaml', 'DEFAULT_GROUP', '', 'spring:\n datasource:\n druid:\n stat-view-servlet:\n enabled: true\n loginUsername: admin\n loginPassword: 123456\n allow:\n web-stat-filter:\n enabled: true\n dynamic:\n druid:\n initial-size: 5\n min-idle: 5\n maxActive: 20\n maxWait: 60000\n timeBetweenEvictionRunsMillis: 60000\n minEvictableIdleTimeMillis: 300000\n validationQuery: SELECT 1 FROM DUAL\n testWhileIdle: true\n testOnBorrow: false\n testOnReturn: false\n poolPreparedStatements: true\n maxPoolPreparedStatementPerConnectionSize: 20\n filters: stat,wall,slf4j\n wall:\n selectWhereAlwayTrueCheck: false\n stat:\n merge-sql: true\n slow-sql-millis: 5000\n datasource:\n master:\n url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai\n username: root\n password: root\n driver-class-name: com.mysql.cj.jdbc.Driver\n redis:\n database: 0\n host: jeecg-boot-redis\n password:\n port: 6379\n rabbitmq:\n host: jeecg-boot-rabbitmq\n username: guest\n password: guest\n port: 5672\n publisher-confirms: true\n publisher-returns: true\n virtual-host: /\n listener:\n simple:\n acknowledge-mode: manual\n concurrency: 1\n max-concurrency: 1\n retry:\n enabled: true\n flyway:\n enabled: false\n locations: classpath:flyway/sql/mysql\nminidao:\n base-package: org.jeecg.modules.jmreport.*,org.jeecg.modules.drag.*\njeecg:\n firewall:\n dataSourceSafe: false\n lowCodeMode: dev\n signatureSecret: dd05f1c54d63749eda95f9fa6d49v442a\n signUrls: /sys/dict/getDictItems/*,/sys/dict/loadDict/*,/sys/dict/loadDictOrderByValue/*,/sys/dict/loadDictItem/*,/sys/dict/loadTreeData,/sys/api/queryTableDictItemsByCode,/sys/api/queryFilterTableDictInfo,/sys/api/queryTableDictByKeys,/sys/api/translateDictFromTable,/sys/api/translateDictFromTableByKeys,/sys/sendChangePwdSms,/sys/user/sendChangePhoneSms,/sys/sms,/desform/api/sendVerifyCode\n uploadType: local\n domainUrl:\n pc: http://localhost:3100\n app: http://localhost:8051\n path:\n upload: /opt/upFiles\n webapp: /opt/webapp\n shiro:\n excludeUrls: /test/jeecgDemo/demo3,/test/jeecgDemo/redisDemo/**,/category/**,/visual/**,/map/**,/jmreport/bigscreen2/**\n oss:\n endpoint: oss-cn-beijing.aliyuncs.com\n accessKey: ??\n secretKey: ??\n bucketName: jeecgdev\n staticDomain: ??\n file-view-domain: 127.0.0.1:8012\n minio:\n minio_url: http://minio.jeecg.com\n minio_name: ??\n minio_pass: ??\n bucketName: otatest\n jmreport:\n saasMode:\n firewall:\n dataSourceSafe: false\n lowCodeMode: dev\n wps:\n domain: https://wwo.wps.cn/office/\n appid: ??\n appsecret: ??\n xxljob:\n enabled: true\n adminAddresses: http://jeecg-boot-xxljob:9080/xxl-job-admin\n appname: ${spring.application.name}\n accessToken: \'\'\n logPath: logs/jeecg/job/jobhandler/\n logRetentionDays: 30\n redisson:\n address: jeecg-boot-redis:6379\n password:\n type: STANDALONE\n enabled: true\n ai-chat:\n enabled: false\n apiKey: \"????\"\n apiHost: \"https://api.openai.com\"\n timeout: 60\n ai-rag:\n embed-store:\n host: 127.0.0.1\n port: 5432\n database: postgres\n user: postgres\n password: postgres\n table: embeddings\nlogging:\n level:\n org.jeecg.modules.system.mapper : info\ncas:\n prefixUrl: http://localhost:8888/cas\nknife4j:\n production: false\n basic:\n enable: false\n username: jeecg\n password: jeecg1314\njustauth:\n enabled: true\n type:\n GITHUB:\n client-id: ??\n client-secret: ??\n redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/github/callback\n WECHAT_ENTERPRISE:\n client-id: ??\n client-secret: ??\n redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/wechat_enterprise/callback\n agent-id: ??\n DINGTALK:\n client-id: ??\n client-secret: ??\n redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/dingtalk/callback\n cache:\n type: default\n prefix: \'demo::\'\n timeout: 1h\nthird-app:\n enabled: false\n type:\n WECHAT_ENTERPRISE:\n enabled: false\n client-id: ??\n client-secret: ??\n agent-id: ??\n DINGTALK:\n enabled: false\n client-id: ??\n client-secret: ??\n agent-id: ??', '68112d529219e88a44245402ccf54676', '2010-05-05 00:00:00', '2025-09-25 02:11:30', NULL, '0:0:0:0:0:0:0:1', 'U', '', '');
-INSERT INTO `his_config_info` VALUES (2, 15, 'jeecg.yaml', 'DEFAULT_GROUP', '', 'server:\n tomcat:\n max-swallow-size: -1\n error:\n include-exception: true\n include-stacktrace: ALWAYS\n include-message: ALWAYS\n compression:\n enabled: true\n min-response-size: 1024\n mime-types: application/javascript,application/json,application/xml,text/html,text/xml,text/plain,text/css,image/*\nmanagement:\n health:\n mail:\n enabled: false\n endpoints:\n web:\n exposure:\n include: \"*\"\n health:\n sensitive: true\n endpoint:\n health:\n show-details: ALWAYS\nspring:\n servlet:\n multipart:\n max-file-size: 10MB\n max-request-size: 10MB\n mail:\n host: smtp.163.com\n username: jeecgos@163.com\n password: ??\n properties:\n mail.smtp.timeout: 10000\n mail.smtp.connectiontimeout: 10000\n mail.smtp.writetimeout: 10000\n mail.smtp.auth: true\n smtp.ssl.enable: true\n quartz:\n job-store-type: jdbc\n jdbc:\n initialize-schema: embedded\n auto-startup: false\n startup-delay: 1s\n overwrite-existing-jobs: true\n properties:\n org:\n quartz:\n scheduler:\n instanceName: MyScheduler\n instanceId: AUTO\n jobStore:\n class: org.springframework.scheduling.quartz.LocalDataSourceJobStore\n driverDelegateClass: org.quartz.impl.jdbcjobstore.StdJDBCDelegate\n tablePrefix: QRTZ_\n isClustered: true\n misfireThreshold: 12000\n clusterCheckinInterval: 15000\n threadPool:\n class: org.quartz.simpl.SimpleThreadPool\n threadCount: 10\n threadPriority: 5\n threadsInheritContextClassLoaderOfInitializingThread: true\n jackson:\n date-format: yyyy-MM-dd HH:mm:ss\n time-zone: GMT+8\n aop:\n proxy-target-class: true\n jpa:\n open-in-view: false\n freemarker:\n suffix: .ftl\n content-type: text/html\n charset: UTF-8\n cache: false\n prefer-file-system-access: false\n template-loader-path:\n - classpath:/templates\n mvc:\n static-path-pattern: /**\n pathmatch:\n matching-strategy: ant_path_matcher\n resource:\n static-locations: classpath:/static/,classpath:/public/\n autoconfigure:\n exclude:\n - com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure\n - org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration\nmybatis-plus:\n mapper-locations: classpath*:org/jeecg/**/xml/*Mapper.xml\n global-config:\n banner: false\n db-config:\n id-type: ASSIGN_ID\n table-underline: true\n configuration:\n call-setters-on-nulls: true', '286548b8ea234068440aec741ac70ab5', '2010-05-05 00:00:00', '2025-09-25 02:11:45', NULL, '0:0:0:0:0:0:0:1', 'U', '', '');
-INSERT INTO `his_config_info` VALUES (43, 16, 'jeecg-dev.yaml', 'DEFAULT_GROUP', '', 'spring:\n datasource:\n druid:\n stat-view-servlet:\n enabled: true\n loginUsername: admin\n loginPassword: 123456\n allow:\n web-stat-filter:\n enabled: true\n dynamic:\n druid:\n initial-size: 5\n min-idle: 5\n maxActive: 20\n maxWait: 60000\n timeBetweenEvictionRunsMillis: 60000\n minEvictableIdleTimeMillis: 300000\n validationQuery: SELECT 1 FROM DUAL\n testWhileIdle: true\n testOnBorrow: false\n testOnReturn: false\n poolPreparedStatements: true\n maxPoolPreparedStatementPerConnectionSize: 20\n filters: stat,wall,slf4j\n wall:\n selectWhereAlwayTrueCheck: false\n stat:\n merge-sql: true\n slow-sql-millis: 5000\n datasource:\n master:\n url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai\n username: root\n password: root\n driver-class-name: com.mysql.cj.jdbc.Driver\n data:\n redis:\n database: 0\n host: jeecg-boot-redis\n password:\n port: 6379\n rabbitmq:\n host: jeecg-boot-rabbitmq\n username: guest\n password: guest\n port: 5672\n publisher-confirms: true\n publisher-returns: true\n virtual-host: /\n listener:\n simple:\n acknowledge-mode: manual\n concurrency: 1\n max-concurrency: 1\n retry:\n enabled: true\n flyway:\n enabled: false\n locations: classpath:flyway/sql/mysql\n clean-disabled: true\nminidao:\n base-package: org.jeecg.modules.jmreport.*,org.jeecg.modules.drag.*\njeecg:\n firewall:\n dataSourceSafe: false\n lowCodeMode: dev\n signatureSecret: dd05f1c54d63749eda95f9fa6d49v442a\n signUrls: /sys/dict/getDictItems/*,/sys/dict/loadDict/*,/sys/dict/loadDictOrderByValue/*,/sys/dict/loadDictItem/*,/sys/dict/loadTreeData,/sys/api/queryTableDictItemsByCode,/sys/api/queryFilterTableDictInfo,/sys/api/queryTableDictByKeys,/sys/api/translateDictFromTable,/sys/api/translateDictFromTableByKeys\n uploadType: local\n domainUrl:\n pc: http://localhost:3100\n app: http://localhost:8051\n path:\n upload: /opt/upFiles\n webapp: /opt/webapp\n shiro:\n excludeUrls: /test/jeecgDemo/demo3,/test/jeecgDemo/redisDemo/**,/category/**,/visual/**,/map/**,/jmreport/bigscreen2/**\n oss:\n endpoint: oss-cn-beijing.aliyuncs.com\n accessKey: ??\n secretKey: ??\n bucketName: jeecgdev\n staticDomain: ?? \n file-view-domain: 127.0.0.1:8012\n minio:\n minio_url: http://minio.jeecg.com\n minio_name: ??\n minio_pass: ??\n bucketName: otatest\n jmreport:\n saasMode:\n firewall:\n dataSourceSafe: false\n lowCodeMode: dev\n wps:\n domain: https://wwo.wps.cn/office/\n appid: ??\n appsecret: ??\n xxljob:\n enabled: false\n adminAddresses: http://jeecg-boot-xxljob:9080/xxl-job-admin\n appname: ${spring.application.name}\n accessToken: \'\'\n logPath: logs/jeecg/job/jobhandler/\n logRetentionDays: 30\n redisson:\n address: jeecg-boot-redis:6379\n password:\n type: STANDALONE\n enabled: true\n ai-chat:\n enabled: false\n apiKey: \"????\"\n apiHost: \"https://api.openai.com\"\n timeout: 60\n ai-rag:\n embed-store:\n host: 127.0.0.1\n port: 5432\n database: postgres\n user: postgres\n password: postgres\n table: embeddings\ncas:\n prefixUrl: http://localhost:8888/cas\nknife4j:\n production: false\n basic:\n enable: false\n username: jeecg\n password: jeecg1314\njustauth:\n enabled: true\n type:\n GITHUB:\n client-id: ??\n client-secret: ??\n redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/github/callback\n WECHAT_ENTERPRISE:\n client-id: ??\n client-secret: ??\n redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/wechat_enterprise/callback\n agent-id: ??\n DINGTALK:\n client-id: ??\n client-secret: ??\n redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/dingtalk/callback\n cache:\n type: default\n prefix: \'demo::\'\n timeout: 1h\nthird-app:\n enabled: false\n type:\n WECHAT_ENTERPRISE:\n enabled: false\n client-id: ??\n client-secret: ??\n agent-id: ??\n DINGTALK:\n enabled: false\n client-id: ??\n client-secret: ??\n agent-id: ??', '4029974c2e8633c0ed5297f223e6a7d6', '2010-05-05 00:00:00', '2025-09-25 02:20:20', NULL, '0:0:0:0:0:0:0:1', 'U', 'springboot3', '');
-INSERT INTO `his_config_info` VALUES (22, 17, 'jeecg-sharding-multi.yaml', 'DEFAULT_GROUP', '', 'spring:\n shardingsphere:\n datasource:\n names: ds0,ds1\n ds0:\n driverClassName: com.mysql.cj.jdbc.Driver\n url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai\n type: com.alibaba.druid.pool.DruidDataSource\n username: root\n password: root\n ds1:\n driverClassName: com.mysql.cj.jdbc.Driver\n url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot2?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai\n type: com.alibaba.druid.pool.DruidDataSource\n username: root\n password: root\n props:\n sql-show: true\n rules:\n replica-query:\n load-balancers:\n round-robin:\n type: ROUND_ROBIN\n props:\n default: 0\n data-sources:\n prds:\n primary-data-source-name: ds0\n replica-data-source-names: ds1\n load-balancer-name: round_robin\n sharding:\n binding-tables:\n - sys_log\n key-generators:\n snowflake:\n type: SNOWFLAKE\n props:\n worker-id: 123\n sharding-algorithms:\n table-classbased:\n props:\n strategy: standard\n algorithmClassName: org.jeecg.modules.test.sharding.algorithm.StandardModTableShardAlgorithm\n type: CLASS_BASED\n database-inline:\n type: INLINE\n props:\n algorithm-expression: ds$->{operate_type % 2}\n tables:\n sys_log:\n actual-data-nodes: ds$->{0..1}.sys_log$->{0..1}\n database-strategy:\n standard:\n sharding-column: operate_type\n sharding-algorithm-name: database-inline\n table-strategy:\n standard:\n sharding-algorithm-name: table-classbased\n sharding-column: log_type', '0fc2b030ca8c0008f148c84ecbd2a8c7', '2010-05-05 00:00:00', '2025-10-13 10:24:19', NULL, '0:0:0:0:0:0:0:1', 'U', '', '');
-INSERT INTO `his_config_info` VALUES (48, 18, 'jeecg-sharding-multi.yaml', 'DEFAULT_GROUP', '', 'spring:\n shardingsphere:\n datasource:\n names: ds0,ds1\n ds0:\n driverClassName: com.mysql.cj.jdbc.Driver\n url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai\n type: com.alibaba.druid.pool.DruidDataSource\n username: root\n password: root\n ds1:\n driverClassName: com.mysql.cj.jdbc.Driver\n url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot2?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai\n type: com.alibaba.druid.pool.DruidDataSource\n username: root\n password: root\n props:\n sql-show: true\n rules:\n replica-query:\n load-balancers:\n round-robin:\n type: ROUND_ROBIN\n props:\n default: 0\n data-sources:\n prds:\n primary-data-source-name: ds0\n replica-data-source-names: ds1\n load-balancer-name: round_robin\n sharding:\n binding-tables:\n - sys_log\n key-generators:\n snowflake:\n type: SNOWFLAKE\n props:\n worker-id: 123\n sharding-algorithms:\n table-classbased:\n props:\n strategy: standard\n algorithmClassName: org.jeecg.modules.test.sharding.algorithm.StandardModTableShardAlgorithm\n type: CLASS_BASED\n database-inline:\n type: INLINE\n props:\n algorithm-expression: ds$->{operate_type % 2}\n tables:\n sys_log:\n actual-data-nodes: ds$->{0..1}.sys_log$->{0..1}\n database-strategy:\n standard:\n sharding-column: operate_type\n sharding-algorithm-name: database-inline\n table-strategy:\n standard:\n sharding-algorithm-name: table-classbased\n sharding-column: log_type', '0fc2b030ca8c0008f148c84ecbd2a8c7', '2010-05-05 00:00:00', '2025-10-13 10:25:04', NULL, '0:0:0:0:0:0:0:1', 'U', 'springboot3', '');
-INSERT INTO `his_config_info` VALUES (46, 19, 'jeecg-sharding.yaml', 'DEFAULT_GROUP', '', 'spring:\n shardingsphere:\n datasource:\n names: ds0\n ds0:\n driverClassName: com.mysql.cj.jdbc.Driver\n url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai\n username: root\n password: root\n type: com.alibaba.druid.pool.DruidDataSource\n props:\n sql-show: true\n rules:\n sharding:\n binding-tables: sys_log\n key-generators:\n snowflake:\n type: SNOWFLAKE\n props:\n worker-id: 123\n sharding-algorithms:\n table-classbased:\n props:\n strategy: standard\n algorithmClassName: org.jeecg.modules.test.sharding.algorithm.StandardModTableShardAlgorithm\n type: CLASS_BASED\n tables:\n sys_log:\n actual-data-nodes: ds0.sys_log$->{0..1}\n table-strategy:\n standard:\n sharding-algorithm-name: table-classbased\n sharding-column: log_type', 'a93fa455c32cd37ca84631d2bbe13005', '2010-05-05 00:00:00', '2025-10-13 10:54:00', NULL, '0:0:0:0:0:0:0:1', 'U', 'springboot3', '');
-INSERT INTO `his_config_info` VALUES (48, 20, 'jeecg-sharding-multi.yaml', 'DEFAULT_GROUP', '', 'spring:\n shardingsphere:\n props:\n sql-show: true\n datasource:\n names: ds0,ds1\n ds0:\n driverClassName: com.mysql.cj.jdbc.Driver\n url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai\n type: com.alibaba.druid.pool.DruidDataSource\n username: root\n password: root\n ds1:\n driverClassName: com.mysql.cj.jdbc.Driver\n url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot2?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai\n type: com.alibaba.druid.pool.DruidDataSource\n username: root\n password: root\n props:\n sql-show: true\n rules:\n replica-query:\n load-balancers:\n round-robin:\n type: ROUND_ROBIN\n props:\n default: 0\n data-sources:\n prds:\n primary-data-source-name: ds0\n replica-data-source-names: ds1\n load-balancer-name: round_robin\n sharding:\n binding-tables:\n - sys_log\n key-generators:\n snowflake:\n type: SNOWFLAKE\n props:\n worker-id: 123\n sharding-algorithms:\n table-classbased:\n props:\n strategy: standard\n algorithmClassName: org.jeecg.modules.test.sharding.algorithm.StandardModTableShardAlgorithm\n type: CLASS_BASED\n database-inline:\n type: INLINE\n props:\n algorithm-expression: ds$->{operate_type % 2}\n tables:\n sys_log:\n actual-data-nodes: ds$->{0..1}.sys_log$->{0..1}\n database-strategy:\n standard:\n sharding-column: operate_type\n sharding-algorithm-name: database-inline\n table-strategy:\n standard:\n sharding-algorithm-name: table-classbased\n sharding-column: log_type', '9a7d638b28422118eaeaeaf272d72192', '2010-05-05 00:00:00', '2025-10-13 10:54:17', NULL, '0:0:0:0:0:0:0:1', 'U', 'springboot3', '');
-INSERT INTO `his_config_info` VALUES (22, 21, 'jeecg-sharding-multi.yaml', 'DEFAULT_GROUP', '', 'spring:\n shardingsphere:\n props:\n sql-show: true\n datasource:\n names: ds0,ds1\n ds0:\n driverClassName: com.mysql.cj.jdbc.Driver\n url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai\n type: com.alibaba.druid.pool.DruidDataSource\n username: root\n password: root\n ds1:\n driverClassName: com.mysql.cj.jdbc.Driver\n url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot2?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai\n type: com.alibaba.druid.pool.DruidDataSource\n username: root\n password: root\n props:\n sql-show: true\n rules:\n replica-query:\n load-balancers:\n round-robin:\n type: ROUND_ROBIN\n props:\n default: 0\n data-sources:\n prds:\n primary-data-source-name: ds0\n replica-data-source-names: ds1\n load-balancer-name: round_robin\n sharding:\n binding-tables:\n - sys_log\n key-generators:\n snowflake:\n type: SNOWFLAKE\n props:\n worker-id: 123\n sharding-algorithms:\n table-classbased:\n props:\n strategy: standard\n algorithmClassName: org.jeecg.modules.test.sharding.algorithm.StandardModTableShardAlgorithm\n type: CLASS_BASED\n database-inline:\n type: INLINE\n props:\n algorithm-expression: ds$->{operate_type % 2}\n tables:\n sys_log:\n actual-data-nodes: ds$->{0..1}.sys_log$->{0..1}\n database-strategy:\n standard:\n sharding-column: operate_type\n sharding-algorithm-name: database-inline\n table-strategy:\n standard:\n sharding-algorithm-name: table-classbased\n sharding-column: log_type', '9a7d638b28422118eaeaeaf272d72192', '2010-05-05 00:00:00', '2025-10-13 10:54:36', NULL, '0:0:0:0:0:0:0:1', 'U', '', '');
-INSERT INTO `his_config_info` VALUES (46, 22, 'jeecg-sharding.yaml', 'DEFAULT_GROUP', '', 'spring:\n shardingsphere:\n datasource:\n names: ds0\n ds0:\n driverClassName: com.mysql.cj.jdbc.Driver\n url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai\n username: root\n password: root\n type: com.alibaba.druid.pool.DruidDataSource\n props:\n sql-show: true\n rules:\n sharding:\n binding-tables: sys_log\n key-generators:\n snowflake:\n type: SNOWFLAKE\n props:\n worker-id: 123\n sharding-algorithms:\n table-classbased:\n props:\n strategy: standard\n algorithmClassName: org.jeecg.modules.test.sharding.algorithm.StandardModTableShardAlgorithm\n type: CLASS_BASED\n tables:\n sys_log:\n actual-data-nodes: ds0.sys_log$->{0..1}\n table-strategy:\n standard:\n sharding-algorithm-name: table-classbased\n sharding-column: log_type', 'a93fa455c32cd37ca84631d2bbe13005', '2010-05-05 00:00:00', '2025-10-13 11:01:55', NULL, '0:0:0:0:0:0:0:1', 'U', 'springboot3', '');
-INSERT INTO `his_config_info` VALUES (46, 23, 'jeecg-sharding.yaml', 'DEFAULT_GROUP', '', 'spring:\n autoconfigure:\n exclude:\n - com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration\n shardingsphere:\n datasource:\n names: ds0\n ds0:\n driverClassName: com.mysql.cj.jdbc.Driver\n url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai\n username: root\n password: root\n type: com.alibaba.druid.pool.DruidDataSource\n props:\n sql-show: true\n rules:\n sharding:\n binding-tables: sys_log\n key-generators:\n snowflake:\n type: SNOWFLAKE\n props:\n worker-id: 123\n sharding-algorithms:\n table-classbased:\n props:\n strategy: standard\n algorithmClassName: org.jeecg.modules.test.sharding.algorithm.StandardModTableShardAlgorithm\n type: CLASS_BASED\n tables:\n sys_log:\n actual-data-nodes: ds0.sys_log$->{0..1}\n table-strategy:\n standard:\n sharding-algorithm-name: table-classbased\n sharding-column: log_type', 'cce840f55033903422900a8e3bc4de88', '2010-05-05 00:00:00', '2025-10-13 11:03:38', NULL, '0:0:0:0:0:0:0:1', 'U', 'springboot3', '');
-INSERT INTO `his_config_info` VALUES (0, 24, 'jeecg-sharding3.yaml', 'DEFAULT_GROUP', '', 'spring:\n shardingsphere:\n datasource:\n names: ds0\n ds0:\n driverClassName: com.mysql.cj.jdbc.Driver\n url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai\n username: root\n password: root\n type: com.alibaba.druid.pool.DruidDataSource\n props:\n sql-show: true\n rules:\n sharding:\n binding-tables: sys_log\n key-generators:\n snowflake:\n type: SNOWFLAKE\n props:\n worker-id: 123\n sharding-algorithms:\n table-classbased:\n props:\n strategy: standard\n algorithmClassName: org.jeecg.modules.test.sharding.algorithm.StandardModTableShardAlgorithm\n type: CLASS_BASED\n tables:\n sys_log:\n actual-data-nodes: ds0.sys_log$->{0..1}\n table-strategy:\n standard:\n sharding-algorithm-name: table-classbased\n sharding-column: log_type', 'a93fa455c32cd37ca84631d2bbe13005', '2010-05-05 00:00:00', '2025-10-13 11:12:06', NULL, '0:0:0:0:0:0:0:1', 'I', 'springboot3', '');
-INSERT INTO `his_config_info` VALUES (49, 25, 'jeecg-sharding3.yaml', 'DEFAULT_GROUP', '', 'spring:\n shardingsphere:\n datasource:\n names: ds0\n ds0:\n driverClassName: com.mysql.cj.jdbc.Driver\n url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai\n username: root\n password: root\n type: com.alibaba.druid.pool.DruidDataSource\n props:\n sql-show: true\n rules:\n sharding:\n binding-tables: sys_log\n key-generators:\n snowflake:\n type: SNOWFLAKE\n props:\n worker-id: 123\n sharding-algorithms:\n table-classbased:\n props:\n strategy: standard\n algorithmClassName: org.jeecg.modules.test.sharding.algorithm.StandardModTableShardAlgorithm\n type: CLASS_BASED\n tables:\n sys_log:\n actual-data-nodes: ds0.sys_log$->{0..1}\n table-strategy:\n standard:\n sharding-algorithm-name: table-classbased\n sharding-column: log_type', 'a93fa455c32cd37ca84631d2bbe13005', '2010-05-05 00:00:00', '2025-10-13 11:15:11', NULL, '0:0:0:0:0:0:0:1', 'U', 'springboot3', '');
-INSERT INTO `his_config_info` VALUES (0, 26, 'jeecg-sharding33.yaml', 'DEFAULT_GROUP', '', 'dataSources:\n ds0:\n driverClassName: com.mysql.cj.jdbc.Driver\n url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai\n username: root\n password: root\n type: com.alibaba.druid.pool.DruidDataSource\nprops:\n sql-show: true\nrules:\n sharding:\n binding-tables: sys_log\n key-generators:\n snowflake:\n type: SNOWFLAKE\n props:\n worker-id: 123\n sharding-algorithms:\n table-classbased:\n props:\n strategy: standard\n algorithmClassName: org.jeecg.modules.test.sharding.algorithm.StandardModTableShardAlgorithm\n type: CLASS_BASED\n tables:\n sys_log:\n actual-data-nodes: ds0.sys_log$->{0..1}\n table-strategy:\n standard:\n sharding-algorithm-name: table-classbased\n sharding-column: log_type', '8f3db7043f3d60747709b5286e23c62b', '2010-05-05 00:00:00', '2025-10-13 11:40:57', NULL, '0:0:0:0:0:0:0:1', 'I', 'springboot3', '');
-INSERT INTO `his_config_info` VALUES (50, 27, 'jeecg-sharding33.yaml', 'DEFAULT_GROUP', '', 'dataSources:\n ds0:\n driverClassName: com.mysql.cj.jdbc.Driver\n url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai\n username: root\n password: root\n type: com.alibaba.druid.pool.DruidDataSource\nprops:\n sql-show: true\nrules:\n sharding:\n binding-tables: sys_log\n key-generators:\n snowflake:\n type: SNOWFLAKE\n props:\n worker-id: 123\n sharding-algorithms:\n table-classbased:\n props:\n strategy: standard\n algorithmClassName: org.jeecg.modules.test.sharding.algorithm.StandardModTableShardAlgorithm\n type: CLASS_BASED\n tables:\n sys_log:\n actual-data-nodes: ds0.sys_log$->{0..1}\n table-strategy:\n standard:\n sharding-algorithm-name: table-classbased\n sharding-column: log_type', '8f3db7043f3d60747709b5286e23c62b', '2010-05-05 00:00:00', '2025-10-14 02:23:57', NULL, '0:0:0:0:0:0:0:1', 'D', 'springboot3', '');
-INSERT INTO `his_config_info` VALUES (49, 28, 'jeecg-sharding3.yaml', 'DEFAULT_GROUP', '', 'dataSources:\n ds0:\n driverClassName: com.mysql.cj.jdbc.Driver\n url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai\n username: root\n password: root\n type: com.alibaba.druid.pool.DruidDataSource\nprops:\n sql-show: true\nrules:\n sharding:\n binding-tables: sys_log\n key-generators:\n snowflake:\n type: SNOWFLAKE\n props:\n worker-id: 123\n sharding-algorithms:\n table-classbased:\n props:\n strategy: standard\n algorithmClassName: org.jeecg.modules.test.sharding.algorithm.StandardModTableShardAlgorithm\n type: CLASS_BASED\n tables:\n sys_log:\n actual-data-nodes: ds0.sys_log$->{0..1}\n table-strategy:\n standard:\n sharding-algorithm-name: table-classbased\n sharding-column: log_type', '8f3db7043f3d60747709b5286e23c62b', '2010-05-05 00:00:00', '2025-10-14 02:24:05', NULL, '0:0:0:0:0:0:0:1', 'U', 'springboot3', '');
-INSERT INTO `his_config_info` VALUES (49, 29, 'jeecg-sharding3.yaml', 'DEFAULT_GROUP', '', '# !!!数据源名称要和动态数据源中配置的名称一致\ndatabaseName: sharding\n\n# 具体参看官网文档说明\ndataSources:\n db_0:\n dataSourceClassName: com.zaxxer.hikari.HikariDataSource\n driverClassName: com.mysql.cj.jdbc.Driver\n jdbcUrl: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai\n password: root\n username: root\n\nrules:\n - !SHARDING\n tables: # 数据分片规则配置\n sys_log: # 逻辑表名称\n actualDataNodes: db_0.sys_log$->{0..1} # 由数据源名 + 表名组成(参考 Inline 语法规则)\n databaseStrategy: # 分库策略,缺省表示使用默认分库策略,以下的分片策略只能选其一\n none:\n tableStrategy: # 分表策略\n standard: # 用于单分片键的标准分片场景\n shardingColumn: log_type # 分片列名称\n shardingAlgorithmName: user_inline\n keyGenerateStrategy:\n column: id\n keyGeneratorName: snowflake\n keyGenerators:\n snowflake:\n type: SNOWFLAKE\n props:\n worker-id: 123\n # 分片算法配置\n shardingAlgorithms:\n user_inline:\n type: INLINE\n props:\n algorithm-expression: sys_log$->{log_type % 2}\n\nprops:\n sql-show: true', '1e0a2bf39629030672a6fe98f7bb4ca3', '2010-05-05 00:00:00', '2025-10-14 02:36:31', NULL, '0:0:0:0:0:0:0:1', 'U', 'springboot3', '');
-INSERT INTO `his_config_info` VALUES (43, 30, 'jeecg-dev.yaml', 'DEFAULT_GROUP', '', 'spring:\n datasource:\n druid:\n stat-view-servlet:\n enabled: true\n loginUsername: admin\n loginPassword: 123456\n allow:\n web-stat-filter:\n enabled: true\n dynamic:\n druid:\n initial-size: 5\n min-idle: 5\n maxActive: 20\n maxWait: 60000\n timeBetweenEvictionRunsMillis: 60000\n minEvictableIdleTimeMillis: 300000\n validationQuery: SELECT 1 FROM DUAL\n testWhileIdle: true\n testOnBorrow: false\n testOnReturn: false\n poolPreparedStatements: true\n maxPoolPreparedStatementPerConnectionSize: 20\n filters: stat,slf4j\n wall:\n selectWhereAlwayTrueCheck: false\n stat:\n merge-sql: true\n slow-sql-millis: 5000\n datasource:\n master:\n url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai\n username: root\n password: root\n driver-class-name: com.mysql.cj.jdbc.Driver\n data:\n redis:\n database: 0\n host: jeecg-boot-redis\n password:\n port: 6379\n rabbitmq:\n host: jeecg-boot-rabbitmq\n username: guest\n password: guest\n port: 5672\n publisher-confirms: true\n publisher-returns: true\n virtual-host: /\n listener:\n simple:\n acknowledge-mode: manual\n concurrency: 1\n max-concurrency: 1\n retry:\n enabled: true\n flyway:\n enabled: false\n locations: classpath:flyway/sql/mysql\n clean-disabled: true\nminidao:\n base-package: org.jeecg.modules.jmreport.*,org.jeecg.modules.drag.*\njeecg:\n firewall:\n dataSourceSafe: false\n lowCodeMode: dev\n signatureSecret: dd05f1c54d63749eda95f9fa6d49v442a\n signUrls: /sys/dict/getDictItems/*,/sys/dict/loadDict/*,/sys/dict/loadDictOrderByValue/*,/sys/dict/loadDictItem/*,/sys/dict/loadTreeData,/sys/api/queryTableDictItemsByCode,/sys/api/queryFilterTableDictInfo,/sys/api/queryTableDictByKeys,/sys/api/translateDictFromTable,/sys/api/translateDictFromTableByKeys\n uploadType: local\n domainUrl:\n pc: http://localhost:3100\n app: http://localhost:8051\n path:\n upload: /opt/upFiles\n webapp: /opt/webapp\n shiro:\n excludeUrls: /test/jeecgDemo/demo3,/test/jeecgDemo/redisDemo/**,/category/**,/visual/**,/map/**,/jmreport/bigscreen2/**\n oss:\n endpoint: oss-cn-beijing.aliyuncs.com\n accessKey: ??\n secretKey: ??\n bucketName: jeecgdev\n staticDomain: ?? \n file-view-domain: 127.0.0.1:8012\n minio:\n minio_url: http://minio.jeecg.com\n minio_name: ??\n minio_pass: ??\n bucketName: otatest\n jmreport:\n saasMode:\n firewall:\n dataSourceSafe: false\n lowCodeMode: dev\n wps:\n domain: https://wwo.wps.cn/office/\n appid: ??\n appsecret: ??\n xxljob:\n enabled: false\n adminAddresses: http://jeecg-boot-xxljob:9080/xxl-job-admin\n appname: ${spring.application.name}\n accessToken: \'\'\n logPath: logs/jeecg/job/jobhandler/\n logRetentionDays: 30\n redisson:\n address: jeecg-boot-redis:6379\n password:\n type: STANDALONE\n enabled: true\n ai-chat:\n enabled: false\n apiKey: \"????\"\n apiHost: \"https://api.openai.com\"\n timeout: 60\n ai-rag:\n embed-store:\n host: 127.0.0.1\n port: 5432\n database: postgres\n user: postgres\n password: postgres\n table: embeddings\ncas:\n prefixUrl: http://localhost:8888/cas\nknife4j:\n production: false\n basic:\n enable: false\n username: jeecg\n password: jeecg1314\njustauth:\n enabled: true\n type:\n GITHUB:\n client-id: ??\n client-secret: ??\n redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/github/callback\n WECHAT_ENTERPRISE:\n client-id: ??\n client-secret: ??\n redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/wechat_enterprise/callback\n agent-id: ??\n DINGTALK:\n client-id: ??\n client-secret: ??\n redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/dingtalk/callback\n cache:\n type: default\n prefix: \'demo::\'\n timeout: 1h\nthird-app:\n enabled: false\n type:\n WECHAT_ENTERPRISE:\n enabled: false\n client-id: ??\n client-secret: ??\n agent-id: ??\n DINGTALK:\n enabled: false\n client-id: ??\n client-secret: ??\n agent-id: ??', 'db86a793f5e62eb0f1e3478bd0f3520b', '2010-05-05 00:00:00', '2025-10-14 02:48:13', NULL, '0:0:0:0:0:0:0:1', 'U', 'springboot3', '');
-INSERT INTO `his_config_info` VALUES (43, 31, 'jeecg-dev.yaml', 'DEFAULT_GROUP', '', 'spring:\n datasource:\n druid:\n stat-view-servlet:\n enabled: true\n loginUsername: admin\n loginPassword: 123456\n allow:\n web-stat-filter:\n enabled: true\n dynamic:\n druid:\n initial-size: 5\n min-idle: 5\n maxActive: 20\n maxWait: 60000\n timeBetweenEvictionRunsMillis: 60000\n minEvictableIdleTimeMillis: 300000\n validationQuery: SELECT 1 FROM DUAL\n testWhileIdle: true\n testOnBorrow: false\n testOnReturn: false\n poolPreparedStatements: true\n maxPoolPreparedStatementPerConnectionSize: 20\n filters: stat,slf4j\n wall:\n selectWhereAlwayTrueCheck: false\n stat:\n merge-sql: true\n slow-sql-millis: 5000\n datasource:\n master:\n url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai\n username: root\n password: root\n driver-class-name: com.mysql.cj.jdbc.Driver\n sharding_db:\n driver-class-name: org.apache.shardingsphere.driver.ShardingSphereDriver\n url: jdbc:shardingsphere:classpath:sharding.yaml\n data:\n redis:\n database: 0\n host: jeecg-boot-redis\n password:\n port: 6379\n rabbitmq:\n host: jeecg-boot-rabbitmq\n username: guest\n password: guest\n port: 5672\n publisher-confirms: true\n publisher-returns: true\n virtual-host: /\n listener:\n simple:\n acknowledge-mode: manual\n concurrency: 1\n max-concurrency: 1\n retry:\n enabled: true\n flyway:\n enabled: false\n locations: classpath:flyway/sql/mysql\n clean-disabled: true\nminidao:\n base-package: org.jeecg.modules.jmreport.*,org.jeecg.modules.drag.*\njeecg:\n firewall:\n dataSourceSafe: false\n lowCodeMode: dev\n signatureSecret: dd05f1c54d63749eda95f9fa6d49v442a\n signUrls: /sys/dict/getDictItems/*,/sys/dict/loadDict/*,/sys/dict/loadDictOrderByValue/*,/sys/dict/loadDictItem/*,/sys/dict/loadTreeData,/sys/api/queryTableDictItemsByCode,/sys/api/queryFilterTableDictInfo,/sys/api/queryTableDictByKeys,/sys/api/translateDictFromTable,/sys/api/translateDictFromTableByKeys\n uploadType: local\n domainUrl:\n pc: http://localhost:3100\n app: http://localhost:8051\n path:\n upload: /opt/upFiles\n webapp: /opt/webapp\n shiro:\n excludeUrls: /test/jeecgDemo/demo3,/test/jeecgDemo/redisDemo/**,/category/**,/visual/**,/map/**,/jmreport/bigscreen2/**\n oss:\n endpoint: oss-cn-beijing.aliyuncs.com\n accessKey: ??\n secretKey: ??\n bucketName: jeecgdev\n staticDomain: ?? \n file-view-domain: 127.0.0.1:8012\n minio:\n minio_url: http://minio.jeecg.com\n minio_name: ??\n minio_pass: ??\n bucketName: otatest\n jmreport:\n saasMode:\n firewall:\n dataSourceSafe: false\n lowCodeMode: dev\n wps:\n domain: https://wwo.wps.cn/office/\n appid: ??\n appsecret: ??\n xxljob:\n enabled: false\n adminAddresses: http://jeecg-boot-xxljob:9080/xxl-job-admin\n appname: ${spring.application.name}\n accessToken: \'\'\n logPath: logs/jeecg/job/jobhandler/\n logRetentionDays: 30\n redisson:\n address: jeecg-boot-redis:6379\n password:\n type: STANDALONE\n enabled: true\n ai-chat:\n enabled: false\n apiKey: \"????\"\n apiHost: \"https://api.openai.com\"\n timeout: 60\n ai-rag:\n embed-store:\n host: 127.0.0.1\n port: 5432\n database: postgres\n user: postgres\n password: postgres\n table: embeddings\ncas:\n prefixUrl: http://localhost:8888/cas\nknife4j:\n production: false\n basic:\n enable: false\n username: jeecg\n password: jeecg1314\njustauth:\n enabled: true\n type:\n GITHUB:\n client-id: ??\n client-secret: ??\n redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/github/callback\n WECHAT_ENTERPRISE:\n client-id: ??\n client-secret: ??\n redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/wechat_enterprise/callback\n agent-id: ??\n DINGTALK:\n client-id: ??\n client-secret: ??\n redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/dingtalk/callback\n cache:\n type: default\n prefix: \'demo::\'\n timeout: 1h\nthird-app:\n enabled: false\n type:\n WECHAT_ENTERPRISE:\n enabled: false\n client-id: ??\n client-secret: ??\n agent-id: ??\n DINGTALK:\n enabled: false\n client-id: ??\n client-secret: ??\n agent-id: ??', '7347845722e84c7009e753324dae8261', '2010-05-05 00:00:00', '2025-10-14 02:53:10', NULL, '0:0:0:0:0:0:0:1', 'U', 'springboot3', '');
-INSERT INTO `his_config_info` VALUES (49, 32, 'jeecg-sharding3.yaml', 'DEFAULT_GROUP', '', '# !!!数据源名称要和动态数据源中配置的名称一致\ndatabaseName: sharding\n\n# 具体参看官网文档说明\ndataSources:\n db_0:\n dataSourceClassName: com.zaxxer.hikari.HikariDataSource\n driverClassName: com.mysql.cj.jdbc.Driver\n jdbcUrl: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai\n password: root\n username: root\n\nrules:\n tables: # 数据分片规则配置\n sys_log: # 逻辑表名称\n actualDataNodes: db_0.sys_log$->{0..1} # 由数据源名 + 表名组成(参考 Inline 语法规则)\n databaseStrategy: # 分库策略,缺省表示使用默认分库策略,以下的分片策略只能选其一\n none:\n tableStrategy: # 分表策略\n standard: # 用于单分片键的标准分片场景\n shardingColumn: log_type # 分片列名称\n shardingAlgorithmName: user_inline\n keyGenerateStrategy:\n column: id\n keyGeneratorName: snowflake\n keyGenerators:\n snowflake:\n type: SNOWFLAKE\n props:\n worker-id: 123\n # 分片算法配置\n shardingAlgorithms:\n user_inline:\n type: INLINE\n props:\n algorithm-expression: sys_log$->{log_type % 2}\n\nprops:\n sql-show: true', 'c5e2972e7d10c10e2d975f51a1c40400', '2010-05-05 00:00:00', '2025-10-14 02:53:19', NULL, '0:0:0:0:0:0:0:1', 'D', 'springboot3', '');
-INSERT INTO `his_config_info` VALUES (0, 33, 'nacos-sharding.yaml', 'DEFAULT_GROUP', '', '# !!!数据源名称要和动态数据源中配置的名称一致\r\ndatabaseName: sharding_db\r\n\r\n# 具体参看官网文档说明\r\ndataSources:\r\n db_0:\r\n dataSourceClassName: com.zaxxer.hikari.HikariDataSource\r\n driverClassName: com.mysql.cj.jdbc.Driver\r\n jdbcUrl: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai\r\n password: root\r\n username: root\r\n\r\nrules:\r\n - !SHARDING\r\n tables: # 数据分片规则配置\r\n sys_log: # 逻辑表名称\r\n actualDataNodes: db_0.sys_log$->{0..1} # 由数据源名 + 表名组成(参考 Inline 语法规则)\r\n databaseStrategy: # 分库策略,缺省表示使用默认分库策略,以下的分片策略只能选其一\r\n none:\r\n tableStrategy: # 分表策略\r\n standard: # 用于单分片键的标准分片场景\r\n shardingColumn: log_type # 分片列名称\r\n shardingAlgorithmName: user_inline\r\n keyGenerateStrategy:\r\n column: id\r\n keyGeneratorName: snowflake\r\n keyGenerators:\r\n snowflake:\r\n type: SNOWFLAKE\r\n props:\r\n worker-id: 123\r\n # 分片算法配置\r\n shardingAlgorithms:\r\n user_inline:\r\n type: INLINE\r\n props:\r\n algorithm-expression: sys_log$->{log_type % 2}\r\n\r\nprops:\r\n sql-show: true', '7781ded11994d9e1b2230bed606cd8b7', '2010-05-05 00:00:00', '2025-10-14 02:54:17', NULL, '0:0:0:0:0:0:0:1', 'I', 'springboot3', '');
-INSERT INTO `his_config_info` VALUES (43, 34, 'jeecg-dev.yaml', 'DEFAULT_GROUP', '', 'spring:\n datasource:\n druid:\n stat-view-servlet:\n enabled: true\n loginUsername: admin\n loginPassword: 123456\n allow:\n web-stat-filter:\n enabled: true\n dynamic:\n druid:\n initial-size: 5\n min-idle: 5\n maxActive: 20\n maxWait: 60000\n timeBetweenEvictionRunsMillis: 60000\n minEvictableIdleTimeMillis: 300000\n validationQuery: SELECT 1 FROM DUAL\n testWhileIdle: true\n testOnBorrow: false\n testOnReturn: false\n poolPreparedStatements: true\n maxPoolPreparedStatementPerConnectionSize: 20\n filters: stat,slf4j\n wall:\n selectWhereAlwayTrueCheck: false\n stat:\n merge-sql: true\n slow-sql-millis: 5000\n datasource:\n master:\n url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai\n username: root\n password: root\n driver-class-name: com.mysql.cj.jdbc.Driver\n sharding_db:\n driver-class-name: org.apache.shardingsphere.driver.ShardingSphereDriver\n url: jdbc:shardingsphere:nacos:sharding.yaml\n # url: jdbc:shardingsphere:classpath:sharding.yaml\n data:\n redis:\n database: 0\n host: jeecg-boot-redis\n password:\n port: 6379\n rabbitmq:\n host: jeecg-boot-rabbitmq\n username: guest\n password: guest\n port: 5672\n publisher-confirms: true\n publisher-returns: true\n virtual-host: /\n listener:\n simple:\n acknowledge-mode: manual\n concurrency: 1\n max-concurrency: 1\n retry:\n enabled: true\n flyway:\n enabled: false\n locations: classpath:flyway/sql/mysql\n clean-disabled: true\nminidao:\n base-package: org.jeecg.modules.jmreport.*,org.jeecg.modules.drag.*\njeecg:\n firewall:\n dataSourceSafe: false\n lowCodeMode: dev\n signatureSecret: dd05f1c54d63749eda95f9fa6d49v442a\n signUrls: /sys/dict/getDictItems/*,/sys/dict/loadDict/*,/sys/dict/loadDictOrderByValue/*,/sys/dict/loadDictItem/*,/sys/dict/loadTreeData,/sys/api/queryTableDictItemsByCode,/sys/api/queryFilterTableDictInfo,/sys/api/queryTableDictByKeys,/sys/api/translateDictFromTable,/sys/api/translateDictFromTableByKeys\n uploadType: local\n domainUrl:\n pc: http://localhost:3100\n app: http://localhost:8051\n path:\n upload: /opt/upFiles\n webapp: /opt/webapp\n shiro:\n excludeUrls: /test/jeecgDemo/demo3,/test/jeecgDemo/redisDemo/**,/category/**,/visual/**,/map/**,/jmreport/bigscreen2/**\n oss:\n endpoint: oss-cn-beijing.aliyuncs.com\n accessKey: ??\n secretKey: ??\n bucketName: jeecgdev\n staticDomain: ?? \n file-view-domain: 127.0.0.1:8012\n minio:\n minio_url: http://minio.jeecg.com\n minio_name: ??\n minio_pass: ??\n bucketName: otatest\n jmreport:\n saasMode:\n firewall:\n dataSourceSafe: false\n lowCodeMode: dev\n wps:\n domain: https://wwo.wps.cn/office/\n appid: ??\n appsecret: ??\n xxljob:\n enabled: false\n adminAddresses: http://jeecg-boot-xxljob:9080/xxl-job-admin\n appname: ${spring.application.name}\n accessToken: \'\'\n logPath: logs/jeecg/job/jobhandler/\n logRetentionDays: 30\n redisson:\n address: jeecg-boot-redis:6379\n password:\n type: STANDALONE\n enabled: true\n ai-chat:\n enabled: false\n apiKey: \"????\"\n apiHost: \"https://api.openai.com\"\n timeout: 60\n ai-rag:\n embed-store:\n host: 127.0.0.1\n port: 5432\n database: postgres\n user: postgres\n password: postgres\n table: embeddings\ncas:\n prefixUrl: http://localhost:8888/cas\nknife4j:\n production: false\n basic:\n enable: false\n username: jeecg\n password: jeecg1314\njustauth:\n enabled: true\n type:\n GITHUB:\n client-id: ??\n client-secret: ??\n redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/github/callback\n WECHAT_ENTERPRISE:\n client-id: ??\n client-secret: ??\n redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/wechat_enterprise/callback\n agent-id: ??\n DINGTALK:\n client-id: ??\n client-secret: ??\n redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/dingtalk/callback\n cache:\n type: default\n prefix: \'demo::\'\n timeout: 1h\nthird-app:\n enabled: false\n type:\n WECHAT_ENTERPRISE:\n enabled: false\n client-id: ??\n client-secret: ??\n agent-id: ??\n DINGTALK:\n enabled: false\n client-id: ??\n client-secret: ??\n agent-id: ??', 'b0643d6374304bd8d1d69d21ed735a9e', '2010-05-05 00:00:00', '2025-10-14 02:54:54', NULL, '0:0:0:0:0:0:0:1', 'U', 'springboot3', '');
-INSERT INTO `his_config_info` VALUES (43, 35, 'jeecg-dev.yaml', 'DEFAULT_GROUP', '', 'spring:\n datasource:\n druid:\n stat-view-servlet:\n enabled: true\n loginUsername: admin\n loginPassword: 123456\n allow:\n web-stat-filter:\n enabled: true\n dynamic:\n druid:\n initial-size: 5\n min-idle: 5\n maxActive: 20\n maxWait: 60000\n timeBetweenEvictionRunsMillis: 60000\n minEvictableIdleTimeMillis: 300000\n validationQuery: SELECT 1 FROM DUAL\n testWhileIdle: true\n testOnBorrow: false\n testOnReturn: false\n poolPreparedStatements: true\n maxPoolPreparedStatementPerConnectionSize: 20\n filters: stat,slf4j\n wall:\n selectWhereAlwayTrueCheck: false\n stat:\n merge-sql: true\n slow-sql-millis: 5000\n datasource:\n master:\n url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai\n username: root\n password: root\n driver-class-name: com.mysql.cj.jdbc.Driver\n sharding_db:\n driver-class-name: org.apache.shardingsphere.driver.ShardingSphereDriver\n url: jdbc:shardingsphere:nacos:nacos-sharding.yaml\n # url: jdbc:shardingsphere:classpath:sharding.yaml\n data:\n redis:\n database: 0\n host: jeecg-boot-redis\n password:\n port: 6379\n rabbitmq:\n host: jeecg-boot-rabbitmq\n username: guest\n password: guest\n port: 5672\n publisher-confirms: true\n publisher-returns: true\n virtual-host: /\n listener:\n simple:\n acknowledge-mode: manual\n concurrency: 1\n max-concurrency: 1\n retry:\n enabled: true\n flyway:\n enabled: false\n locations: classpath:flyway/sql/mysql\n clean-disabled: true\nminidao:\n base-package: org.jeecg.modules.jmreport.*,org.jeecg.modules.drag.*\njeecg:\n firewall:\n dataSourceSafe: false\n lowCodeMode: dev\n signatureSecret: dd05f1c54d63749eda95f9fa6d49v442a\n signUrls: /sys/dict/getDictItems/*,/sys/dict/loadDict/*,/sys/dict/loadDictOrderByValue/*,/sys/dict/loadDictItem/*,/sys/dict/loadTreeData,/sys/api/queryTableDictItemsByCode,/sys/api/queryFilterTableDictInfo,/sys/api/queryTableDictByKeys,/sys/api/translateDictFromTable,/sys/api/translateDictFromTableByKeys\n uploadType: local\n domainUrl:\n pc: http://localhost:3100\n app: http://localhost:8051\n path:\n upload: /opt/upFiles\n webapp: /opt/webapp\n shiro:\n excludeUrls: /test/jeecgDemo/demo3,/test/jeecgDemo/redisDemo/**,/category/**,/visual/**,/map/**,/jmreport/bigscreen2/**\n oss:\n endpoint: oss-cn-beijing.aliyuncs.com\n accessKey: ??\n secretKey: ??\n bucketName: jeecgdev\n staticDomain: ?? \n file-view-domain: 127.0.0.1:8012\n minio:\n minio_url: http://minio.jeecg.com\n minio_name: ??\n minio_pass: ??\n bucketName: otatest\n jmreport:\n saasMode:\n firewall:\n dataSourceSafe: false\n lowCodeMode: dev\n wps:\n domain: https://wwo.wps.cn/office/\n appid: ??\n appsecret: ??\n xxljob:\n enabled: false\n adminAddresses: http://jeecg-boot-xxljob:9080/xxl-job-admin\n appname: ${spring.application.name}\n accessToken: \'\'\n logPath: logs/jeecg/job/jobhandler/\n logRetentionDays: 30\n redisson:\n address: jeecg-boot-redis:6379\n password:\n type: STANDALONE\n enabled: true\n ai-chat:\n enabled: false\n apiKey: \"????\"\n apiHost: \"https://api.openai.com\"\n timeout: 60\n ai-rag:\n embed-store:\n host: 127.0.0.1\n port: 5432\n database: postgres\n user: postgres\n password: postgres\n table: embeddings\ncas:\n prefixUrl: http://localhost:8888/cas\nknife4j:\n production: false\n basic:\n enable: false\n username: jeecg\n password: jeecg1314\njustauth:\n enabled: true\n type:\n GITHUB:\n client-id: ??\n client-secret: ??\n redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/github/callback\n WECHAT_ENTERPRISE:\n client-id: ??\n client-secret: ??\n redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/wechat_enterprise/callback\n agent-id: ??\n DINGTALK:\n client-id: ??\n client-secret: ??\n redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/dingtalk/callback\n cache:\n type: default\n prefix: \'demo::\'\n timeout: 1h\nthird-app:\n enabled: false\n type:\n WECHAT_ENTERPRISE:\n enabled: false\n client-id: ??\n client-secret: ??\n agent-id: ??\n DINGTALK:\n enabled: false\n client-id: ??\n client-secret: ??\n agent-id: ??', '1055e3565097922e40554ba05cf90a60', '2010-05-05 00:00:00', '2025-10-14 03:25:40', NULL, '0:0:0:0:0:0:0:1', 'U', 'springboot3', '');
-INSERT INTO `his_config_info` VALUES (43, 36, 'jeecg-dev.yaml', 'DEFAULT_GROUP', '', 'spring:\n datasource:\n druid:\n stat-view-servlet:\n enabled: true\n loginUsername: admin\n loginPassword: 123456\n allow:\n web-stat-filter:\n enabled: true\n dynamic:\n druid:\n initial-size: 5\n min-idle: 5\n maxActive: 20\n maxWait: 60000\n timeBetweenEvictionRunsMillis: 60000\n minEvictableIdleTimeMillis: 300000\n validationQuery: SELECT 1 FROM DUAL\n testWhileIdle: true\n testOnBorrow: false\n testOnReturn: false\n poolPreparedStatements: true\n maxPoolPreparedStatementPerConnectionSize: 20\n filters: stat,slf4j\n wall:\n selectWhereAlwayTrueCheck: false\n stat:\n merge-sql: true\n slow-sql-millis: 5000\n datasource:\n master:\n url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai\n username: root\n password: root\n driver-class-name: com.mysql.cj.jdbc.Driver\n data:\n redis:\n database: 0\n host: jeecg-boot-redis\n password:\n port: 6379\n rabbitmq:\n host: jeecg-boot-rabbitmq\n username: guest\n password: guest\n port: 5672\n publisher-confirms: true\n publisher-returns: true\n virtual-host: /\n listener:\n simple:\n acknowledge-mode: manual\n concurrency: 1\n max-concurrency: 1\n retry:\n enabled: true\n flyway:\n enabled: false\n locations: classpath:flyway/sql/mysql\n clean-disabled: true\nminidao:\n base-package: org.jeecg.modules.jmreport.*,org.jeecg.modules.drag.*\njeecg:\n firewall:\n dataSourceSafe: false\n lowCodeMode: dev\n signatureSecret: dd05f1c54d63749eda95f9fa6d49v442a\n signUrls: /sys/dict/getDictItems/*,/sys/dict/loadDict/*,/sys/dict/loadDictOrderByValue/*,/sys/dict/loadDictItem/*,/sys/dict/loadTreeData,/sys/api/queryTableDictItemsByCode,/sys/api/queryFilterTableDictInfo,/sys/api/queryTableDictByKeys,/sys/api/translateDictFromTable,/sys/api/translateDictFromTableByKeys\n uploadType: local\n domainUrl:\n pc: http://localhost:3100\n app: http://localhost:8051\n path:\n upload: /opt/upFiles\n webapp: /opt/webapp\n shiro:\n excludeUrls: /test/jeecgDemo/demo3,/test/jeecgDemo/redisDemo/**,/category/**,/visual/**,/map/**,/jmreport/bigscreen2/**\n oss:\n endpoint: oss-cn-beijing.aliyuncs.com\n accessKey: ??\n secretKey: ??\n bucketName: jeecgdev\n staticDomain: ?? \n file-view-domain: 127.0.0.1:8012\n minio:\n minio_url: http://minio.jeecg.com\n minio_name: ??\n minio_pass: ??\n bucketName: otatest\n jmreport:\n saasMode:\n firewall:\n dataSourceSafe: false\n lowCodeMode: dev\n wps:\n domain: https://wwo.wps.cn/office/\n appid: ??\n appsecret: ??\n xxljob:\n enabled: false\n adminAddresses: http://jeecg-boot-xxljob:9080/xxl-job-admin\n appname: ${spring.application.name}\n accessToken: \'\'\n logPath: logs/jeecg/job/jobhandler/\n logRetentionDays: 30\n redisson:\n address: jeecg-boot-redis:6379\n password:\n type: STANDALONE\n enabled: true\n ai-chat:\n enabled: false\n apiKey: \"????\"\n apiHost: \"https://api.openai.com\"\n timeout: 60\n ai-rag:\n embed-store:\n host: 127.0.0.1\n port: 5432\n database: postgres\n user: postgres\n password: postgres\n table: embeddings\ncas:\n prefixUrl: http://localhost:8888/cas\nknife4j:\n production: false\n basic:\n enable: false\n username: jeecg\n password: jeecg1314\njustauth:\n enabled: true\n type:\n GITHUB:\n client-id: ??\n client-secret: ??\n redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/github/callback\n WECHAT_ENTERPRISE:\n client-id: ??\n client-secret: ??\n redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/wechat_enterprise/callback\n agent-id: ??\n DINGTALK:\n client-id: ??\n client-secret: ??\n redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/dingtalk/callback\n cache:\n type: default\n prefix: \'demo::\'\n timeout: 1h\nthird-app:\n enabled: false\n type:\n WECHAT_ENTERPRISE:\n enabled: false\n client-id: ??\n client-secret: ??\n agent-id: ??\n DINGTALK:\n enabled: false\n client-id: ??\n client-secret: ??\n agent-id: ??', 'db86a793f5e62eb0f1e3478bd0f3520b', '2010-05-05 00:00:00', '2025-10-14 04:17:26', NULL, '0:0:0:0:0:0:0:1', 'U', 'springboot3', '');
-INSERT INTO `his_config_info` VALUES (51, 37, 'nacos-sharding.yaml', 'DEFAULT_GROUP', '', '# !!!数据源名称要和动态数据源中配置的名称一致\r\ndatabaseName: sharding_db\r\n\r\n# 具体参看官网文档说明\r\ndataSources:\r\n db_0:\r\n dataSourceClassName: com.zaxxer.hikari.HikariDataSource\r\n driverClassName: com.mysql.cj.jdbc.Driver\r\n jdbcUrl: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai\r\n password: root\r\n username: root\r\n\r\nrules:\r\n - !SHARDING\r\n tables: # 数据分片规则配置\r\n sys_log: # 逻辑表名称\r\n actualDataNodes: db_0.sys_log$->{0..1} # 由数据源名 + 表名组成(参考 Inline 语法规则)\r\n databaseStrategy: # 分库策略,缺省表示使用默认分库策略,以下的分片策略只能选其一\r\n none:\r\n tableStrategy: # 分表策略\r\n standard: # 用于单分片键的标准分片场景\r\n shardingColumn: log_type # 分片列名称\r\n shardingAlgorithmName: user_inline\r\n keyGenerateStrategy:\r\n column: id\r\n keyGeneratorName: snowflake\r\n keyGenerators:\r\n snowflake:\r\n type: SNOWFLAKE\r\n props:\r\n worker-id: 123\r\n # 分片算法配置\r\n shardingAlgorithms:\r\n user_inline:\r\n type: INLINE\r\n props:\r\n algorithm-expression: sys_log$->{log_type % 2}\r\n\r\nprops:\r\n sql-show: true', '7781ded11994d9e1b2230bed606cd8b7', '2010-05-05 00:00:00', '2025-10-14 04:17:50', NULL, '0:0:0:0:0:0:0:1', 'U', 'springboot3', '');
-INSERT INTO `his_config_info` VALUES (43, 38, 'jeecg-dev.yaml', 'DEFAULT_GROUP', '', 'spring:\n datasource:\n druid:\n stat-view-servlet:\n enabled: true\n loginUsername: admin\n loginPassword: 123456\n allow:\n web-stat-filter:\n enabled: true\n dynamic:\n druid:\n initial-size: 5\n min-idle: 5\n maxActive: 20\n maxWait: 60000\n timeBetweenEvictionRunsMillis: 60000\n minEvictableIdleTimeMillis: 300000\n validationQuery: SELECT 1 FROM DUAL\n testWhileIdle: true\n testOnBorrow: false\n testOnReturn: false\n poolPreparedStatements: true\n maxPoolPreparedStatementPerConnectionSize: 20\n filters: stat,slf4j\n wall:\n selectWhereAlwayTrueCheck: false\n stat:\n merge-sql: true\n slow-sql-millis: 5000\n datasource:\n master:\n url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai\n username: root\n password: root\n driver-class-name: com.mysql.cj.jdbc.Driver\n sharding-db:\n driver-class-name: org.apache.shardingsphere.driver.ShardingSphereDriver\n url: jdbc:shardingsphere:nacos:sharding.yaml\n data:\n redis:\n database: 0\n host: jeecg-boot-redis\n password:\n port: 6379\n rabbitmq:\n host: jeecg-boot-rabbitmq\n username: guest\n password: guest\n port: 5672\n publisher-confirms: true\n publisher-returns: true\n virtual-host: /\n listener:\n simple:\n acknowledge-mode: manual\n concurrency: 1\n max-concurrency: 1\n retry:\n enabled: true\n flyway:\n enabled: false\n locations: classpath:flyway/sql/mysql\n clean-disabled: true\nminidao:\n base-package: org.jeecg.modules.jmreport.*,org.jeecg.modules.drag.*\njeecg:\n firewall:\n dataSourceSafe: false\n lowCodeMode: dev\n signatureSecret: dd05f1c54d63749eda95f9fa6d49v442a\n signUrls: /sys/dict/getDictItems/*,/sys/dict/loadDict/*,/sys/dict/loadDictOrderByValue/*,/sys/dict/loadDictItem/*,/sys/dict/loadTreeData,/sys/api/queryTableDictItemsByCode,/sys/api/queryFilterTableDictInfo,/sys/api/queryTableDictByKeys,/sys/api/translateDictFromTable,/sys/api/translateDictFromTableByKeys\n uploadType: local\n domainUrl:\n pc: http://localhost:3100\n app: http://localhost:8051\n path:\n upload: /opt/upFiles\n webapp: /opt/webapp\n shiro:\n excludeUrls: /test/jeecgDemo/demo3,/test/jeecgDemo/redisDemo/**,/category/**,/visual/**,/map/**,/jmreport/bigscreen2/**\n oss:\n endpoint: oss-cn-beijing.aliyuncs.com\n accessKey: ??\n secretKey: ??\n bucketName: jeecgdev\n staticDomain: ?? \n file-view-domain: 127.0.0.1:8012\n minio:\n minio_url: http://minio.jeecg.com\n minio_name: ??\n minio_pass: ??\n bucketName: otatest\n jmreport:\n saasMode:\n firewall:\n dataSourceSafe: false\n lowCodeMode: dev\n wps:\n domain: https://wwo.wps.cn/office/\n appid: ??\n appsecret: ??\n xxljob:\n enabled: false\n adminAddresses: http://jeecg-boot-xxljob:9080/xxl-job-admin\n appname: ${spring.application.name}\n accessToken: \'\'\n logPath: logs/jeecg/job/jobhandler/\n logRetentionDays: 30\n redisson:\n address: jeecg-boot-redis:6379\n password:\n type: STANDALONE\n enabled: true\n ai-chat:\n enabled: false\n apiKey: \"????\"\n apiHost: \"https://api.openai.com\"\n timeout: 60\n ai-rag:\n embed-store:\n host: 127.0.0.1\n port: 5432\n database: postgres\n user: postgres\n password: postgres\n table: embeddings\ncas:\n prefixUrl: http://localhost:8888/cas\nknife4j:\n production: false\n basic:\n enable: false\n username: jeecg\n password: jeecg1314\njustauth:\n enabled: true\n type:\n GITHUB:\n client-id: ??\n client-secret: ??\n redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/github/callback\n WECHAT_ENTERPRISE:\n client-id: ??\n client-secret: ??\n redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/wechat_enterprise/callback\n agent-id: ??\n DINGTALK:\n client-id: ??\n client-secret: ??\n redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/dingtalk/callback\n cache:\n type: default\n prefix: \'demo::\'\n timeout: 1h\nthird-app:\n enabled: false\n type:\n WECHAT_ENTERPRISE:\n enabled: false\n client-id: ??\n client-secret: ??\n agent-id: ??\n DINGTALK:\n enabled: false\n client-id: ??\n client-secret: ??\n agent-id: ??', '56ad0afc1ba7a9e08b37c58b2e561e67', '2010-05-05 00:00:00', '2025-10-14 04:18:08', NULL, '0:0:0:0:0:0:0:1', 'U', 'springboot3', '');
-INSERT INTO `his_config_info` VALUES (0, 39, 'sharding.yaml', 'DEFAULT_GROUP', '', '# !!!数据源名称要和动态数据源中配置的名称一致\ndatabaseName: sharding-db\n\n# 具体参看官网文档说明\ndataSources:\n db_0:\n dataSourceClassName: com.zaxxer.hikari.HikariDataSource\n driverClassName: com.mysql.cj.jdbc.Driver\n jdbcUrl: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai\n password: root\n username: root\n\nrules:\n - !SHARDING\n tables: # 数据分片规则配置\n sys_log: # 逻辑表名称\n actualDataNodes: db_0.sys_log$->{0..1} # 由数据源名 + 表名组成(参考 Inline 语法规则)\n databaseStrategy: # 分库策略,缺省表示使用默认分库策略,以下的分片策略只能选其一\n none:\n tableStrategy: # 分表策略\n standard: # 用于单分片键的标准分片场景\n shardingColumn: log_type # 分片列名称\n shardingAlgorithmName: user_inline\n keyGenerateStrategy:\n column: id\n keyGeneratorName: snowflake\n keyGenerators:\n snowflake:\n type: SNOWFLAKE\n props:\n worker-id: 123\n # 分片算法配置\n shardingAlgorithms:\n user_inline:\n type: INLINE\n props:\n algorithm-expression: sys_log$->{log_type % 2}\n\nprops:\n sql-show: true', '641b4fb3d23568319d543a974917a026', '2010-05-05 00:00:00', '2025-10-14 04:18:26', NULL, '0:0:0:0:0:0:0:1', 'I', 'springboot3', '');
-INSERT INTO `his_config_info` VALUES (51, 40, 'nacos-sharding.yaml', 'DEFAULT_GROUP', '', '# !!!数据源名称要和动态数据源中配置的名称一致\ndatabaseName: sharding-db\n\n# 具体参看官网文档说明\ndataSources:\n db_0:\n dataSourceClassName: com.zaxxer.hikari.HikariDataSource\n driverClassName: com.mysql.cj.jdbc.Driver\n jdbcUrl: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai\n password: root\n username: root\n\nrules:\n - !SHARDING\n tables: # 数据分片规则配置\n sys_log: # 逻辑表名称\n actualDataNodes: db_0.sys_log$->{0..1} # 由数据源名 + 表名组成(参考 Inline 语法规则)\n databaseStrategy: # 分库策略,缺省表示使用默认分库策略,以下的分片策略只能选其一\n none:\n tableStrategy: # 分表策略\n standard: # 用于单分片键的标准分片场景\n shardingColumn: log_type # 分片列名称\n shardingAlgorithmName: user_inline\n keyGenerateStrategy:\n column: id\n keyGeneratorName: snowflake\n keyGenerators:\n snowflake:\n type: SNOWFLAKE\n props:\n worker-id: 123\n # 分片算法配置\n shardingAlgorithms:\n user_inline:\n type: INLINE\n props:\n algorithm-expression: sys_log$->{log_type % 2}\n\nprops:\n sql-show: true', '641b4fb3d23568319d543a974917a026', '2010-05-05 00:00:00', '2025-10-14 04:18:29', NULL, '0:0:0:0:0:0:0:1', 'D', 'springboot3', '');
-INSERT INTO `his_config_info` VALUES (43, 41, 'jeecg-dev.yaml', 'DEFAULT_GROUP', '', 'spring:\n datasource:\n druid:\n stat-view-servlet:\n enabled: true\n loginUsername: admin\n loginPassword: 123456\n allow:\n web-stat-filter:\n enabled: true\n dynamic:\n druid:\n initial-size: 5\n min-idle: 5\n maxActive: 20\n maxWait: 60000\n timeBetweenEvictionRunsMillis: 60000\n minEvictableIdleTimeMillis: 300000\n validationQuery: SELECT 1 FROM DUAL\n testWhileIdle: true\n testOnBorrow: false\n testOnReturn: false\n poolPreparedStatements: true\n maxPoolPreparedStatementPerConnectionSize: 20\n filters: stat,slf4j\n wall:\n selectWhereAlwayTrueCheck: false\n stat:\n merge-sql: true\n slow-sql-millis: 5000\n datasource:\n master:\n url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai\n username: root\n password: root\n driver-class-name: com.mysql.cj.jdbc.Driver\n sharding-db:\n driver-class-name: org.apache.shardingsphere.driver.ShardingSphereDriver\n url: jdbc:shardingsphere:nacos:nacos-sharding.yaml\n data:\n redis:\n database: 0\n host: jeecg-boot-redis\n password:\n port: 6379\n rabbitmq:\n host: jeecg-boot-rabbitmq\n username: guest\n password: guest\n port: 5672\n publisher-confirms: true\n publisher-returns: true\n virtual-host: /\n listener:\n simple:\n acknowledge-mode: manual\n concurrency: 1\n max-concurrency: 1\n retry:\n enabled: true\n flyway:\n enabled: false\n locations: classpath:flyway/sql/mysql\n clean-disabled: true\nminidao:\n base-package: org.jeecg.modules.jmreport.*,org.jeecg.modules.drag.*\njeecg:\n firewall:\n dataSourceSafe: false\n lowCodeMode: dev\n signatureSecret: dd05f1c54d63749eda95f9fa6d49v442a\n signUrls: /sys/dict/getDictItems/*,/sys/dict/loadDict/*,/sys/dict/loadDictOrderByValue/*,/sys/dict/loadDictItem/*,/sys/dict/loadTreeData,/sys/api/queryTableDictItemsByCode,/sys/api/queryFilterTableDictInfo,/sys/api/queryTableDictByKeys,/sys/api/translateDictFromTable,/sys/api/translateDictFromTableByKeys\n uploadType: local\n domainUrl:\n pc: http://localhost:3100\n app: http://localhost:8051\n path:\n upload: /opt/upFiles\n webapp: /opt/webapp\n shiro:\n excludeUrls: /test/jeecgDemo/demo3,/test/jeecgDemo/redisDemo/**,/category/**,/visual/**,/map/**,/jmreport/bigscreen2/**\n oss:\n endpoint: oss-cn-beijing.aliyuncs.com\n accessKey: ??\n secretKey: ??\n bucketName: jeecgdev\n staticDomain: ?? \n file-view-domain: 127.0.0.1:8012\n minio:\n minio_url: http://minio.jeecg.com\n minio_name: ??\n minio_pass: ??\n bucketName: otatest\n jmreport:\n saasMode:\n firewall:\n dataSourceSafe: false\n lowCodeMode: dev\n wps:\n domain: https://wwo.wps.cn/office/\n appid: ??\n appsecret: ??\n xxljob:\n enabled: false\n adminAddresses: http://jeecg-boot-xxljob:9080/xxl-job-admin\n appname: ${spring.application.name}\n accessToken: \'\'\n logPath: logs/jeecg/job/jobhandler/\n logRetentionDays: 30\n redisson:\n address: jeecg-boot-redis:6379\n password:\n type: STANDALONE\n enabled: true\n ai-chat:\n enabled: false\n apiKey: \"????\"\n apiHost: \"https://api.openai.com\"\n timeout: 60\n ai-rag:\n embed-store:\n host: 127.0.0.1\n port: 5432\n database: postgres\n user: postgres\n password: postgres\n table: embeddings\ncas:\n prefixUrl: http://localhost:8888/cas\nknife4j:\n production: false\n basic:\n enable: false\n username: jeecg\n password: jeecg1314\njustauth:\n enabled: true\n type:\n GITHUB:\n client-id: ??\n client-secret: ??\n redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/github/callback\n WECHAT_ENTERPRISE:\n client-id: ??\n client-secret: ??\n redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/wechat_enterprise/callback\n agent-id: ??\n DINGTALK:\n client-id: ??\n client-secret: ??\n redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/dingtalk/callback\n cache:\n type: default\n prefix: \'demo::\'\n timeout: 1h\nthird-app:\n enabled: false\n type:\n WECHAT_ENTERPRISE:\n enabled: false\n client-id: ??\n client-secret: ??\n agent-id: ??\n DINGTALK:\n enabled: false\n client-id: ??\n client-secret: ??\n agent-id: ??', '53f6248077a054db55d2fc4b881c489f', '2010-05-05 00:00:00', '2025-10-14 04:18:41', NULL, '0:0:0:0:0:0:0:1', 'U', 'springboot3', '');
-INSERT INTO `his_config_info` VALUES (0, 42, 'sharding.yaml', 'DEFAULT_GROUP', '', '# !!!数据源名称要和动态数据源中配置的名称一致\ndatabaseName: sharding-db\n\n# 具体参看官网文档说明\ndataSources:\n db_0:\n dataSourceClassName: com.zaxxer.hikari.HikariDataSource\n driverClassName: com.mysql.cj.jdbc.Driver\n jdbcUrl: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai\n password: root\n username: root\n\nrules:\n - !SHARDING\n tables: # 数据分片规则配置\n sys_log: # 逻辑表名称\n actualDataNodes: db_0.sys_log$->{0..1} # 由数据源名 + 表名组成(参考 Inline 语法规则)\n databaseStrategy: # 分库策略,缺省表示使用默认分库策略,以下的分片策略只能选其一\n none:\n tableStrategy: # 分表策略\n standard: # 用于单分片键的标准分片场景\n shardingColumn: log_type # 分片列名称\n shardingAlgorithmName: user_inline\n keyGenerateStrategy:\n column: id\n keyGeneratorName: snowflake\n keyGenerators:\n snowflake:\n type: SNOWFLAKE\n props:\n worker-id: 123\n # 分片算法配置\n shardingAlgorithms:\n user_inline:\n type: INLINE\n props:\n algorithm-expression: sys_log$->{log_type % 2}\n\nprops:\n sql-show: true', '641b4fb3d23568319d543a974917a026', '2010-05-05 00:00:00', '2025-10-14 04:33:10', NULL, '0:0:0:0:0:0:0:1', 'I', '', '');
-INSERT INTO `his_config_info` VALUES (53, 43, 'sharding.yaml', 'DEFAULT_GROUP', '', '# !!!数据源名称要和动态数据源中配置的名称一致\ndatabaseName: sharding-db\n\n# 具体参看官网文档说明\ndataSources:\n db_0:\n dataSourceClassName: com.zaxxer.hikari.HikariDataSource\n driverClassName: com.mysql.cj.jdbc.Driver\n jdbcUrl: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai\n password: root\n username: root\n\nrules:\n - !SHARDING\n tables: # 数据分片规则配置\n sys_log: # 逻辑表名称\n actualDataNodes: db_0.sys_log$->{0..1} # 由数据源名 + 表名组成(参考 Inline 语法规则)\n databaseStrategy: # 分库策略,缺省表示使用默认分库策略,以下的分片策略只能选其一\n none:\n tableStrategy: # 分表策略\n standard: # 用于单分片键的标准分片场景\n shardingColumn: log_type # 分片列名称\n shardingAlgorithmName: user_inline\n keyGenerateStrategy:\n column: id\n keyGeneratorName: snowflake\n keyGenerators:\n snowflake:\n type: SNOWFLAKE\n props:\n worker-id: 123\n # 分片算法配置\n shardingAlgorithms:\n user_inline:\n type: INLINE\n props:\n algorithm-expression: sys_log$->{log_type % 2}\n\nprops:\n sql-show: true', '641b4fb3d23568319d543a974917a026', '2010-05-05 00:00:00', '2025-10-14 05:44:50', NULL, '0:0:0:0:0:0:0:1', 'D', '', '');
-INSERT INTO `his_config_info` VALUES (43, 44, 'jeecg-dev.yaml', 'DEFAULT_GROUP', '', 'spring:\n datasource:\n druid:\n stat-view-servlet:\n enabled: true\n loginUsername: admin\n loginPassword: 123456\n allow:\n web-stat-filter:\n enabled: true\n dynamic:\n druid:\n initial-size: 5\n min-idle: 5\n maxActive: 20\n maxWait: 60000\n timeBetweenEvictionRunsMillis: 60000\n minEvictableIdleTimeMillis: 300000\n validationQuery: SELECT 1 FROM DUAL\n testWhileIdle: true\n testOnBorrow: false\n testOnReturn: false\n poolPreparedStatements: true\n maxPoolPreparedStatementPerConnectionSize: 20\n filters: stat,slf4j\n wall:\n selectWhereAlwayTrueCheck: false\n stat:\n merge-sql: true\n slow-sql-millis: 5000\n datasource:\n master:\n url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai\n username: root\n password: root\n driver-class-name: com.mysql.cj.jdbc.Driver\n sharding-db:\n driver-class-name: org.apache.shardingsphere.driver.ShardingSphereDriver\n url: jdbc:shardingsphere:nacos:sharding.yaml\n data:\n redis:\n database: 0\n host: jeecg-boot-redis\n password:\n port: 6379\n rabbitmq:\n host: jeecg-boot-rabbitmq\n username: guest\n password: guest\n port: 5672\n publisher-confirms: true\n publisher-returns: true\n virtual-host: /\n listener:\n simple:\n acknowledge-mode: manual\n concurrency: 1\n max-concurrency: 1\n retry:\n enabled: true\n flyway:\n enabled: false\n locations: classpath:flyway/sql/mysql\n clean-disabled: true\nminidao:\n base-package: org.jeecg.modules.jmreport.*,org.jeecg.modules.drag.*\njeecg:\n firewall:\n dataSourceSafe: false\n lowCodeMode: dev\n signatureSecret: dd05f1c54d63749eda95f9fa6d49v442a\n signUrls: /sys/dict/getDictItems/*,/sys/dict/loadDict/*,/sys/dict/loadDictOrderByValue/*,/sys/dict/loadDictItem/*,/sys/dict/loadTreeData,/sys/api/queryTableDictItemsByCode,/sys/api/queryFilterTableDictInfo,/sys/api/queryTableDictByKeys,/sys/api/translateDictFromTable,/sys/api/translateDictFromTableByKeys\n uploadType: local\n domainUrl:\n pc: http://localhost:3100\n app: http://localhost:8051\n path:\n upload: /opt/upFiles\n webapp: /opt/webapp\n shiro:\n excludeUrls: /test/jeecgDemo/demo3,/test/jeecgDemo/redisDemo/**,/category/**,/visual/**,/map/**,/jmreport/bigscreen2/**\n oss:\n endpoint: oss-cn-beijing.aliyuncs.com\n accessKey: ??\n secretKey: ??\n bucketName: jeecgdev\n staticDomain: ?? \n file-view-domain: 127.0.0.1:8012\n minio:\n minio_url: http://minio.jeecg.com\n minio_name: ??\n minio_pass: ??\n bucketName: otatest\n jmreport:\n saasMode:\n firewall:\n dataSourceSafe: false\n lowCodeMode: dev\n wps:\n domain: https://wwo.wps.cn/office/\n appid: ??\n appsecret: ??\n xxljob:\n enabled: false\n adminAddresses: http://jeecg-boot-xxljob:9080/xxl-job-admin\n appname: ${spring.application.name}\n accessToken: \'\'\n logPath: logs/jeecg/job/jobhandler/\n logRetentionDays: 30\n redisson:\n address: jeecg-boot-redis:6379\n password:\n type: STANDALONE\n enabled: true\n ai-chat:\n enabled: false\n apiKey: \"????\"\n apiHost: \"https://api.openai.com\"\n timeout: 60\n ai-rag:\n embed-store:\n host: 127.0.0.1\n port: 5432\n database: postgres\n user: postgres\n password: postgres\n table: embeddings\ncas:\n prefixUrl: http://localhost:8888/cas\nknife4j:\n production: false\n basic:\n enable: false\n username: jeecg\n password: jeecg1314\njustauth:\n enabled: true\n type:\n GITHUB:\n client-id: ??\n client-secret: ??\n redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/github/callback\n WECHAT_ENTERPRISE:\n client-id: ??\n client-secret: ??\n redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/wechat_enterprise/callback\n agent-id: ??\n DINGTALK:\n client-id: ??\n client-secret: ??\n redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/dingtalk/callback\n cache:\n type: default\n prefix: \'demo::\'\n timeout: 1h\nthird-app:\n enabled: false\n type:\n WECHAT_ENTERPRISE:\n enabled: false\n client-id: ??\n client-secret: ??\n agent-id: ??\n DINGTALK:\n enabled: false\n client-id: ??\n client-secret: ??\n agent-id: ??', '56ad0afc1ba7a9e08b37c58b2e561e67', '2010-05-05 00:00:00', '2025-10-14 05:55:59', NULL, '0:0:0:0:0:0:0:1', 'U', 'springboot3', '');
-INSERT INTO `his_config_info` VALUES (43, 45, 'jeecg-dev.yaml', 'DEFAULT_GROUP', '', 'spring:\n datasource:\n druid:\n stat-view-servlet:\n enabled: true\n loginUsername: admin\n loginPassword: 123456\n allow:\n web-stat-filter:\n enabled: true\n dynamic:\n druid:\n initial-size: 5\n min-idle: 5\n maxActive: 20\n maxWait: 60000\n timeBetweenEvictionRunsMillis: 60000\n minEvictableIdleTimeMillis: 300000\n validationQuery: SELECT 1 FROM DUAL\n testWhileIdle: true\n testOnBorrow: false\n testOnReturn: false\n poolPreparedStatements: true\n maxPoolPreparedStatementPerConnectionSize: 20\n filters: stat,slf4j\n wall:\n selectWhereAlwayTrueCheck: false\n stat:\n merge-sql: true\n slow-sql-millis: 5000\n datasource:\n master:\n url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai\n username: root\n password: root\n driver-class-name: com.mysql.cj.jdbc.Driver\n data:\n redis:\n database: 0\n host: jeecg-boot-redis\n password:\n port: 6379\n rabbitmq:\n host: jeecg-boot-rabbitmq\n username: guest\n password: guest\n port: 5672\n publisher-confirms: true\n publisher-returns: true\n virtual-host: /\n listener:\n simple:\n acknowledge-mode: manual\n concurrency: 1\n max-concurrency: 1\n retry:\n enabled: true\n flyway:\n enabled: false\n locations: classpath:flyway/sql/mysql\n clean-disabled: true\nminidao:\n base-package: org.jeecg.modules.jmreport.*,org.jeecg.modules.drag.*\njeecg:\n firewall:\n dataSourceSafe: false\n lowCodeMode: dev\n signatureSecret: dd05f1c54d63749eda95f9fa6d49v442a\n signUrls: /sys/dict/getDictItems/*,/sys/dict/loadDict/*,/sys/dict/loadDictOrderByValue/*,/sys/dict/loadDictItem/*,/sys/dict/loadTreeData,/sys/api/queryTableDictItemsByCode,/sys/api/queryFilterTableDictInfo,/sys/api/queryTableDictByKeys,/sys/api/translateDictFromTable,/sys/api/translateDictFromTableByKeys\n uploadType: local\n domainUrl:\n pc: http://localhost:3100\n app: http://localhost:8051\n path:\n upload: /opt/upFiles\n webapp: /opt/webapp\n shiro:\n excludeUrls: /test/jeecgDemo/demo3,/test/jeecgDemo/redisDemo/**,/category/**,/visual/**,/map/**,/jmreport/bigscreen2/**\n oss:\n endpoint: oss-cn-beijing.aliyuncs.com\n accessKey: ??\n secretKey: ??\n bucketName: jeecgdev\n staticDomain: ?? \n file-view-domain: 127.0.0.1:8012\n minio:\n minio_url: http://minio.jeecg.com\n minio_name: ??\n minio_pass: ??\n bucketName: otatest\n jmreport:\n saasMode:\n firewall:\n dataSourceSafe: false\n lowCodeMode: dev\n wps:\n domain: https://wwo.wps.cn/office/\n appid: ??\n appsecret: ??\n xxljob:\n enabled: false\n adminAddresses: http://jeecg-boot-xxljob:9080/xxl-job-admin\n appname: ${spring.application.name}\n accessToken: \'\'\n logPath: logs/jeecg/job/jobhandler/\n logRetentionDays: 30\n redisson:\n address: jeecg-boot-redis:6379\n password:\n type: STANDALONE\n enabled: true\n ai-chat:\n enabled: false\n apiKey: \"????\"\n apiHost: \"https://api.openai.com\"\n timeout: 60\n ai-rag:\n embed-store:\n host: 127.0.0.1\n port: 5432\n database: postgres\n user: postgres\n password: postgres\n table: embeddings\ncas:\n prefixUrl: http://localhost:8888/cas\nknife4j:\n production: false\n basic:\n enable: false\n username: jeecg\n password: jeecg1314\njustauth:\n enabled: true\n type:\n GITHUB:\n client-id: ??\n client-secret: ??\n redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/github/callback\n WECHAT_ENTERPRISE:\n client-id: ??\n client-secret: ??\n redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/wechat_enterprise/callback\n agent-id: ??\n DINGTALK:\n client-id: ??\n client-secret: ??\n redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/dingtalk/callback\n cache:\n type: default\n prefix: \'demo::\'\n timeout: 1h\nthird-app:\n enabled: false\n type:\n WECHAT_ENTERPRISE:\n enabled: false\n client-id: ??\n client-secret: ??\n agent-id: ??\n DINGTALK:\n enabled: false\n client-id: ??\n client-secret: ??\n agent-id: ??', 'db86a793f5e62eb0f1e3478bd0f3520b', '2010-05-05 00:00:00', '2025-10-14 06:04:56', NULL, '0:0:0:0:0:0:0:1', 'U', 'springboot3', '');
-INSERT INTO `his_config_info` VALUES (43, 46, 'jeecg-dev.yaml', 'DEFAULT_GROUP', '', 'spring:\n datasource:\n druid:\n stat-view-servlet:\n enabled: true\n loginUsername: admin\n loginPassword: 123456\n allow:\n web-stat-filter:\n enabled: true\n dynamic:\n druid:\n initial-size: 5\n min-idle: 5\n maxActive: 20\n maxWait: 60000\n timeBetweenEvictionRunsMillis: 60000\n minEvictableIdleTimeMillis: 300000\n validationQuery: SELECT 1 FROM DUAL\n testWhileIdle: true\n testOnBorrow: false\n testOnReturn: false\n poolPreparedStatements: true\n maxPoolPreparedStatementPerConnectionSize: 20\n filters: stat,slf4j\n wall:\n selectWhereAlwayTrueCheck: false\n stat:\n merge-sql: true\n slow-sql-millis: 5000\n datasource:\n master:\n url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai\n username: root\n password: root\n driver-class-name: com.mysql.cj.jdbc.Driver\n sharding-db:\n driver-class-name: org.apache.shardingsphere.driver.ShardingSphereDriver\n url: jdbc:shardingsphere:nacos:sharding.yaml?serverAddr=${sharding.nacos.server-addr}&namespace=${sharding.nacos.namespace}&group=${sharding.nacos.group}\n data:\n redis:\n database: 0\n host: jeecg-boot-redis\n password:\n port: 6379\n rabbitmq:\n host: jeecg-boot-rabbitmq\n username: guest\n password: guest\n port: 5672\n publisher-confirms: true\n publisher-returns: true\n virtual-host: /\n listener:\n simple:\n acknowledge-mode: manual\n concurrency: 1\n max-concurrency: 1\n retry:\n enabled: true\n flyway:\n enabled: false\n locations: classpath:flyway/sql/mysql\n clean-disabled: true\nminidao:\n base-package: org.jeecg.modules.jmreport.*,org.jeecg.modules.drag.*\njeecg:\n firewall:\n dataSourceSafe: false\n lowCodeMode: dev\n signatureSecret: dd05f1c54d63749eda95f9fa6d49v442a\n signUrls: /sys/dict/getDictItems/*,/sys/dict/loadDict/*,/sys/dict/loadDictOrderByValue/*,/sys/dict/loadDictItem/*,/sys/dict/loadTreeData,/sys/api/queryTableDictItemsByCode,/sys/api/queryFilterTableDictInfo,/sys/api/queryTableDictByKeys,/sys/api/translateDictFromTable,/sys/api/translateDictFromTableByKeys\n uploadType: local\n domainUrl:\n pc: http://localhost:3100\n app: http://localhost:8051\n path:\n upload: /opt/upFiles\n webapp: /opt/webapp\n shiro:\n excludeUrls: /test/jeecgDemo/demo3,/test/jeecgDemo/redisDemo/**,/category/**,/visual/**,/map/**,/jmreport/bigscreen2/**\n oss:\n endpoint: oss-cn-beijing.aliyuncs.com\n accessKey: ??\n secretKey: ??\n bucketName: jeecgdev\n staticDomain: ?? \n file-view-domain: 127.0.0.1:8012\n minio:\n minio_url: http://minio.jeecg.com\n minio_name: ??\n minio_pass: ??\n bucketName: otatest\n jmreport:\n saasMode:\n firewall:\n dataSourceSafe: false\n lowCodeMode: dev\n wps:\n domain: https://wwo.wps.cn/office/\n appid: ??\n appsecret: ??\n xxljob:\n enabled: false\n adminAddresses: http://jeecg-boot-xxljob:9080/xxl-job-admin\n appname: ${spring.application.name}\n accessToken: \'\'\n logPath: logs/jeecg/job/jobhandler/\n logRetentionDays: 30\n redisson:\n address: jeecg-boot-redis:6379\n password:\n type: STANDALONE\n enabled: true\n ai-chat:\n enabled: false\n apiKey: \"????\"\n apiHost: \"https://api.openai.com\"\n timeout: 60\n ai-rag:\n embed-store:\n host: 127.0.0.1\n port: 5432\n database: postgres\n user: postgres\n password: postgres\n table: embeddings\ncas:\n prefixUrl: http://localhost:8888/cas\nknife4j:\n production: false\n basic:\n enable: false\n username: jeecg\n password: jeecg1314\njustauth:\n enabled: true\n type:\n GITHUB:\n client-id: ??\n client-secret: ??\n redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/github/callback\n WECHAT_ENTERPRISE:\n client-id: ??\n client-secret: ??\n redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/wechat_enterprise/callback\n agent-id: ??\n DINGTALK:\n client-id: ??\n client-secret: ??\n redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/dingtalk/callback\n cache:\n type: default\n prefix: \'demo::\'\n timeout: 1h\nthird-app:\n enabled: false\n type:\n WECHAT_ENTERPRISE:\n enabled: false\n client-id: ??\n client-secret: ??\n agent-id: ??\n DINGTALK:\n enabled: false\n client-id: ??\n client-secret: ??\n agent-id: ??', 'c5a434d5258c7951dde9c3e7faba29b4', '2010-05-05 00:00:00', '2025-10-14 06:08:34', NULL, '0:0:0:0:0:0:0:1', 'U', 'springboot3', '');
-INSERT INTO `his_config_info` VALUES (43, 47, 'jeecg-dev.yaml', 'DEFAULT_GROUP', '', 'spring:\n datasource:\n druid:\n stat-view-servlet:\n enabled: true\n loginUsername: admin\n loginPassword: 123456\n allow:\n web-stat-filter:\n enabled: true\n dynamic:\n druid:\n initial-size: 5\n min-idle: 5\n maxActive: 20\n maxWait: 60000\n timeBetweenEvictionRunsMillis: 60000\n minEvictableIdleTimeMillis: 300000\n validationQuery: SELECT 1 FROM DUAL\n testWhileIdle: true\n testOnBorrow: false\n testOnReturn: false\n poolPreparedStatements: true\n maxPoolPreparedStatementPerConnectionSize: 20\n filters: stat,slf4j\n wall:\n selectWhereAlwayTrueCheck: false\n stat:\n merge-sql: true\n slow-sql-millis: 5000\n datasource:\n master:\n url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai\n username: root\n password: root\n driver-class-name: com.mysql.cj.jdbc.Driver\n sharding-db:\n driver-class-name: org.apache.shardingsphere.driver.ShardingSphereDriver\n url: jdbc:shardingsphere:nacos:sharding.yaml\n data:\n redis:\n database: 0\n host: jeecg-boot-redis\n password:\n port: 6379\n rabbitmq:\n host: jeecg-boot-rabbitmq\n username: guest\n password: guest\n port: 5672\n publisher-confirms: true\n publisher-returns: true\n virtual-host: /\n listener:\n simple:\n acknowledge-mode: manual\n concurrency: 1\n max-concurrency: 1\n retry:\n enabled: true\n flyway:\n enabled: false\n locations: classpath:flyway/sql/mysql\n clean-disabled: true\nminidao:\n base-package: org.jeecg.modules.jmreport.*,org.jeecg.modules.drag.*\njeecg:\n firewall:\n dataSourceSafe: false\n lowCodeMode: dev\n signatureSecret: dd05f1c54d63749eda95f9fa6d49v442a\n signUrls: /sys/dict/getDictItems/*,/sys/dict/loadDict/*,/sys/dict/loadDictOrderByValue/*,/sys/dict/loadDictItem/*,/sys/dict/loadTreeData,/sys/api/queryTableDictItemsByCode,/sys/api/queryFilterTableDictInfo,/sys/api/queryTableDictByKeys,/sys/api/translateDictFromTable,/sys/api/translateDictFromTableByKeys\n uploadType: local\n domainUrl:\n pc: http://localhost:3100\n app: http://localhost:8051\n path:\n upload: /opt/upFiles\n webapp: /opt/webapp\n shiro:\n excludeUrls: /test/jeecgDemo/demo3,/test/jeecgDemo/redisDemo/**,/category/**,/visual/**,/map/**,/jmreport/bigscreen2/**\n oss:\n endpoint: oss-cn-beijing.aliyuncs.com\n accessKey: ??\n secretKey: ??\n bucketName: jeecgdev\n staticDomain: ?? \n file-view-domain: 127.0.0.1:8012\n minio:\n minio_url: http://minio.jeecg.com\n minio_name: ??\n minio_pass: ??\n bucketName: otatest\n jmreport:\n saasMode:\n firewall:\n dataSourceSafe: false\n lowCodeMode: dev\n wps:\n domain: https://wwo.wps.cn/office/\n appid: ??\n appsecret: ??\n xxljob:\n enabled: false\n adminAddresses: http://jeecg-boot-xxljob:9080/xxl-job-admin\n appname: ${spring.application.name}\n accessToken: \'\'\n logPath: logs/jeecg/job/jobhandler/\n logRetentionDays: 30\n redisson:\n address: jeecg-boot-redis:6379\n password:\n type: STANDALONE\n enabled: true\n ai-chat:\n enabled: false\n apiKey: \"????\"\n apiHost: \"https://api.openai.com\"\n timeout: 60\n ai-rag:\n embed-store:\n host: 127.0.0.1\n port: 5432\n database: postgres\n user: postgres\n password: postgres\n table: embeddings\ncas:\n prefixUrl: http://localhost:8888/cas\nknife4j:\n production: false\n basic:\n enable: false\n username: jeecg\n password: jeecg1314\njustauth:\n enabled: true\n type:\n GITHUB:\n client-id: ??\n client-secret: ??\n redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/github/callback\n WECHAT_ENTERPRISE:\n client-id: ??\n client-secret: ??\n redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/wechat_enterprise/callback\n agent-id: ??\n DINGTALK:\n client-id: ??\n client-secret: ??\n redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/dingtalk/callback\n cache:\n type: default\n prefix: \'demo::\'\n timeout: 1h\nthird-app:\n enabled: false\n type:\n WECHAT_ENTERPRISE:\n enabled: false\n client-id: ??\n client-secret: ??\n agent-id: ??\n DINGTALK:\n enabled: false\n client-id: ??\n client-secret: ??\n agent-id: ??', '56ad0afc1ba7a9e08b37c58b2e561e67', '2010-05-05 00:00:00', '2025-10-14 06:13:21', NULL, '0:0:0:0:0:0:0:1', 'U', 'springboot3', '');
-INSERT INTO `his_config_info` VALUES (46, 48, 'jeecg-sharding.yaml', 'DEFAULT_GROUP', '', 'spring:\n shardingsphere:\n datasource:\n names: ds0\n ds0:\n driverClassName: com.mysql.cj.jdbc.Driver\n url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai\n username: root\n password: root\n type: com.alibaba.druid.pool.DruidDataSource\n props:\n sql-show: true\n rules:\n sharding:\n binding-tables: sys_log\n key-generators:\n snowflake:\n type: SNOWFLAKE\n props:\n worker-id: 123\n sharding-algorithms:\n table-classbased:\n props:\n strategy: standard\n algorithmClassName: org.jeecg.modules.test.sharding.algorithm.StandardModTableShardAlgorithm\n type: CLASS_BASED\n tables:\n sys_log:\n actual-data-nodes: ds0.sys_log$->{0..1}\n table-strategy:\n standard:\n sharding-algorithm-name: table-classbased\n sharding-column: log_type', 'a93fa455c32cd37ca84631d2bbe13005', '2010-05-05 00:00:00', '2025-10-14 06:15:51', NULL, '0:0:0:0:0:0:0:1', 'D', 'springboot3', '');
-INSERT INTO `his_config_info` VALUES (48, 49, 'jeecg-sharding-multi.yaml', 'DEFAULT_GROUP', '', 'spring:\n shardingsphere:\n datasource:\n names: ds0,ds1\n ds0:\n driverClassName: com.mysql.cj.jdbc.Driver\n url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai\n type: com.alibaba.druid.pool.DruidDataSource\n username: root\n password: root\n ds1:\n driverClassName: com.mysql.cj.jdbc.Driver\n url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot2?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai\n type: com.alibaba.druid.pool.DruidDataSource\n username: root\n password: root\n props:\n sql-show: true\n rules:\n replica-query:\n load-balancers:\n round-robin:\n type: ROUND_ROBIN\n props:\n default: 0\n data-sources:\n prds:\n primary-data-source-name: ds0\n replica-data-source-names: ds1\n load-balancer-name: round_robin\n sharding:\n binding-tables:\n - sys_log\n key-generators:\n snowflake:\n type: SNOWFLAKE\n props:\n worker-id: 123\n sharding-algorithms:\n table-classbased:\n props:\n strategy: standard\n algorithmClassName: org.jeecg.modules.test.sharding.algorithm.StandardModTableShardAlgorithm\n type: CLASS_BASED\n database-inline:\n type: INLINE\n props:\n algorithm-expression: ds$->{operate_type % 2}\n tables:\n sys_log:\n actual-data-nodes: ds$->{0..1}.sys_log$->{0..1}\n database-strategy:\n standard:\n sharding-column: operate_type\n sharding-algorithm-name: database-inline\n table-strategy:\n standard:\n sharding-algorithm-name: table-classbased\n sharding-column: log_type', '0fc2b030ca8c0008f148c84ecbd2a8c7', '2010-05-05 00:00:00', '2025-10-14 06:15:54', NULL, '0:0:0:0:0:0:0:1', 'D', 'springboot3', '');
-INSERT INTO `his_config_info` VALUES (52, 50, 'sharding.yaml', 'DEFAULT_GROUP', '', '# !!!数据源名称要和动态数据源中配置的名称一致\ndatabaseName: sharding-db\n\n# 具体参看官网文档说明\ndataSources:\n db_0:\n dataSourceClassName: com.zaxxer.hikari.HikariDataSource\n driverClassName: com.mysql.cj.jdbc.Driver\n jdbcUrl: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai\n password: root\n username: root\n\nrules:\n - !SHARDING\n tables: # 数据分片规则配置\n sys_log: # 逻辑表名称\n actualDataNodes: db_0.sys_log$->{0..1} # 由数据源名 + 表名组成(参考 Inline 语法规则)\n databaseStrategy: # 分库策略,缺省表示使用默认分库策略,以下的分片策略只能选其一\n none:\n tableStrategy: # 分表策略\n standard: # 用于单分片键的标准分片场景\n shardingColumn: log_type # 分片列名称\n shardingAlgorithmName: user_inline\n keyGenerateStrategy:\n column: id\n keyGeneratorName: snowflake\n keyGenerators:\n snowflake:\n type: SNOWFLAKE\n props:\n worker-id: 123\n # 分片算法配置\n shardingAlgorithms:\n user_inline:\n type: INLINE\n props:\n algorithm-expression: sys_log$->{log_type % 2}\n\nprops:\n sql-show: true', '641b4fb3d23568319d543a974917a026', '2010-05-05 00:00:00', '2025-10-14 08:05:45', NULL, '0:0:0:0:0:0:0:1', 'U', 'springboot3', '');
-INSERT INTO `his_config_info` VALUES (43, 51, 'jeecg-dev.yaml', 'DEFAULT_GROUP', '', 'spring:\n datasource:\n druid:\n stat-view-servlet:\n enabled: true\n loginUsername: admin\n loginPassword: 123456\n allow:\n web-stat-filter:\n enabled: true\n dynamic:\n druid:\n initial-size: 5\n min-idle: 5\n maxActive: 20\n maxWait: 60000\n timeBetweenEvictionRunsMillis: 60000\n minEvictableIdleTimeMillis: 300000\n validationQuery: SELECT 1 FROM DUAL\n testWhileIdle: true\n testOnBorrow: false\n testOnReturn: false\n poolPreparedStatements: true\n maxPoolPreparedStatementPerConnectionSize: 20\n filters: stat,slf4j\n wall:\n selectWhereAlwayTrueCheck: false\n stat:\n merge-sql: true\n slow-sql-millis: 5000\n datasource:\n master:\n url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai\n username: root\n password: root\n driver-class-name: com.mysql.cj.jdbc.Driver\n sharding-db:\n driver-class-name: org.apache.shardingsphere.driver.ShardingSphereDriver\n url: jdbc:shardingsphere:nacos:sharding.yaml?serverAddr=${spring.cloud.nacos.config.server-addr}&namespace=${spring.cloud.nacos.config.namespace}&group=${spring.cloud.nacos.config.group}\n data:\n redis:\n database: 0\n host: jeecg-boot-redis\n password:\n port: 6379\n rabbitmq:\n host: jeecg-boot-rabbitmq\n username: guest\n password: guest\n port: 5672\n publisher-confirms: true\n publisher-returns: true\n virtual-host: /\n listener:\n simple:\n acknowledge-mode: manual\n concurrency: 1\n max-concurrency: 1\n retry:\n enabled: true\n flyway:\n enabled: false\n locations: classpath:flyway/sql/mysql\n clean-disabled: true\nminidao:\n base-package: org.jeecg.modules.jmreport.*,org.jeecg.modules.drag.*\njeecg:\n firewall:\n dataSourceSafe: false\n lowCodeMode: dev\n signatureSecret: dd05f1c54d63749eda95f9fa6d49v442a\n signUrls: /sys/dict/getDictItems/*,/sys/dict/loadDict/*,/sys/dict/loadDictOrderByValue/*,/sys/dict/loadDictItem/*,/sys/dict/loadTreeData,/sys/api/queryTableDictItemsByCode,/sys/api/queryFilterTableDictInfo,/sys/api/queryTableDictByKeys,/sys/api/translateDictFromTable,/sys/api/translateDictFromTableByKeys\n uploadType: local\n domainUrl:\n pc: http://localhost:3100\n app: http://localhost:8051\n path:\n upload: /opt/upFiles\n webapp: /opt/webapp\n shiro:\n excludeUrls: /test/jeecgDemo/demo3,/test/jeecgDemo/redisDemo/**,/category/**,/visual/**,/map/**,/jmreport/bigscreen2/**\n oss:\n endpoint: oss-cn-beijing.aliyuncs.com\n accessKey: ??\n secretKey: ??\n bucketName: jeecgdev\n staticDomain: ?? \n file-view-domain: 127.0.0.1:8012\n minio:\n minio_url: http://minio.jeecg.com\n minio_name: ??\n minio_pass: ??\n bucketName: otatest\n jmreport:\n saasMode:\n firewall:\n dataSourceSafe: false\n lowCodeMode: dev\n wps:\n domain: https://wwo.wps.cn/office/\n appid: ??\n appsecret: ??\n xxljob:\n enabled: false\n adminAddresses: http://jeecg-boot-xxljob:9080/xxl-job-admin\n appname: ${spring.application.name}\n accessToken: \'\'\n logPath: logs/jeecg/job/jobhandler/\n logRetentionDays: 30\n redisson:\n address: jeecg-boot-redis:6379\n password:\n type: STANDALONE\n enabled: true\n ai-chat:\n enabled: false\n apiKey: \"????\"\n apiHost: \"https://api.openai.com\"\n timeout: 60\n ai-rag:\n embed-store:\n host: 127.0.0.1\n port: 5432\n database: postgres\n user: postgres\n password: postgres\n table: embeddings\ncas:\n prefixUrl: http://localhost:8888/cas\nknife4j:\n production: false\n basic:\n enable: false\n username: jeecg\n password: jeecg1314\njustauth:\n enabled: true\n type:\n GITHUB:\n client-id: ??\n client-secret: ??\n redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/github/callback\n WECHAT_ENTERPRISE:\n client-id: ??\n client-secret: ??\n redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/wechat_enterprise/callback\n agent-id: ??\n DINGTALK:\n client-id: ??\n client-secret: ??\n redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/dingtalk/callback\n cache:\n type: default\n prefix: \'demo::\'\n timeout: 1h\nthird-app:\n enabled: false\n type:\n WECHAT_ENTERPRISE:\n enabled: false\n client-id: ??\n client-secret: ??\n agent-id: ??\n DINGTALK:\n enabled: false\n client-id: ??\n client-secret: ??\n agent-id: ??', '4c2bf17d3793f9b950cafd4063b306d3', '2010-05-05 00:00:00', '2025-10-14 08:06:16', NULL, '0:0:0:0:0:0:0:1', 'U', 'springboot3', '');
-INSERT INTO `his_config_info` VALUES (43, 52, 'jeecg-dev.yaml', 'DEFAULT_GROUP', '', 'spring:\n datasource:\n druid:\n stat-view-servlet:\n enabled: true\n loginUsername: admin\n loginPassword: 123456\n allow:\n web-stat-filter:\n enabled: true\n dynamic:\n druid:\n initial-size: 5\n min-idle: 5\n maxActive: 20\n maxWait: 60000\n timeBetweenEvictionRunsMillis: 60000\n minEvictableIdleTimeMillis: 300000\n validationQuery: SELECT 1 FROM DUAL\n testWhileIdle: true\n testOnBorrow: false\n testOnReturn: false\n poolPreparedStatements: true\n maxPoolPreparedStatementPerConnectionSize: 20\n filters: stat,slf4j\n wall:\n selectWhereAlwayTrueCheck: false\n stat:\n merge-sql: true\n slow-sql-millis: 5000\n datasource:\n master:\n url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai\n username: root\n password: root\n driver-class-name: com.mysql.cj.jdbc.Driver\n # sharding-db:\n # driver-class-name: org.apache.shardingsphere.driver.ShardingSphereDriver\n # url: jdbc:shardingsphere:nacos:sharding.yaml?serverAddr=${spring.cloud.nacos.config.server-addr}&namespace=${spring.cloud.nacos.config.namespace}&group=${spring.cloud.nacos.config.group}\n data:\n redis:\n database: 0\n host: jeecg-boot-redis\n password:\n port: 6379\n rabbitmq:\n host: jeecg-boot-rabbitmq\n username: guest\n password: guest\n port: 5672\n publisher-confirms: true\n publisher-returns: true\n virtual-host: /\n listener:\n simple:\n acknowledge-mode: manual\n concurrency: 1\n max-concurrency: 1\n retry:\n enabled: true\n flyway:\n enabled: false\n locations: classpath:flyway/sql/mysql\n clean-disabled: true\nminidao:\n base-package: org.jeecg.modules.jmreport.*,org.jeecg.modules.drag.*\njeecg:\n firewall:\n dataSourceSafe: false\n lowCodeMode: dev\n signatureSecret: dd05f1c54d63749eda95f9fa6d49v442a\n signUrls: /sys/dict/getDictItems/*,/sys/dict/loadDict/*,/sys/dict/loadDictOrderByValue/*,/sys/dict/loadDictItem/*,/sys/dict/loadTreeData,/sys/api/queryTableDictItemsByCode,/sys/api/queryFilterTableDictInfo,/sys/api/queryTableDictByKeys,/sys/api/translateDictFromTable,/sys/api/translateDictFromTableByKeys\n uploadType: local\n domainUrl:\n pc: http://localhost:3100\n app: http://localhost:8051\n path:\n upload: /opt/upFiles\n webapp: /opt/webapp\n shiro:\n excludeUrls: /test/jeecgDemo/demo3,/test/jeecgDemo/redisDemo/**,/category/**,/visual/**,/map/**,/jmreport/bigscreen2/**\n oss:\n endpoint: oss-cn-beijing.aliyuncs.com\n accessKey: ??\n secretKey: ??\n bucketName: jeecgdev\n staticDomain: ?? \n file-view-domain: 127.0.0.1:8012\n minio:\n minio_url: http://minio.jeecg.com\n minio_name: ??\n minio_pass: ??\n bucketName: otatest\n jmreport:\n saasMode:\n firewall:\n dataSourceSafe: false\n lowCodeMode: dev\n wps:\n domain: https://wwo.wps.cn/office/\n appid: ??\n appsecret: ??\n xxljob:\n enabled: false\n adminAddresses: http://jeecg-boot-xxljob:9080/xxl-job-admin\n appname: ${spring.application.name}\n accessToken: \'\'\n logPath: logs/jeecg/job/jobhandler/\n logRetentionDays: 30\n redisson:\n address: jeecg-boot-redis:6379\n password:\n type: STANDALONE\n enabled: true\n ai-chat:\n enabled: false\n apiKey: \"????\"\n apiHost: \"https://api.openai.com\"\n timeout: 60\n ai-rag:\n embed-store:\n host: 127.0.0.1\n port: 5432\n database: postgres\n user: postgres\n password: postgres\n table: embeddings\ncas:\n prefixUrl: http://localhost:8888/cas\nknife4j:\n production: false\n basic:\n enable: false\n username: jeecg\n password: jeecg1314\njustauth:\n enabled: true\n type:\n GITHUB:\n client-id: ??\n client-secret: ??\n redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/github/callback\n WECHAT_ENTERPRISE:\n client-id: ??\n client-secret: ??\n redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/wechat_enterprise/callback\n agent-id: ??\n DINGTALK:\n client-id: ??\n client-secret: ??\n redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/dingtalk/callback\n cache:\n type: default\n prefix: \'demo::\'\n timeout: 1h\nthird-app:\n enabled: false\n type:\n WECHAT_ENTERPRISE:\n enabled: false\n client-id: ??\n client-secret: ??\n agent-id: ??\n DINGTALK:\n enabled: false\n client-id: ??\n client-secret: ??\n agent-id: ??', '6759f0f45d7d36981fe677e1d53f3a75', '2010-05-05 00:00:00', '2025-10-14 08:10:30', NULL, '0:0:0:0:0:0:0:1', 'U', 'springboot3', '');
-INSERT INTO `his_config_info` VALUES (43, 53, 'jeecg-dev.yaml', 'DEFAULT_GROUP', '', 'spring:\n datasource:\n druid:\n stat-view-servlet:\n enabled: true\n loginUsername: admin\n loginPassword: 123456\n allow:\n web-stat-filter:\n enabled: true\n dynamic:\n druid:\n initial-size: 5\n min-idle: 5\n maxActive: 20\n maxWait: 60000\n timeBetweenEvictionRunsMillis: 60000\n minEvictableIdleTimeMillis: 300000\n validationQuery: SELECT 1 FROM DUAL\n testWhileIdle: true\n testOnBorrow: false\n testOnReturn: false\n poolPreparedStatements: true\n maxPoolPreparedStatementPerConnectionSize: 20\n filters: stat,slf4j\n wall:\n selectWhereAlwayTrueCheck: false\n stat:\n merge-sql: true\n slow-sql-millis: 5000\n datasource:\n master:\n url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai\n username: root\n password: root\n driver-class-name: com.mysql.cj.jdbc.Driver\n sharding-db:\n driver-class-name: org.apache.shardingsphere.driver.ShardingSphereDriver\n url: jdbc:shardingsphere:nacos:sharding.yaml?serverAddr=${spring.cloud.nacos.config.server-addr}&namespace=${spring.cloud.nacos.config.namespace}&group=${spring.cloud.nacos.config.group}\n data:\n redis:\n database: 0\n host: jeecg-boot-redis\n password:\n port: 6379\n rabbitmq:\n host: jeecg-boot-rabbitmq\n username: guest\n password: guest\n port: 5672\n publisher-confirms: true\n publisher-returns: true\n virtual-host: /\n listener:\n simple:\n acknowledge-mode: manual\n concurrency: 1\n max-concurrency: 1\n retry:\n enabled: true\n flyway:\n enabled: false\n locations: classpath:flyway/sql/mysql\n clean-disabled: true\nminidao:\n base-package: org.jeecg.modules.jmreport.*,org.jeecg.modules.drag.*\njeecg:\n firewall:\n dataSourceSafe: false\n lowCodeMode: dev\n signatureSecret: dd05f1c54d63749eda95f9fa6d49v442a\n signUrls: /sys/dict/getDictItems/*,/sys/dict/loadDict/*,/sys/dict/loadDictOrderByValue/*,/sys/dict/loadDictItem/*,/sys/dict/loadTreeData,/sys/api/queryTableDictItemsByCode,/sys/api/queryFilterTableDictInfo,/sys/api/queryTableDictByKeys,/sys/api/translateDictFromTable,/sys/api/translateDictFromTableByKeys\n uploadType: local\n domainUrl:\n pc: http://localhost:3100\n app: http://localhost:8051\n path:\n upload: /opt/upFiles\n webapp: /opt/webapp\n shiro:\n excludeUrls: /test/jeecgDemo/demo3,/test/jeecgDemo/redisDemo/**,/category/**,/visual/**,/map/**,/jmreport/bigscreen2/**\n oss:\n endpoint: oss-cn-beijing.aliyuncs.com\n accessKey: ??\n secretKey: ??\n bucketName: jeecgdev\n staticDomain: ?? \n file-view-domain: 127.0.0.1:8012\n minio:\n minio_url: http://minio.jeecg.com\n minio_name: ??\n minio_pass: ??\n bucketName: otatest\n jmreport:\n saasMode:\n firewall:\n dataSourceSafe: false\n lowCodeMode: dev\n wps:\n domain: https://wwo.wps.cn/office/\n appid: ??\n appsecret: ??\n xxljob:\n enabled: false\n adminAddresses: http://jeecg-boot-xxljob:9080/xxl-job-admin\n appname: ${spring.application.name}\n accessToken: \'\'\n logPath: logs/jeecg/job/jobhandler/\n logRetentionDays: 30\n redisson:\n address: jeecg-boot-redis:6379\n password:\n type: STANDALONE\n enabled: true\n ai-chat:\n enabled: false\n apiKey: \"????\"\n apiHost: \"https://api.openai.com\"\n timeout: 60\n ai-rag:\n embed-store:\n host: 127.0.0.1\n port: 5432\n database: postgres\n user: postgres\n password: postgres\n table: embeddings\ncas:\n prefixUrl: http://localhost:8888/cas\nknife4j:\n production: false\n basic:\n enable: false\n username: jeecg\n password: jeecg1314\njustauth:\n enabled: true\n type:\n GITHUB:\n client-id: ??\n client-secret: ??\n redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/github/callback\n WECHAT_ENTERPRISE:\n client-id: ??\n client-secret: ??\n redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/wechat_enterprise/callback\n agent-id: ??\n DINGTALK:\n client-id: ??\n client-secret: ??\n redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/dingtalk/callback\n cache:\n type: default\n prefix: \'demo::\'\n timeout: 1h\nthird-app:\n enabled: false\n type:\n WECHAT_ENTERPRISE:\n enabled: false\n client-id: ??\n client-secret: ??\n agent-id: ??\n DINGTALK:\n enabled: false\n client-id: ??\n client-secret: ??\n agent-id: ??', '4c2bf17d3793f9b950cafd4063b306d3', '2010-05-05 00:00:00', '2025-10-14 08:13:43', NULL, '0:0:0:0:0:0:0:1', 'U', 'springboot3', '');
-
--- ----------------------------
--- Table structure for permissions
--- ----------------------------
-DROP TABLE IF EXISTS `permissions`;
-CREATE TABLE `permissions` (
- `role` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `resource` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `action` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- UNIQUE INDEX `uk_role_permission`(`role`, `resource`, `action`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Records of permissions
--- ----------------------------
-
--- ----------------------------
--- Table structure for roles
--- ----------------------------
-DROP TABLE IF EXISTS `roles`;
-CREATE TABLE `roles` (
- `username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `role` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- UNIQUE INDEX `uk_username_role`(`username`, `role`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Records of roles
--- ----------------------------
-INSERT INTO `roles` VALUES ('nacos', 'ROLE_ADMIN');
-
--- ----------------------------
--- Table structure for tenant_capacity
--- ----------------------------
-DROP TABLE IF EXISTS `tenant_capacity`;
-CREATE TABLE `tenant_capacity` (
- `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键ID',
- `tenant_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT 'Tenant ID',
- `quota` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '配额,0表示使用默认值',
- `usage` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '使用量',
- `max_size` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '单个配置大小上限,单位为字节,0表示使用默认值',
- `max_aggr_count` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '聚合子配置最大个数',
- `max_aggr_size` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值',
- `max_history_count` int(10) UNSIGNED NOT NULL DEFAULT 0 COMMENT '最大变更历史数量',
- `gmt_create` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '创建时间',
- `gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '修改时间',
- PRIMARY KEY (`id`) USING BTREE,
- UNIQUE INDEX `uk_tenant_id`(`tenant_id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_bin COMMENT = '租户容量信息表' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Records of tenant_capacity
--- ----------------------------
-
--- ----------------------------
--- Table structure for tenant_info
--- ----------------------------
-DROP TABLE IF EXISTS `tenant_info`;
-CREATE TABLE `tenant_info` (
- `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
- `kp` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL COMMENT 'kp',
- `tenant_id` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT '' COMMENT 'tenant_id',
- `tenant_name` varchar(128) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT '' COMMENT 'tenant_name',
- `tenant_desc` varchar(256) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'tenant_desc',
- `create_source` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT 'create_source',
- `gmt_create` bigint(20) NOT NULL COMMENT '创建时间',
- `gmt_modified` bigint(20) NOT NULL COMMENT '修改时间',
- PRIMARY KEY (`id`) USING BTREE,
- UNIQUE INDEX `uk_tenant_info_kptenantid`(`kp`, `tenant_id`) USING BTREE,
- INDEX `idx_tenant_id`(`tenant_id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8 COLLATE = utf8_bin COMMENT = 'tenant_info' ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Records of tenant_info
--- ----------------------------
-INSERT INTO `tenant_info` VALUES (3, '1', 'springboot3', 'springboot3', 'springboot3版本配置文件,与springboot2有很大区别', 'nacos', 1719069088146, 1719069195885);
-
--- ----------------------------
--- Table structure for users
--- ----------------------------
-DROP TABLE IF EXISTS `users`;
-CREATE TABLE `users` (
- `username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `password` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `enabled` tinyint(1) NOT NULL,
- PRIMARY KEY (`username`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC;
-
--- ----------------------------
--- Records of users
--- ----------------------------
-INSERT INTO `users` VALUES ('nacos', '$2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu', 1);
-
-SET FOREIGN_KEY_CHECKS = 1;
\ No newline at end of file
diff --git a/jeecg-boot/db/tables_xxl_job.sql b/jeecg-boot/db/tables_xxl_job.sql
deleted file mode 100644
index dee8c7dae..000000000
--- a/jeecg-boot/db/tables_xxl_job.sql
+++ /dev/null
@@ -1,360 +0,0 @@
-#
-# XXL-JOB v2.4.0
-# Copyright (c) 2015-present, xuxueli.
-
-CREATE database if NOT EXISTS `xxl_job` default character set utf8mb4 collate utf8mb4_general_ci;
-use `xxl_job`;
-
-/*
- Navicat Premium Data Transfer
-
- Source Server : mysql5.7
- Source Server Type : MySQL
- Source Server Version : 50738 (5.7.38)
- Source Host : 127.0.0.1:3306
- Source Schema : xxl_job
-
- Target Server Type : MySQL
- Target Server Version : 50738 (5.7.38)
- File Encoding : 65001
-
- Date: 10/02/2025 13:49:31
-*/
-
-SET NAMES utf8mb4;
-SET FOREIGN_KEY_CHECKS = 0;
-
--- ----------------------------
--- Table structure for xxl_job_group
--- ----------------------------
-DROP TABLE IF EXISTS `xxl_job_group`;
-CREATE TABLE `xxl_job_group` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
- `app_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '执行器AppName',
- `title` varchar(12) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '执行器名称',
- `address_type` tinyint(4) NOT NULL DEFAULT 0 COMMENT '执行器地址类型:0=自动注册、1=手动录入',
- `address_list` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '执行器地址列表,多地址逗号分隔',
- `update_time` datetime NULL DEFAULT NULL,
- PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
-
--- ----------------------------
--- Records of xxl_job_group
--- ----------------------------
-INSERT INTO `xxl_job_group` VALUES (1, 'xxl-job-executor-sample', '示例执行器', 0, NULL, '2025-02-10 13:49:04');
-INSERT INTO `xxl_job_group` VALUES (2, 'jeecg-demo', '测试Demo模块', 0, NULL, '2025-02-10 13:49:04');
-INSERT INTO `xxl_job_group` VALUES (3, 'jeecg-system', '系统System模块', 0, NULL, '2025-02-10 13:49:04');
-
--- ----------------------------
--- Table structure for xxl_job_info
--- ----------------------------
-DROP TABLE IF EXISTS `xxl_job_info`;
-CREATE TABLE `xxl_job_info` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
- `job_group` int(11) NOT NULL COMMENT '执行器主键ID',
- `job_desc` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `add_time` datetime NULL DEFAULT NULL,
- `update_time` datetime NULL DEFAULT NULL,
- `author` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '作者',
- `alarm_email` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '报警邮件',
- `schedule_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT 'NONE' COMMENT '调度类型',
- `schedule_conf` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '调度配置,值含义取决于调度类型',
- `misfire_strategy` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT 'DO_NOTHING' COMMENT '调度过期策略',
- `executor_route_strategy` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '执行器路由策略',
- `executor_handler` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '执行器任务handler',
- `executor_param` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '执行器任务参数',
- `executor_block_strategy` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '阻塞处理策略',
- `executor_timeout` int(11) NOT NULL DEFAULT 0 COMMENT '任务执行超时时间,单位秒',
- `executor_fail_retry_count` int(11) NOT NULL DEFAULT 0 COMMENT '失败重试次数',
- `glue_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'GLUE类型',
- `glue_source` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT 'GLUE源代码',
- `glue_remark` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'GLUE备注',
- `glue_updatetime` datetime NULL DEFAULT NULL COMMENT 'GLUE更新时间',
- `child_jobid` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '子任务ID,多个逗号分隔',
- `trigger_status` tinyint(4) NOT NULL DEFAULT 0 COMMENT '调度状态:0-停止,1-运行',
- `trigger_last_time` bigint(13) NOT NULL DEFAULT 0 COMMENT '上次调度时间',
- `trigger_next_time` bigint(13) NOT NULL DEFAULT 0 COMMENT '下次调度时间',
- PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
-
--- ----------------------------
--- Records of xxl_job_info
--- ----------------------------
-INSERT INTO `xxl_job_info` VALUES (1, 1, '测试任务1', '2018-11-03 22:21:31', '2024-08-21 22:30:30', 'XXL', '', 'CRON', '0 0 0 * * ? *', 'DO_NOTHING', 'FIRST', 'demoJob', '', 'SERIAL_EXECUTION', 0, 0, 'BEAN', '', 'GLUE代码初始化', '2018-11-03 22:21:31', '', 1, 1729353600000, 1739203200000);
-INSERT INTO `xxl_job_info` VALUES (2, 3, '测试jeecg xxljob', '2024-08-21 22:41:10', '2024-08-21 22:41:30', 'JEECG', '', 'CRON', '* * * * * ?', 'DO_NOTHING', 'FIRST', 'demoJob', '', 'SERIAL_EXECUTION', 0, 0, 'BEAN', '', 'GLUE代码初始化', '2024-08-21 22:41:10', '', 1, 1739166572000, 1739166573000);
-
--- ----------------------------
--- Table structure for xxl_job_lock
--- ----------------------------
-DROP TABLE IF EXISTS `xxl_job_lock`;
-CREATE TABLE `xxl_job_lock` (
- `lock_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '锁名称',
- PRIMARY KEY (`lock_name`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
-
--- ----------------------------
--- Records of xxl_job_lock
--- ----------------------------
-INSERT INTO `xxl_job_lock` VALUES ('schedule_lock');
-
--- ----------------------------
--- Table structure for xxl_job_log
--- ----------------------------
-DROP TABLE IF EXISTS `xxl_job_log`;
-CREATE TABLE `xxl_job_log` (
- `id` bigint(20) NOT NULL AUTO_INCREMENT,
- `job_group` int(11) NOT NULL COMMENT '执行器主键ID',
- `job_id` int(11) NOT NULL COMMENT '任务,主键ID',
- `executor_address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '执行器地址,本次执行的地址',
- `executor_handler` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '执行器任务handler',
- `executor_param` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '执行器任务参数',
- `executor_sharding_param` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '执行器任务分片参数,格式如 1/2',
- `executor_fail_retry_count` int(11) NOT NULL DEFAULT 0 COMMENT '失败重试次数',
- `trigger_time` datetime NULL DEFAULT NULL COMMENT '调度-时间',
- `trigger_code` int(11) NOT NULL COMMENT '调度-结果',
- `trigger_msg` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '调度-日志',
- `handle_time` datetime NULL DEFAULT NULL COMMENT '执行-时间',
- `handle_code` int(11) NOT NULL COMMENT '执行-状态',
- `handle_msg` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '执行-日志',
- `alarm_status` tinyint(4) NOT NULL DEFAULT 0 COMMENT '告警状态:0-默认、1-无需告警、2-告警成功、3-告警失败',
- PRIMARY KEY (`id`) USING BTREE,
- INDEX `I_trigger_time`(`trigger_time`) USING BTREE,
- INDEX `I_handle_code`(`handle_code`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 6761 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
-
--- ----------------------------
--- Records of xxl_job_log
--- ----------------------------
-INSERT INTO `xxl_job_log` VALUES (6618, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:09', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6619, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:10', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6620, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:11', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6621, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:12', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6622, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:13', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6623, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:14', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6624, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:15', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6625, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:16', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6626, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:17', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6627, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:18', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6628, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:19', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6629, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:20', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6630, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:21', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6631, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:22', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6632, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:23', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6633, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:24', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6634, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:25', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6635, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:26', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6636, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:27', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6637, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:28', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6638, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:29', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6639, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:30', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6640, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:31', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6641, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:32', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6642, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:33', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6643, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:34', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6644, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:35', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6645, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:36', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6646, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:37', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6647, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:38', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6648, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:39', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6649, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:40', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6650, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:41', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6651, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:42', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6652, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:43', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6653, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:44', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6654, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:45', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6655, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:46', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6656, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:47', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6657, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:48', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6658, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:49', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6659, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:50', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6660, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:51', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6661, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:52', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6662, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:53', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6663, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:54', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6664, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:55', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6665, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:56', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6666, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:57', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6667, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:58', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6668, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:59', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6669, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:00', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6670, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:01', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6671, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:02', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6672, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:03', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6673, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:04', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6674, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:05', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6675, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:06', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6676, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:07', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6677, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:08', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6678, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:09', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6679, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:10', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6680, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:11', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6681, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:12', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6682, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:13', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6683, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:14', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6684, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:15', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6685, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:16', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6686, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:17', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6687, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:18', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6688, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:19', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6689, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:20', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6690, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:21', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6691, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:22', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6692, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:23', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6693, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:24', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6694, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:25', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6695, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:26', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6696, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:27', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6697, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:28', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6698, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:29', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6699, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:30', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6700, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:31', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6701, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:32', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6702, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:33', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6703, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:34', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6704, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:35', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6705, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:36', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6706, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:37', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6707, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:38', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6708, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:39', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6709, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:40', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6710, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:41', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6711, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:42', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6712, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:43', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6713, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:44', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6714, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:45', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6715, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:46', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6716, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:47', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6717, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:48', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6718, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:49', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6719, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:50', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6720, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:51', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6721, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:52', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6722, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:53', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6723, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:54', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6724, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:55', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6725, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:56', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6726, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:57', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6727, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:58', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6728, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:59', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6729, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:49:00', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6730, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:49:01', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6731, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:49:02', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6732, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:49:03', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6733, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:49:04', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6734, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:49:05', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6735, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:49:06', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6736, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:49:07', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6737, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:49:08', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6738, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:49:09', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6739, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:49:10', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6740, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:49:11', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6741, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:49:12', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6742, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:49:13', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6743, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:49:14', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6744, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:49:15', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6745, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:49:16', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6746, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:49:17', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6747, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:49:18', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6748, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:49:19', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6749, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:49:20', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6750, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:49:21', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6751, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:49:22', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6752, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:49:23', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6753, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:49:24', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6754, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:49:25', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 0);
-INSERT INTO `xxl_job_log` VALUES (6755, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:49:26', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 0);
-INSERT INTO `xxl_job_log` VALUES (6756, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:49:27', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 0);
-INSERT INTO `xxl_job_log` VALUES (6757, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:49:28', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 0);
-INSERT INTO `xxl_job_log` VALUES (6758, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:49:29', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 0);
-INSERT INTO `xxl_job_log` VALUES (6759, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:49:30', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 0);
-INSERT INTO `xxl_job_log` VALUES (6760, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:49:31', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 0);
-
--- ----------------------------
--- Table structure for xxl_job_log_report
--- ----------------------------
-DROP TABLE IF EXISTS `xxl_job_log_report`;
-CREATE TABLE `xxl_job_log_report` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
- `trigger_day` datetime NULL DEFAULT NULL COMMENT '调度-时间',
- `running_count` int(11) NOT NULL DEFAULT 0 COMMENT '运行中-日志数量',
- `suc_count` int(11) NOT NULL DEFAULT 0 COMMENT '执行成功-日志数量',
- `fail_count` int(11) NOT NULL DEFAULT 0 COMMENT '执行失败-日志数量',
- `update_time` datetime NULL DEFAULT NULL,
- PRIMARY KEY (`id`) USING BTREE,
- UNIQUE INDEX `i_trigger_day`(`trigger_day`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 13 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
-
--- ----------------------------
--- Records of xxl_job_log_report
--- ----------------------------
-INSERT INTO `xxl_job_log_report` VALUES (1, '2024-08-21 00:00:00', 70, 0, 5, NULL);
-INSERT INTO `xxl_job_log_report` VALUES (2, '2024-08-20 00:00:00', 0, 0, 0, NULL);
-INSERT INTO `xxl_job_log_report` VALUES (3, '2024-08-19 00:00:00', 0, 0, 0, NULL);
-INSERT INTO `xxl_job_log_report` VALUES (4, '2024-09-10 00:00:00', 0, 0, 56, NULL);
-INSERT INTO `xxl_job_log_report` VALUES (5, '2024-09-09 00:00:00', 0, 0, 0, NULL);
-INSERT INTO `xxl_job_log_report` VALUES (6, '2024-09-08 00:00:00', 0, 0, 0, NULL);
-INSERT INTO `xxl_job_log_report` VALUES (7, '2024-10-19 00:00:00', 0, 0, 6391, NULL);
-INSERT INTO `xxl_job_log_report` VALUES (8, '2024-10-18 00:00:00', 0, 0, 0, NULL);
-INSERT INTO `xxl_job_log_report` VALUES (9, '2024-10-17 00:00:00', 0, 0, 0, NULL);
-INSERT INTO `xxl_job_log_report` VALUES (10, '2025-02-10 00:00:00', 0, 0, 116, NULL);
-INSERT INTO `xxl_job_log_report` VALUES (11, '2025-02-09 00:00:00', 0, 0, 0, NULL);
-INSERT INTO `xxl_job_log_report` VALUES (12, '2025-02-08 00:00:00', 0, 0, 0, NULL);
-
--- ----------------------------
--- Table structure for xxl_job_logglue
--- ----------------------------
-DROP TABLE IF EXISTS `xxl_job_logglue`;
-CREATE TABLE `xxl_job_logglue` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
- `job_id` int(11) NOT NULL COMMENT '任务,主键ID',
- `glue_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'GLUE类型',
- `glue_source` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT 'GLUE源代码',
- `glue_remark` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'GLUE备注',
- `add_time` datetime NULL DEFAULT NULL,
- `update_time` datetime NULL DEFAULT NULL,
- PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
-
--- ----------------------------
--- Records of xxl_job_logglue
--- ----------------------------
-
--- ----------------------------
--- Table structure for xxl_job_registry
--- ----------------------------
-DROP TABLE IF EXISTS `xxl_job_registry`;
-CREATE TABLE `xxl_job_registry` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
- `registry_group` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `registry_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `registry_value` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `update_time` datetime NULL DEFAULT NULL,
- PRIMARY KEY (`id`) USING BTREE,
- INDEX `i_g_k_v`(`registry_group`, `registry_key`, `registry_value`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
-
--- ----------------------------
--- Records of xxl_job_registry
--- ----------------------------
-
--- ----------------------------
--- Table structure for xxl_job_user
--- ----------------------------
-DROP TABLE IF EXISTS `xxl_job_user`;
-CREATE TABLE `xxl_job_user` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
- `username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '账号',
- `password` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '密码',
- `role` tinyint(4) NOT NULL COMMENT '角色:0-普通用户、1-管理员',
- `permission` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '权限:执行器ID列表,多个逗号分割',
- PRIMARY KEY (`id`) USING BTREE,
- UNIQUE INDEX `i_username`(`username`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
-
--- ----------------------------
--- Records of xxl_job_user
--- ----------------------------
-INSERT INTO `xxl_job_user` VALUES (1, 'admin', 'e10adc3949ba59abbe56e057f20f883e', 1, NULL);
-
-SET FOREIGN_KEY_CHECKS = 1;
-
diff --git a/jeecg-boot/db/版本升级说明.md b/jeecg-boot/db/版本升级说明.md
deleted file mode 100644
index 20ae0be81..000000000
--- a/jeecg-boot/db/版本升级说明.md
+++ /dev/null
@@ -1,23 +0,0 @@
-# 版本升级方法
-
-> JeecgBoot属于平台级产品,每次升级改动较大,目前做不到平滑升级。
-
-### 增量升级方案
-
-#### 1.代码合并
- 本地通过svn或git做好主干,在分支上做业务开发,jeecg每次版本发布,可以手工覆盖主干的代码,对比合并代码;
-
-#### 2.数据库升级
-- 从3.6.2+版本增加flyway自动升级数据库机制,支持 mysql5.7、mysql8;
-- 其他库请手工执行SQL, 目录: `jeecg-module-system\jeecg-system-start\src\main\resources\flyway\sql\mysql`
-> 注意: 升级sql只提供mysql版本;如果有权限升级, 还需要手工角色授权,退出重新登录才好使。
-
-#### 3.其他数据库脚本说明
- 原先官方默认提供oracle和SqlServer的脚本,但是维护成本太高,未提供脚本的数据库,可以参考下面的文档自己转
- https://my.oschina.net/jeecg/blog/4905722
- (注意:定时任务的表qrtz_*,需要删掉用原始的脚本重新执行一下)
- quartz-2.2.3-distribution.tar.gz放到百度网盘中,大家自己下载,执行所需数据库脚本
- https://pan.baidu.com/s/1WrmZdUuAPg3iBwJ-LoHWyg?pwd=8mdz
-
-#### 4.兼容问题
- 每次发版,会针对不兼容地方重点说明。
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/docker-compose.yml b/jeecg-boot/jeecg-server-cloud/docker-compose.yml
deleted file mode 100644
index ba5d7e5a6..000000000
--- a/jeecg-boot/jeecg-server-cloud/docker-compose.yml
+++ /dev/null
@@ -1,122 +0,0 @@
-version: '2'
-services:
- jeecg-boot-mysql:
- build:
- context: ../db
- environment:
- MYSQL_ROOT_PASSWORD: root
- MYSQL_ROOT_HOST: '%'
- TZ: Asia/Shanghai
- restart: always
- container_name: jeecg-boot-mysql
- command:
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_general_ci
- --explicit_defaults_for_timestamp=true
- --lower_case_table_names=1
- --max_allowed_packet=128M
- --default-authentication-plugin=caching_sha2_password
- ports:
- - 3306:3306
- networks:
- - jeecg-boot
-
- jeecg-boot-redis:
- image: registry.cn-hangzhou.aliyuncs.com/jeecgdocker/redis:5.0
- ports:
- - 6379:6379
- restart: always
- container_name: jeecg-boot-redis
- hostname: jeecg-boot-redis
- networks:
- - jeecg-boot
-
-# jeecg-boot-rabbitmq:
-# image: rabbitmq:3.7.7-management
-# ports:
-# - 5672:5672
-# - 15672:15672
-# restart: always
-# container_name: jeecg-boot-rabbitmq
-# hostname: jeecg-boot-rabbitmq
-# environment:
-# RABBITMQ_DEFAULT_USER: guest
-# RABBITMQ_DEFAULT_PASS: guest
-
-
- jeecg-boot-nacos:
- restart: always
- build:
- context: ./jeecg-cloud-nacos
- ports:
- - 8848:8848
- container_name: jeecg-boot-nacos
- hostname: jeecg-boot-nacos
- networks:
- - jeecg-boot
-
- jeecg-boot-system:
- depends_on:
- - jeecg-boot-nacos
- build:
- context: ./jeecg-system-cloud-start
- container_name: jeecg-system-start
- hostname: jeecg-boot-system
- restart: on-failure
- environment:
- - TZ=Asia/Shanghai
- networks:
- - jeecg-boot
-
- jeecg-boot-demo:
- depends_on:
- - jeecg-boot-nacos
- build:
- context: ./jeecg-demo-cloud-start
- container_name: jeecg-demo-start
- hostname: jeecg-boot-demo
- restart: on-failure
- environment:
- - TZ=Asia/Shanghai
- networks:
- - jeecg-boot
-
- jeecg-boot-gateway:
- restart: on-failure
- build:
- context: ./jeecg-cloud-gateway
- ports:
- - 9999:9999
- depends_on:
- - jeecg-boot-nacos
- - jeecg-boot-system
- container_name: jeecg-boot-gateway
- hostname: jeecg-boot-gateway
- networks:
- - jeecg-boot
-
-networks:
- jeecg-boot:
- name: jeecg_boot
-
-# jeecg-boot-sentinel:
-# restart: on-failure
-# build:
-# context: ./jeecg-visual/jeecg-cloud-sentinel
-# ports:
-# - 9000:9000
-# depends_on:
-# - jeecg-boot-nacos
-# - jeecg-boot-demo
-# - jeecg-boot-system
-# - jeecg-boot-gateway
-# container_name: jeecg-boot-sentinel
-# hostname: jeecg-boot-sentinel
-#
-# jeecg-boot-xxljob:
-# build:
-# context: ./jeecg-visual/jeecg-cloud-xxljob
-# ports:
-# - 9080:9080
-# container_name: jeecg-boot-xxljob
-# hostname: jeecg-boot-xxljob
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/Dockerfile b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/Dockerfile
deleted file mode 100644
index 92d7fcffc..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/Dockerfile
+++ /dev/null
@@ -1,15 +0,0 @@
-FROM registry.cn-hangzhou.aliyuncs.com/dockerhub_mirror/java:17-anolis
-
-MAINTAINER jeecgos@163.com
-
-RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
-
-RUN mkdir -p /jeecg-cloud-gateway
-
-WORKDIR /jeecg-cloud-gateway
-
-EXPOSE 9999
-
-ADD ./target/jeecg-cloud-gateway-3.9.0.jar ./
-
-CMD sleep 100;java -Dfile.encoding=utf-8 -Djava.security.egd=file:/dev/./urandom -jar jeecg-cloud-gateway-3.9.0.jar
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/README.md b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/README.md
deleted file mode 100644
index 78813e6ef..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/README.md
+++ /dev/null
@@ -1,3 +0,0 @@
-http://localhost:9999
-
-提示:在未启动服务实例情况下,看的接口文档为空
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/pom.xml b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/pom.xml
deleted file mode 100644
index 089fe7891..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/pom.xml
+++ /dev/null
@@ -1,95 +0,0 @@
-
-
-
- jeecg-server-cloud
- org.jeecgframework.boot3
- 3.9.0
-
- 4.0.0
- jeecg-cloud-gateway
-
-
-
-
- org.jeecgframework.boot3
- jeecg-boot-starter-cloud
-
-
- org.jeecgframework.boot3
- jeecg-system-cloud-api
-
-
-
-
-
- org.springframework.cloud
- spring-cloud-starter-gateway-server-webflux
-
-
-
- org.springframework.boot
- spring-boot-starter-data-redis-reactive
-
-
-
-
- com.alibaba.cloud
- spring-cloud-alibaba-sentinel-gateway
-
-
- com.alibaba.cloud
- spring-cloud-starter-alibaba-sentinel
-
-
- fastjson
- com.alibaba
-
-
-
-
-
- com.alibaba.csp
- sentinel-datasource-nacos
-
-
-
-
-
-
-
- org.springframework.boot
- spring-boot-starter-actuator
-
-
-
-
- com.github.xiaoymin
- knife4j-openapi2-spring-boot-starter
- ${knife4j-spring-boot-starter.version}
-
-
- org.apache.commons
- commons-lang3
- 3.18.0
-
-
-
-
-
- org.springframework.boot
- spring-boot-maven-plugin
-
-
-
-
- src/main/resources
- true
-
-
-
-
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/JeecgGatewayApplication.java b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/JeecgGatewayApplication.java
deleted file mode 100644
index 8d4c3f69c..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/JeecgGatewayApplication.java
+++ /dev/null
@@ -1,57 +0,0 @@
-package org.jeecg;
-
-import org.jeecg.loader.DynamicRouteLoader;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.boot.CommandLineRunner;
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
-import org.springframework.cloud.openfeign.EnableFeignClients;
-import org.springframework.context.ConfigurableApplicationContext;
-import org.springframework.context.annotation.Bean;
-import org.springframework.http.MediaType;
-import org.springframework.web.reactive.function.server.RouterFunction;
-import org.springframework.web.reactive.function.server.ServerResponse;
-
-import jakarta.annotation.Resource;
-
-import static org.springframework.web.reactive.function.server.RequestPredicates.GET;
-import static org.springframework.web.reactive.function.server.RouterFunctions.route;
-import static org.springframework.web.reactive.function.server.ServerResponse.ok;
-
-/**
- * @author jeecg
- */
-@EnableFeignClients
-@EnableDiscoveryClient
-@SpringBootApplication
-public class JeecgGatewayApplication implements CommandLineRunner {
- @Resource
- private DynamicRouteLoader dynamicRouteLoader;
-
- public static void main(String[] args) {
- ConfigurableApplicationContext applicationContext = SpringApplication.run(JeecgGatewayApplication.class, args);
- //String userName = applicationContext.getEnvironment().getProperty("jeecg.test");
- //System.err.println("user name :" +userName);
- }
-
- /**
- * 容器初始化后加载路由
- * @param strings
- */
- @Override
- public void run(String... strings) {
- dynamicRouteLoader.refresh(null);
- }
-
- /**
- * 接口地址(通过9999端口直接访问)
- * 已使用knife4j-gateway支持该功能
- * @param indexHtml
- * @return
- */
- @Bean
- public RouterFunction indexRouter(@Value("classpath:/META-INF/resources/doc.html") final org.springframework.core.io.Resource indexHtml) {
- return route(GET("/"), request -> ok().contentType(MediaType.TEXT_HTML).syncBody(indexHtml));
- }
-}
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/config/GatewayRoutersConfig.java b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/config/GatewayRoutersConfig.java
deleted file mode 100644
index d3cb1305c..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/config/GatewayRoutersConfig.java
+++ /dev/null
@@ -1,89 +0,0 @@
-package org.jeecg.config;
-
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.cloud.context.config.annotation.RefreshScope;
-import org.springframework.context.annotation.Configuration;
-
-/**
- * @author scott
- * @date 2020/05/26
- * 路由配置信息
- */
-@Configuration
-@RefreshScope
-public class GatewayRoutersConfig {
- /**
- * 路由配置方式:database,yml,nacos
- */
- public String dataType;
- public String serverAddr;
- public String namespace;
- public String dataId;
- public String routeGroup;
- public String username;
- public String password;
-
- @Value("${jeecg.route.config.data-type:#{null}}")
- public void setDataType(String dataType) {
- this.dataType = dataType;
- }
-
- @Value("${jeecg.route.config.data-id:#{null}}")
- public void setRouteDataId(String dataId) {
- this.dataId = dataId + ".json";
- }
-
- @Value("${spring.cloud.nacos.config.group:DEFAULT_GROUP:#{null}}")
- public void setRouteGroup(String routeGroup) {
- this.routeGroup = routeGroup;
- }
-
- @Value("${spring.cloud.nacos.discovery.server-addr}")
- public void setServerAddr(String serverAddr) {
- this.serverAddr = serverAddr;
- }
-
- @Value("${spring.cloud.nacos.config.namespace:#{null}}")
- public void setNamespace(String namespace) {
- this.namespace = namespace;
- }
-
- @Value("${spring.cloud.nacos.config.username:#{null}}")
- public void setUsername(String username) {
- this.username = username;
- }
-
- @Value("${spring.cloud.nacos.config.password:#{null}}")
- public void setPassword(String password) {
- this.password = password;
- }
-
- public String getDataType() {
- return dataType;
- }
-
- public String getServerAddr() {
- return serverAddr;
- }
-
- public String getNamespace() {
- return namespace;
- }
-
- public String getDataId() {
- return dataId;
- }
-
- public String getRouteGroup() {
- return routeGroup;
- }
-
- public String getUsername() {
- return username;
- }
-
- public String getPassword() {
- return password;
- }
-
-}
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/config/RateLimiterConfiguration.java b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/config/RateLimiterConfiguration.java
deleted file mode 100644
index bb763b8eb..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/config/RateLimiterConfiguration.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package org.jeecg.config;
-
-import org.jeecg.filter.GlobalAccessTokenFilter;
-import org.springframework.cloud.gateway.filter.ratelimit.KeyResolver;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Primary;
-import reactor.core.publisher.Mono;
-
-/**
- * @author scott
- * @date 2020/5/26
- * 路由限流配置
- */
-@Configuration
-public class RateLimiterConfiguration {
- /**
- * IP限流 (通过exchange对象可以获取到请求信息,这边用了HostName)
- */
- @Bean
- @Primary
- public KeyResolver ipKeyResolver() {
- return exchange -> Mono.just(exchange.getRequest().getRemoteAddress().getAddress().getHostAddress());
- }
-
- /**
- * 用户限流 (通过exchange对象可以获取到请求信息,获取当前请求的用户 TOKEN)
- */
- @Bean
- public KeyResolver userKeyResolver() {
- //使用这种方式限流,请求Header中必须携带X-Access-Token参数
- return exchange -> Mono.just(exchange.getRequest().getHeaders().getFirst(GlobalAccessTokenFilter.X_ACCESS_TOKEN));
- }
-
- /**
- * 接口限流 (获取请求地址的uri作为限流key)
- */
- @Bean
- public KeyResolver apiKeyResolver() {
- return exchange -> Mono.just(exchange.getRequest().getPath().value());
- }
-
-}
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/config/RouterDataType.java b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/config/RouterDataType.java
deleted file mode 100644
index 735a1e1b0..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/config/RouterDataType.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package org.jeecg.config;
-
-/**
- * nocos配置方式枚举
- * @author zyf
- * @date: 2022/4/21 10:55
- */
-public enum RouterDataType {
- /**
- * 数据库加载路由配置
- */
- database,
- /**
- * 本地yml加载路由配置
- */
- yml,
- /**
- * nacos加载路由配置
- */
- nacos
-}
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/fallback/FallbackController.java b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/fallback/FallbackController.java
deleted file mode 100644
index dbadb8e30..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/fallback/FallbackController.java
+++ /dev/null
@@ -1,32 +0,0 @@
-//package org.jeecg.fallback;
-//
-//import org.springframework.web.bind.annotation.RequestMapping;
-//import org.springframework.web.bind.annotation.RestController;
-//import reactor.core.publisher.Mono;
-//
-///**
-// * 响应超时熔断处理器【升级springboot2.6.6后,此类作废】
-// *
-// * @author zyf
-// */
-//@RestController
-//public class FallbackController {
-//
-// /**
-// * 全局熔断处理
-// * @return
-// */
-// @RequestMapping("/fallback")
-// public Mono fallback() {
-// return Mono.just("访问超时,请稍后再试!");
-// }
-//
-// /**
-// * demo熔断处理
-// * @return
-// */
-// @RequestMapping("/demo/fallback")
-// public Mono fallback2() {
-// return Mono.just("访问超时,请稍后再试!");
-// }
-//}
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/fallback/HystrixFallbackHandler.java b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/fallback/HystrixFallbackHandler.java
deleted file mode 100644
index c145c6d5c..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/fallback/HystrixFallbackHandler.java
+++ /dev/null
@@ -1,33 +0,0 @@
-//package org.jeecg.fallback;
-//
-//import lombok.extern.slf4j.Slf4j;
-//import org.springframework.http.HttpStatus;
-//import org.springframework.stereotype.Component;
-//import org.springframework.web.reactive.function.BodyInserters;
-//import org.springframework.web.reactive.function.server.HandlerFunction;
-//import org.springframework.web.reactive.function.server.ServerRequest;
-//import org.springframework.web.reactive.function.server.ServerResponse;
-//import reactor.core.publisher.Mono;
-//
-//import java.util.Optional;
-//
-//import static org.springframework.cloud.gateway.support.ServerWebExchangeUtils.GATEWAY_ORIGINAL_REQUEST_URL_ATTR;
-//
-///**
-// * @author scott
-// * @date 2020/05/26
-// * Hystrix 降级处理
-// */
-//@Slf4j
-//@Component
-//public class HystrixFallbackHandler implements HandlerFunction {
-// @Override
-// public Mono handle(ServerRequest serverRequest) {
-// Optional originalUris = serverRequest.attribute(GATEWAY_ORIGINAL_REQUEST_URL_ATTR);
-//
-// originalUris.ifPresent(originalUri -> log.error("网关执行请求:{}失败,hystrix服务降级处理", originalUri));
-//
-// return ServerResponse.status(HttpStatus.INTERNAL_SERVER_ERROR.value())
-// .header("Content-Type","text/plain; charset=utf-8").body(BodyInserters.fromObject("访问超时,请稍后再试"));
-// }
-//}
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/fallback/sentinel/GatewaySentinelExceptionConfig.java b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/fallback/sentinel/GatewaySentinelExceptionConfig.java
deleted file mode 100644
index 3e39582df..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/fallback/sentinel/GatewaySentinelExceptionConfig.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package org.jeecg.fallback.sentinel;
-
-import cn.hutool.core.util.ObjectUtil;
-import com.alibaba.csp.sentinel.adapter.gateway.sc.callback.BlockRequestHandler;
-import com.alibaba.csp.sentinel.adapter.gateway.sc.callback.GatewayCallbackManager;
-import org.jeecg.common.enums.SentinelErrorInfoEnum;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.MediaType;
-import org.springframework.web.reactive.function.BodyInserters;
-import org.springframework.web.reactive.function.server.ServerResponse;
-
-import jakarta.annotation.PostConstruct;
-import java.util.HashMap;
-
-/**
- * @Description: 自定义Sentinel全局异常(需要启动Sentinel客户端)
- * @author: zyf
- * @date: 2022/02/18
- * @version: V1.0
- */
-@Configuration
-public class GatewaySentinelExceptionConfig {
-
- @PostConstruct
- public void init() {
-
- BlockRequestHandler blockRequestHandler = (serverWebExchange, ex) -> {
- String msg;
- SentinelErrorInfoEnum errorInfoEnum = SentinelErrorInfoEnum.getErrorByException(ex);
- if (ObjectUtil.isNotEmpty(errorInfoEnum)) {
- msg = errorInfoEnum.getError();
- } else {
- msg = "未知限流降级";
- }
- HashMap map = new HashMap(5);
- map.put("code", HttpStatus.TOO_MANY_REQUESTS.toString());
- map.put("message", msg);
- //自定义异常处理
- return ServerResponse.status(HttpStatus.OK).contentType(MediaType.APPLICATION_JSON).body(BodyInserters.fromValue(map));
- };
-
- GatewayCallbackManager.setBlockHandler(blockRequestHandler);
- }
-}
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/fallback/sentinel/SentinelBlockRequestHandler.java b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/fallback/sentinel/SentinelBlockRequestHandler.java
deleted file mode 100644
index 93688a5ae..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/fallback/sentinel/SentinelBlockRequestHandler.java
+++ /dev/null
@@ -1,39 +0,0 @@
-//package org.jeecg.fallback.sentinel;
-//import com.alibaba.csp.sentinel.adapter.gateway.sc.callback.BlockRequestHandler;
-//import com.alibaba.csp.sentinel.transport.config.TransportConfig;
-//import lombok.extern.slf4j.Slf4j;
-//import org.springframework.beans.factory.annotation.Autowired;
-//import org.springframework.cloud.commons.util.InetUtils;
-//import org.springframework.http.HttpStatus;
-//import org.springframework.http.MediaType;
-//import org.springframework.stereotype.Component;
-//import org.springframework.web.reactive.function.BodyInserters;
-//import org.springframework.web.reactive.function.server.ServerResponse;
-//import org.springframework.web.server.ServerWebExchange;
-//import reactor.core.publisher.Mono;
-//
-//import javax.annotation.PostConstruct;
-//
-///**
-// * 自定义限流返回信息
-// * @author scott
-// */
-//@Slf4j
-//@Component
-//public class SentinelBlockRequestHandler implements BlockRequestHandler {
-// @Autowired
-// private InetUtils inetUtils;
-//
-// @PostConstruct
-// public void doInit() {
-// System.setProperty(TransportConfig.HEARTBEAT_CLIENT_IP, inetUtils.findFirstNonLoopbackAddress().getHostAddress());
-// }
-//
-// @Override
-// public Mono handleRequest(ServerWebExchange exchange, Throwable ex) {
-// String resultString = "{\"code\":403,\"message\":\"服务开启限流保护,请稍后再试!\"}";
-// return ServerResponse.status(HttpStatus.TOO_MANY_REQUESTS).contentType(MediaType.APPLICATION_JSON_UTF8).body(BodyInserters.fromObject(resultString));
-// }
-//
-//
-//}
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/filter/GlobalAccessTokenFilter.java b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/filter/GlobalAccessTokenFilter.java
deleted file mode 100644
index 9000563b3..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/filter/GlobalAccessTokenFilter.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package org.jeecg.filter;
-
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.cloud.gateway.filter.GatewayFilterChain;
-import org.springframework.cloud.gateway.filter.GlobalFilter;
-import org.springframework.core.Ordered;
-import org.springframework.http.server.reactive.ServerHttpRequest;
-import org.springframework.stereotype.Component;
-import org.springframework.util.StringUtils;
-import org.springframework.web.server.ServerWebExchange;
-import reactor.core.publisher.Mono;
-import java.util.Arrays;
-import java.util.stream.Collectors;
-import static org.springframework.cloud.gateway.support.ServerWebExchangeUtils.GATEWAY_REQUEST_URL_ATTR;
-import static org.springframework.cloud.gateway.support.ServerWebExchangeUtils.addOriginalRequestUrl;
-
-/**
-* 全局拦截器,作用所有的微服务
-*
-* 1.重写StripPrefix(获取真实的URL)
-* 2.将现在的request,添加当前身份
-* @author: scott
-* @date: 2022/4/8 10:55
-*/
-@Slf4j
-@Component
-public class GlobalAccessTokenFilter implements GlobalFilter, Ordered {
- public final static String X_ACCESS_TOKEN = "X-Access-Token";
- public final static String X_GATEWAY_BASE_PATH = "X_GATEWAY_BASE_PATH";
-
- @Override
- public Mono filter(ServerWebExchange exchange, GatewayFilterChain chain) {
-
- String scheme = exchange.getRequest().getURI().getScheme();
- String host = exchange.getRequest().getURI().getHost();
- int port = exchange.getRequest().getURI().getPort();
- // 代码逻辑说明: 地址中没有带端口(http/https默认)时port是-1------------
- String basePath = scheme + "://" + host;
- if (port != -1) {
- basePath += ":" + port;
- }
- // 1. 重写StripPrefix(获取真实的URL)
- addOriginalRequestUrl(exchange, exchange.getRequest().getURI());
- String rawPath = exchange.getRequest().getURI().getRawPath();
- String newPath = "/" + Arrays.stream(StringUtils.tokenizeToStringArray(rawPath, "/")).skip(1L).collect(Collectors.joining("/"));
- ServerHttpRequest newRequest = exchange.getRequest().mutate().path(newPath).build();
- exchange.getAttributes().put(GATEWAY_REQUEST_URL_ATTR, newRequest.getURI());
- //2.将现在的request,添加当前身份
- ServerHttpRequest mutableReq = exchange.getRequest().mutate().header("Authorization-UserName", "").header(X_GATEWAY_BASE_PATH,basePath).build();
- ServerWebExchange mutableExchange = exchange.mutate().request(mutableReq).build();
- return chain.filter(mutableExchange);
- }
-
- @Override
- public int getOrder() {
- return 0;
- }
-
-}
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/filter/SentinelFilterContextConfig.java b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/filter/SentinelFilterContextConfig.java
deleted file mode 100644
index f926efb99..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/filter/SentinelFilterContextConfig.java
+++ /dev/null
@@ -1,25 +0,0 @@
-//package org.jeecg.filter;
-//
-//import com.alibaba.csp.sentinel.adapter.servlet.CommonFilter;
-//import org.springframework.boot.web.servlet.FilterRegistrationBean;
-//import org.springframework.context.annotation.Bean;
-//import org.springframework.context.annotation.Configuration;
-//
-///** 升级spring boot 3后,无法找到平替
-// * @author: zyf
-// * @date: 20210715
-// */
-//@Configuration
-//public class SentinelFilterContextConfig {
-// @Bean
-// public FilterRegistrationBean sentinelFilterRegistration() {
-// FilterRegistrationBean registration = new FilterRegistrationBean();
-// registration.setFilter(new CommonFilter());
-// registration.addUrlPatterns("/*");
-// // 入口资源关闭聚合
-// registration.addInitParameter(CommonFilter.WEB_CONTEXT_UNIFY, "false");
-// registration.setName("sentinelFilter");
-// registration.setOrder(1);
-// return registration;
-// }
-//}
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/handler/LoderRouderHandler.java b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/handler/LoderRouderHandler.java
deleted file mode 100644
index a22086313..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/handler/LoderRouderHandler.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.jeecg.handler;
-
-import lombok.extern.slf4j.Slf4j;
-import org.jeecg.common.base.BaseMap;
-import org.jeecg.common.constant.GlobalConstants;
-import org.jeecg.common.modules.redis.listener.JeecgRedisListener;
-import org.jeecg.loader.DynamicRouteLoader;
-import org.springframework.stereotype.Component;
-
-import jakarta.annotation.Resource;
-
-/**
- * 路由刷新监听(实现方式:redis监听handler)
- * @author zyf
- * @date: 2022/4/21 10:55
- */
-@Slf4j
-@Component(GlobalConstants.LODER_ROUDER_HANDLER)
-public class LoderRouderHandler implements JeecgRedisListener {
-
- @Resource
- private DynamicRouteLoader dynamicRouteLoader;
-
-
- @Override
- public void onMessage(BaseMap message) {
- dynamicRouteLoader.refresh(message);
- }
-
-}
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/handler/swagger/MySwaggerResourceProvider.java b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/handler/swagger/MySwaggerResourceProvider.java
deleted file mode 100644
index 3f1fae60f..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/handler/swagger/MySwaggerResourceProvider.java
+++ /dev/null
@@ -1,158 +0,0 @@
-package org.jeecg.handler.swagger;
-
-import cn.hutool.core.util.ArrayUtil;
-import cn.hutool.core.util.ObjectUtil;
-import com.alibaba.nacos.api.naming.NamingFactory;
-import com.alibaba.nacos.api.naming.NamingService;
-import com.alibaba.nacos.api.naming.pojo.Instance;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.cloud.gateway.route.RouteLocator;
-import org.springframework.context.annotation.Primary;
-import org.springframework.stereotype.Component;
-import springfox.documentation.swagger.web.SwaggerResource;
-import springfox.documentation.swagger.web.SwaggerResourcesProvider;
-
-import java.util.*;
-
-/** 已使用knife4j-gateway支持该功能
- * 聚合各个服务的swagger接口
- * @author zyf
- * @date: 2022/4/21 10:55
- */
-@Component
-@Slf4j
-@Primary
-public class MySwaggerResourceProvider implements SwaggerResourcesProvider {
- /**
- * swagger2默认的url后缀
- */
- private static final String SWAGGER2URL = "/v3/api-docs";
-
- /**
- * 网关路由
- */
- private final RouteLocator routeLocator;
- /**
- * Nacos名字服务
- */
- private NamingService naming;
-
- /**
- * nacos服务地址
- */
- @Value("${spring.cloud.nacos.discovery.server-addr}")
- private String serverAddr;
- /**
- * nacos namespace
- */
- @Value("${spring.cloud.nacos.discovery.namespace:#{null}}")
- private String namespace;
-
- /**
- * nacos groupName
- */
- @Value("${spring.cloud.nacos.config.group:DEFAULT_GROUP:#{null}}")
- private String group;
-
- /**
- * nacos username
- */
- @Value("${spring.cloud.nacos.discovery.username:#{null}}")
- private String username;
- /**
- * nacos password
- */
- @Value("${spring.cloud.nacos.discovery.password:#{null}}")
- private String password;
-
- /**
- * Swagger中需要排除的服务
- */
- private String[] excludeServiceIds=new String[]{"jeecg-cloud-monitor"};
-
-
- /**
- * 网关应用名称
- */
- @Value("${spring.application.name}")
- private String self;
-
- @Autowired
- public MySwaggerResourceProvider(RouteLocator routeLocator) {
- this.routeLocator = routeLocator;
- }
-
- @Override
- public List get() {
- List resources = new ArrayList<>();
- List routeHosts = new ArrayList<>();
- // 获取所有可用的host:serviceId
- routeLocator.getRoutes().filter(route -> route.getUri().getHost() != null)
- .filter(route -> !self.equals(route.getUri().getHost()))
- .subscribe(route ->{
- // 代码逻辑说明: 过滤掉无效路由,避免接口文档报错无法打开
- boolean hasRoute=checkRoute(route.getId());
- if(hasRoute){
- routeHosts.add(route.getUri().getHost());
- }
- });
-
- // 记录已经添加过的server,存在同一个应用注册了多个服务在nacos上
- Set dealed = new HashSet<>();
- routeHosts.forEach(instance -> {
- // 拼接url
- String url = "/" + instance.toLowerCase() + SWAGGER2URL;
- if (!dealed.contains(url)) {
- dealed.add(url);
- log.info(" Gateway add SwaggerResource: {}",url);
- SwaggerResource swaggerResource = new SwaggerResource();
- swaggerResource.setUrl(url);
- swaggerResource.setSwaggerVersion("2.0");
- swaggerResource.setName(instance);
- //Swagger排除不展示的服务
- if(!ArrayUtil.contains(excludeServiceIds,instance)){
- resources.add(swaggerResource);
- }
- }
- });
- return resources;
- }
-
- /**
- * 检测nacos中是否有健康实例
- * @param routeId
- * @return
- */
- private Boolean checkRoute(String routeId) {
- Boolean hasRoute = false;
- try {
- //修复使用带命名空间启动网关swagger看不到接口文档的问题
- Properties properties=new Properties();
- properties.setProperty("serverAddr",serverAddr);
- if(namespace!=null && !"".equals(namespace)){
- log.info("nacos.discovery.namespace = {}", namespace);
- properties.setProperty("namespace",namespace);
- }
- if(username!=null && !"".equals(username)){
- properties.setProperty("username",username);
- }
- if(password!=null && !"".equals(password)){
- properties.setProperty("password",password);
- }
- //【issues/5115】因swagger文档导致gateway内存溢出
- if (this.naming == null) {
- this.naming = NamingFactory.createNamingService(properties);
- }
- log.info(" config.group : {}", group);
- List list = this.naming.selectInstances(routeId, group , true);
- if (ObjectUtil.isNotEmpty(list)) {
- hasRoute = true;
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- return hasRoute;
- }
-}
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/handler/swagger/SwaggerResourceController.java b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/handler/swagger/SwaggerResourceController.java
deleted file mode 100644
index 3be3870b6..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/handler/swagger/SwaggerResourceController.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package org.jeecg.handler.swagger;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-import springfox.documentation.swagger.web.*;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/** 已使用knife4j-gateway支持该功能
- * swagger聚合接口,三个接口都是 doc.html需要访问的接口
- * @author zyf
- * @date: 2022/4/21 10:55
- */
-@RestController
-@RequestMapping("/swagger-resources")
-public class SwaggerResourceController {
- private MySwaggerResourceProvider swaggerResourceProvider;
-
- @Value("${knife4j.gateway.enabled:true}")
- private Boolean enableSwagger;
-
- @Autowired
- public SwaggerResourceController(MySwaggerResourceProvider swaggerResourceProvider) {
- this.swaggerResourceProvider = swaggerResourceProvider;
- }
-
- @RequestMapping(value = "/configuration/security")
- public ResponseEntity securityConfiguration() {
- return new ResponseEntity<>(SecurityConfigurationBuilder.builder().build(), HttpStatus.OK);
- }
-
- @RequestMapping(value = "/configuration/ui")
- public ResponseEntity uiConfiguration() {
- return new ResponseEntity<>(UiConfigurationBuilder.builder().build(), HttpStatus.OK);
- }
-
- @RequestMapping
- public ResponseEntity> swaggerResources() {
- if (!enableSwagger) {
- return new ResponseEntity<>(new ArrayList<>(), HttpStatus.OK);
- }
- return new ResponseEntity<>(swaggerResourceProvider.get(), HttpStatus.OK);
- }
-}
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/loader/DynamicRouteLoader.java b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/loader/DynamicRouteLoader.java
deleted file mode 100644
index c3f04668e..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/loader/DynamicRouteLoader.java
+++ /dev/null
@@ -1,381 +0,0 @@
-package org.jeecg.loader;
-
-import cn.hutool.core.util.ArrayUtil;
-import cn.hutool.core.util.ObjectUtil;
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
-import com.alibaba.nacos.api.NacosFactory;
-import com.alibaba.nacos.api.config.ConfigService;
-import com.alibaba.nacos.api.config.listener.Listener;
-import com.alibaba.nacos.api.exception.NacosException;
-import com.alibaba.nacos.shaded.com.google.common.collect.Lists;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang3.ObjectUtils;
-import org.apache.commons.lang3.StringUtils;
-import org.jeecg.common.base.BaseMap;
-import org.jeecg.common.constant.CacheConstant;
-import org.jeecg.common.util.RedisUtil;
-import org.jeecg.config.GatewayRoutersConfig;
-import org.jeecg.config.RouterDataType;
-import org.jeecg.loader.repository.DynamicRouteService;
-import org.jeecg.loader.repository.MyInMemoryRouteDefinitionRepository;
-import org.jeecg.loader.vo.MyRouteDefinition;
-import org.jeecg.loader.vo.PredicatesVo;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.cloud.context.config.annotation.RefreshScope;
-import org.springframework.cloud.gateway.event.RefreshRoutesEvent;
-import org.springframework.cloud.gateway.filter.FilterDefinition;
-import org.springframework.cloud.gateway.handler.predicate.PredicateDefinition;
-import org.springframework.cloud.gateway.route.RouteDefinition;
-import org.springframework.context.ApplicationEventPublisher;
-import org.springframework.context.ApplicationEventPublisherAware;
-import org.springframework.context.annotation.DependsOn;
-import org.springframework.stereotype.Component;
-import reactor.core.publisher.Mono;
-
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.*;
-import java.util.concurrent.Executor;
-
-/**
- * 动态路由加载器
- *
- * @author : zyf
- * @date :2020-11-10
- */
-@Slf4j
-@Component
-@RefreshScope
-@DependsOn({"gatewayRoutersConfig"})
-public class DynamicRouteLoader implements ApplicationEventPublisherAware {
-
- public static final long DEFAULT_TIMEOUT = 30000;
- @Autowired
- private GatewayRoutersConfig gatewayRoutersConfig;
- private MyInMemoryRouteDefinitionRepository repository;
- private ApplicationEventPublisher publisher;
- private DynamicRouteService dynamicRouteService;
- private ConfigService configService;
- private RedisUtil redisUtil;
-
-
- /**
- * 需要拼接key的路由条件
- */
- private static String[] GEN_KEY_ROUTERS = new String[]{"Path", "Host", "Method", "After", "Before", "Between", "RemoteAddr"};
-
- public DynamicRouteLoader(MyInMemoryRouteDefinitionRepository repository, DynamicRouteService dynamicRouteService, RedisUtil redisUtil) {
-
- this.repository = repository;
- this.dynamicRouteService = dynamicRouteService;
- this.redisUtil = redisUtil;
- }
-
-// @PostConstruct
-// public void init() {
-// init(null);
-// }
-
-
- public void init(BaseMap baseMap) {
- log.info("初始化路由模式,dataType:"+ gatewayRoutersConfig.getDataType());
- if (RouterDataType.nacos.toString().endsWith(gatewayRoutersConfig.getDataType())) {
- loadRoutesByNacos();
- }
- //从数据库加载路由
- if (RouterDataType.database.toString().endsWith(gatewayRoutersConfig.getDataType())) {
- loadRoutesByRedis(baseMap);
- }
- }
- /**
- * 刷新路由
- *
- * @return
- */
- public Mono refresh(BaseMap baseMap) {
- log.info("初始化路由模式,dataType:"+ gatewayRoutersConfig.getDataType());
- if (!RouterDataType.yml.toString().endsWith(gatewayRoutersConfig.getDataType())) {
- this.init(baseMap);
- }
- return Mono.empty();
- }
-
-
- /**
- * 从nacos中读取路由配置
- *
- * @return
- */
- private void loadRoutesByNacos() {
- List routes = Lists.newArrayList();
- configService = createConfigService();
- if (configService == null) {
- log.warn("initConfigService fail");
- }
- try {
- log.info("jeecg.route.config.data-id = {}", gatewayRoutersConfig.getDataId());
- log.info("nacos.config.group = {}", gatewayRoutersConfig.getRouteGroup());
- String configInfo = configService.getConfig(gatewayRoutersConfig.getDataId(), gatewayRoutersConfig.getRouteGroup(), DEFAULT_TIMEOUT);
- if (StringUtils.isNotBlank(configInfo)) {
- log.info("获取网关当前配置:\r\n{}", configInfo);
- routes = JSON.parseArray(configInfo, RouteDefinition.class);
- }else{
- log.warn("ERROR: 从Nacos获取网关配置为空,请确认Nacos配置是否正确!");
- }
- } catch (NacosException e) {
- log.error("初始化网关路由时发生错误", e);
- e.printStackTrace();
- }
- for (RouteDefinition definition : routes) {
- log.info("update route : {}", definition.toString());
- dynamicRouteService.add(definition);
- }
- this.publisher.publishEvent(new RefreshRoutesEvent(this));
- dynamicRouteByNacosListener(gatewayRoutersConfig.getDataId(), gatewayRoutersConfig.getRouteGroup());
- }
-
-
- /**
- * 从redis中读取路由配置
- *
- * @return
- */
- private void loadRoutesByRedis(BaseMap baseMap) {
- List routes = Lists.newArrayList();
- configService = createConfigService();
- if (configService == null) {
- log.warn("initConfigService fail");
- }
- Object configInfo = redisUtil.get(CacheConstant.GATEWAY_ROUTES);
- if (ObjectUtil.isNotEmpty(configInfo)) {
- log.info("获取网关当前配置:\r\n{}", configInfo);
- JSONArray array = JSON.parseArray(configInfo.toString());
- try {
- routes = getRoutesByJson(array);
- } catch (URISyntaxException e) {
- e.printStackTrace();
- }
- }else{
- log.warn("ERROR: 从Redis获取网关配置为空,请确认system服务是否启动成功!");
- }
-
- for (MyRouteDefinition definition : routes) {
- log.info("update route : {}", definition.toString());
- Integer status=definition.getStatus();
- if(status.equals(0)){
- dynamicRouteService.delete(definition.getId());
- }else{
- dynamicRouteService.add(definition);
- }
- }
- if(ObjectUtils.isNotEmpty(baseMap)){
- String delRouterId = baseMap.get("delRouterId");
- if (ObjectUtils.isNotEmpty(delRouterId)) {
- dynamicRouteService.delete(delRouterId);
- }
- }
- this.publisher.publishEvent(new RefreshRoutesEvent(this));
- }
-
- /**
- * redis中的信息需要处理下 转成RouteDefinition对象
- * - id: login
- * uri: lb://cloud-jeecg-system
- * predicates:
- * - Path=/jeecg-boot/sys/**,
- *
- * @param array
- * @return
- */
-
- public static List getRoutesByJson(JSONArray array) throws URISyntaxException {
- List ls = new ArrayList<>();
- for (int i = 0; i < array.size(); i++) {
- JSONObject obj = array.getJSONObject(i);
- MyRouteDefinition route = new MyRouteDefinition();
- route.setId(obj.getString("routerId"));
- route.setStatus(obj.getInteger("status"));
- Object uri = obj.get("uri");
- if (uri == null) {
- route.setUri(new URI("lb://" + obj.getString("name")));
- } else {
- route.setUri(new URI(obj.getString("uri")));
- }
- Object predicates = obj.get("predicates");
- if (predicates != null) {
- // 代码逻辑说明: [issues/5331]网关路由配置问题
- List list = JSON.parseArray(predicates.toString(), PredicatesVo.class);
- //获取合并后的Predicates,防止配置多个path导致路径失效的问题
- Map> groupedPredicates = new HashMap<>();
- for (PredicatesVo predicatesVo : list) {
- String name = predicatesVo.getName();
- List args = predicatesVo.getArgs();
- groupedPredicates.computeIfAbsent(name, k -> new ArrayList<>()).addAll(args);
- }
- //合并后的list
- list = new ArrayList<>();
- for (Map.Entry> entry : groupedPredicates.entrySet()) {
- String name = entry.getKey();
- List args = entry.getValue();
- list.add(new PredicatesVo(name, args));
- }
- List predicateDefinitionList = new ArrayList<>();
- for (Object map : list) {
- JSONObject json = JSON.parseObject(JSON.toJSONString(map));
- PredicateDefinition predicateDefinition = new PredicateDefinition();
- // 代码逻辑说明: 【VUEN-762】路由条件添加异常问题,原因是部分路由条件参数需要设置固定key
- String name=json.getString("name");
- predicateDefinition.setName(name);
- //路由条件是否拼接Key
- if(ArrayUtil.contains(GEN_KEY_ROUTERS,name)) {
- JSONArray jsonArray = json.getJSONArray("args");
- for (int j = 0; j < jsonArray.size(); j++) {
- predicateDefinition.addArg("_genkey" + j, jsonArray.get(j).toString());
- }
- }else{
- JSONObject jsonObject = json.getJSONObject("args");
- if(ObjectUtil.isNotEmpty(jsonObject)){
- for (Map.Entry entry : jsonObject.entrySet()) {
- Object valueObj=entry.getValue();
- if(ObjectUtil.isNotEmpty(valueObj)) {
- predicateDefinition.addArg(entry.getKey(), valueObj.toString());
- }
- }
- }
- }
- predicateDefinitionList.add(predicateDefinition);
- }
- route.setPredicates(predicateDefinitionList);
- }
-
- Object filters = obj.get("filters");
- if (filters != null) {
- JSONArray list = JSON.parseArray(filters.toString());
- List filterDefinitionList = new ArrayList<>();
- if (ObjectUtil.isNotEmpty(list)) {
- for (Object map : list) {
- JSONObject json = (JSONObject) map;
- JSONArray jsonArray = json.getJSONArray("args");
- String name = json.getString("name");
- FilterDefinition filterDefinition = new FilterDefinition();
- for (Object o : jsonArray) {
- JSONObject params = (JSONObject) o;
- filterDefinition.addArg(params.getString("key"), params.get("value").toString());
- }
- filterDefinition.setName(name);
- filterDefinitionList.add(filterDefinition);
- }
- route.setFilters(filterDefinitionList);
- }
- }
- ls.add(route);
- }
- return ls;
- }
-
-
-// private void loadRoutesByDataBase() {
-// List routeList = jdbcTemplate.query(SELECT_ROUTES, new RowMapper() {
-// @Override
-// public GatewayRouteVo mapRow(ResultSet rs, int i) throws SQLException {
-// GatewayRouteVo result = new GatewayRouteVo();
-// result.setId(rs.getString("id"));
-// result.setName(rs.getString("name"));
-// result.setUri(rs.getString("uri"));
-// result.setStatus(rs.getInt("status"));
-// result.setRetryable(rs.getInt("retryable"));
-// result.setPredicates(rs.getString("predicates"));
-// result.setStripPrefix(rs.getInt("strip_prefix"));
-// result.setPersist(rs.getInt("persist"));
-// return result;
-// }
-// });
-// if (ObjectUtil.isNotEmpty(routeList)) {
-// // 加载路由
-// routeList.forEach(route -> {
-// RouteDefinition definition = new RouteDefinition();
-// List predicatesList = Lists.newArrayList();
-// List filtersList = Lists.newArrayList();
-// definition.setId(route.getId());
-// String predicates = route.getPredicates();
-// String filters = route.getFilters();
-// if (StringUtils.isNotEmpty(predicates)) {
-// predicatesList = JSON.parseArray(predicates, PredicateDefinition.class);
-// definition.setPredicates(predicatesList);
-// }
-// if (StringUtils.isNotEmpty(filters)) {
-// filtersList = JSON.parseArray(filters, FilterDefinition.class);
-// definition.setFilters(filtersList);
-// }
-// URI uri = UriComponentsBuilder.fromUriString(route.getUri()).build().toUri();
-// definition.setUri(uri);
-// this.repository.save(Mono.just(definition)).subscribe();
-// });
-// log.info("加载路由:{}==============", routeList.size());
-// Mono.empty();
-// }
-// }
-
-
- /**
- * 监听Nacos下发的动态路由配置
- *
- * @param dataId
- * @param group
- */
- public void dynamicRouteByNacosListener(String dataId, String group) {
- try {
- configService.addListener(dataId, group, new Listener() {
- @Override
- public void receiveConfigInfo(String configInfo) {
- log.info("进行网关更新:\n\r{}", configInfo);
- List definitionList = JSON.parseArray(configInfo, MyRouteDefinition.class);
- for (MyRouteDefinition definition : definitionList) {
- log.info("update route : {}", definition.toString());
- dynamicRouteService.update(definition);
- }
- }
-
- @Override
- public Executor getExecutor() {
- log.info("getExecutor\n\r");
- return null;
- }
- });
- } catch (Exception e) {
- log.error("从nacos接收动态路由配置出错!!!", e);
- }
- }
-
- /**
- * 创建ConfigService
- *
- * @return
- */
- private ConfigService createConfigService() {
- try {
- Properties properties = new Properties();
- properties.setProperty("serverAddr", gatewayRoutersConfig.getServerAddr());
- if(StringUtils.isNotBlank(gatewayRoutersConfig.getNamespace())){
- properties.setProperty("namespace", gatewayRoutersConfig.getNamespace());
- }
- if(StringUtils.isNotBlank( gatewayRoutersConfig.getUsername())){
- properties.setProperty("username", gatewayRoutersConfig.getUsername());
- }
- if(StringUtils.isNotBlank(gatewayRoutersConfig.getPassword())){
- properties.setProperty("password", gatewayRoutersConfig.getPassword());
- }
- return configService = NacosFactory.createConfigService(properties);
- } catch (Exception e) {
- log.error("创建ConfigService异常", e);
- return null;
- }
- }
-
- @Override
- public void setApplicationEventPublisher(ApplicationEventPublisher applicationEventPublisher) {
- this.publisher = applicationEventPublisher;
- }
-}
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/loader/repository/DynamicRouteService.java b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/loader/repository/DynamicRouteService.java
deleted file mode 100644
index a0fe7fdb5..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/loader/repository/DynamicRouteService.java
+++ /dev/null
@@ -1,89 +0,0 @@
-package org.jeecg.loader.repository;
-
-import lombok.extern.slf4j.Slf4j;
-import org.jeecg.loader.repository.MyInMemoryRouteDefinitionRepository;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.cloud.gateway.event.RefreshRoutesEvent;
-import org.springframework.cloud.gateway.route.RouteDefinition;
-import org.springframework.context.ApplicationEventPublisher;
-import org.springframework.context.ApplicationEventPublisherAware;
-import org.springframework.stereotype.Service;
-import reactor.core.publisher.Mono;
-
-/**
- * 动态更新路由网关service
- * 1)实现一个Spring提供的事件推送接口ApplicationEventPublisherAware
- * 2)提供动态路由的基础方法,可通过获取bean操作该类的方法。该类提供新增路由、更新路由、删除路由,然后实现发布的功能。
- *
- * @author zyf
- */
-@Slf4j
-@Service
-public class DynamicRouteService implements ApplicationEventPublisherAware {
-
- @Autowired
- private MyInMemoryRouteDefinitionRepository repository;
-
- /**
- * 发布事件
- */
-
- private ApplicationEventPublisher publisher;
-
- @Override
- public void setApplicationEventPublisher(ApplicationEventPublisher applicationEventPublisher) {
- this.publisher = applicationEventPublisher;
- }
-
- /**
- * 删除路由
- *
- * @param id
- * @return
- */
- public synchronized void delete(String id) {
- try {
- repository.delete(Mono.just(id)).subscribe();
- this.publisher.publishEvent(new RefreshRoutesEvent(this));
- }catch (Exception e){
- log.warn(e.getMessage(),e);
- }
- }
-
- /**
- * 更新路由
- *
- * @param definition
- * @return
- */
- public synchronized String update(RouteDefinition definition) {
- try {
- log.info("gateway update route {}", definition);
- } catch (Exception e) {
- return "update fail,not find route routeId: " + definition.getId();
- }
- try {
- repository.save(Mono.just(definition)).subscribe();
- this.publisher.publishEvent(new RefreshRoutesEvent(this));
- return "success";
- } catch (Exception e) {
- return "update route fail";
- }
- }
-
- /**
- * 增加路由
- *
- * @param definition
- * @return
- */
- public synchronized String add(RouteDefinition definition) {
- log.info("gateway add route {}", definition);
- try {
- repository.save(Mono.just(definition)).subscribe();
- } catch (Exception e) {
- log.warn(e.getMessage(),e);
- }
- return "success";
- }
-}
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/loader/repository/MyInMemoryRouteDefinitionRepository.java b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/loader/repository/MyInMemoryRouteDefinitionRepository.java
deleted file mode 100644
index d5f627f43..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/loader/repository/MyInMemoryRouteDefinitionRepository.java
+++ /dev/null
@@ -1,68 +0,0 @@
-//
-// Source code recreated from a .class file by IntelliJ IDEA
-// (powered by Fernflower decompiler)
-//
-
-package org.jeecg.loader.repository;
-
-import java.util.Collections;
-import java.util.LinkedHashMap;
-import java.util.Map;
-import java.util.function.Function;
-import java.util.function.Supplier;
-
-import ch.qos.logback.classic.Logger;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.cloud.gateway.route.RouteDefinition;
-import org.springframework.cloud.gateway.route.RouteDefinitionRepository;
-import org.springframework.cloud.gateway.support.NotFoundException;
-import org.springframework.stereotype.Component;
-import org.springframework.util.ObjectUtils;
-import reactor.core.publisher.Flux;
-import reactor.core.publisher.Mono;
-
-/**
- * @author qinfeng
- */
-@Slf4j
-@Component
-public class MyInMemoryRouteDefinitionRepository implements RouteDefinitionRepository {
- private final Map routes = Collections.synchronizedMap(new LinkedHashMap());
-
- public MyInMemoryRouteDefinitionRepository() {
- }
-
- @Override
- public Mono save(Mono route) {
- return route.flatMap((r) -> {
- if (ObjectUtils.isEmpty(r.getId())) {
- return Mono.error(new IllegalArgumentException("id may not be empty"));
- } else {
- this.routes.put(r.getId(), r);
- return Mono.empty();
- }
- });
- }
-
- @Override
- public Mono delete(Mono routeId) {
- return routeId.flatMap((id) -> {
- if (this.routes.containsKey(id)) {
- this.routes.remove(id);
- return Mono.empty();
- } else {
- log.warn("RouteDefinition not found: " + routeId);
- return Mono.empty();
-// return Mono.defer(() -> {
-// return Mono.error(new NotFoundException("RouteDefinition not found: " + routeId));
-// });
- }
- });
- }
-
- @Override
- public Flux getRouteDefinitions() {
- Map routesSafeCopy = new LinkedHashMap(this.routes);
- return Flux.fromIterable(routesSafeCopy.values());
- }
-}
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/loader/vo/GatewayRouteVo.java b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/loader/vo/GatewayRouteVo.java
deleted file mode 100644
index 591c11a77..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/loader/vo/GatewayRouteVo.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package org.jeecg.loader.vo;
-
-import lombok.Data;
-
-/**
- * 路由参数模型
- * @author zyf
- * @date: 2022/4/21 10:55
- */
-@Data
-public class GatewayRouteVo {
- private String id;
- private String name;
- private String uri;
- private String predicates;
- private String filters;
- private Integer stripPrefix;
- private Integer retryable;
- private Integer persist;
- private Integer status;
-}
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/loader/vo/MyRouteDefinition.java b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/loader/vo/MyRouteDefinition.java
deleted file mode 100644
index 7d5c22b5c..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/loader/vo/MyRouteDefinition.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package org.jeecg.loader.vo;
-
-import org.springframework.cloud.gateway.route.RouteDefinition;
-
-/**
- * 自定义RouteDefinition
- * @author zyf
- */
-public class MyRouteDefinition extends RouteDefinition {
- /**
- * 路由状态
- */
- private Integer status;
-
- public Integer getStatus() {
- return status;
- }
-
- public void setStatus(Integer status) {
- this.status = status;
- }
-}
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/loader/vo/PredicatesVo.java b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/loader/vo/PredicatesVo.java
deleted file mode 100644
index e81f807af..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/src/main/java/org/jeecg/loader/vo/PredicatesVo.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package org.jeecg.loader.vo;
-
-import lombok.AllArgsConstructor;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-
-import java.util.List;
-
-/**
- * 路由配置VO
- * @author lsq
- * @Date 2023/10/15
- */
-@Data
-@AllArgsConstructor
-@NoArgsConstructor
-public class PredicatesVo {
- private String name;
- private List args;
-}
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/src/main/resources/application.yml b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/src/main/resources/application.yml
deleted file mode 100644
index 0a67c9ed2..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/src/main/resources/application.yml
+++ /dev/null
@@ -1,117 +0,0 @@
-server:
- port: 9999
-
-knife4j:
- gateway:
- enabled: true
-
-spring:
- application:
- name: jeecg-gateway
- main:
- allow-circular-references: true
- config:
- import:
- - optional:nacos:${spring.application.name}-@profile.name@.yaml
- cloud:
- nacos:
- config:
- server-addr: @config.server-addr@
- group: @config.group@
- namespace: @config.namespace@
- username: @config.username@
- password: @config.password@
- discovery:
- server-addr: ${spring.cloud.nacos.config.server-addr}
- group: @config.group@
- namespace: @config.namespace@
- username: @config.username@
- password: @config.password@
- gateway:
- server:
- webflux:
- discovery:
- locator:
- enabled: true
- globalcors:
- cors-configurations:
- '[/**]':
- allow-credentials: true
- allowed-origin-patterns:
- - "*"
- allowed-methods:
- - "*"
- allowed-headers:
- - "*"
- #Sentinel配置
- sentinel:
- transport:
- dashboard: jeecg-boot-sentinel:9000
- # 支持链路限流
- web-context-unify: false
- filter:
- enabled: false
- # 取消Sentinel控制台懒加载
- eager: false
- datasource:
- #流控规则
- flow: # 指定数据源名称
- # 指定nacos数据源
- nacos:
- server-addr: @config.server-addr@
- # 指定配置文件
- dataId: ${spring.application.name}-flow-rules
- # 指定分组
- groupId: SENTINEL_GROUP
- # 指定配置文件规则类型
- rule-type: flow
- # 指定配置文件数据格式
- data-type: json
- #降级规则
- degrade:
- nacos:
- server-addr: @config.server-addr@
- dataId: ${spring.application.name}-degrade-rules
- groupId: SENTINEL_GROUP
- rule-type: degrade
- data-type: json
- #系统规则
- system:
- nacos:
- server-addr: @config.server-addr@
- dataId: ${spring.application.name}-system-rules
- groupId: SENTINEL_GROUP
- rule-type: system
- data-type: json
- #授权规则
- authority:
- nacos:
- server-addr: @config.server-addr@
- dataId: ${spring.application.name}-authority-rules
- groupId: SENTINEL_GROUP
- rule-type: authority
- data-type: json
- #热点参数
- param-flow:
- nacos:
- server-addr: @config.server-addr@
- dataId: ${spring.application.name}-param-rules
- groupId: SENTINEL_GROUP
- rule-type: param-flow
- data-type: json
- #网关流控规则
- gw-flow:
- nacos:
- server-addr: @config.server-addr@
- dataId: ${spring.application.name}-flow-rules
- groupId: SENTINEL_GROUP
- rule-type: gw-flow
- data-type: json
- #API流控规则
- gw-api-group:
- nacos:
- server-addr: @config.server-addr@
- dataId: ${spring.application.name}-api-rules
- groupId: SENTINEL_GROUP
- rule-type: gw-api-group
- data-type: json
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/src/main/resources/logback-spring.xml b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/src/main/resources/logback-spring.xml
deleted file mode 100644
index 50b9921c7..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/src/main/resources/logback-spring.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-
-
-
-
-
-
-
-
-
-
- %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %highlight(%-5level) %cyan(%logger{50}:%L) - %msg%n
-
-
-
-
-
-
-
- ${LOG_HOME}/jeecg-gateway-%d{yyyy-MM-dd}.%i.log
-
- 30
- 10MB
-
-
-
- %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50}:%L - %msg%n
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/src/test/java/TestRoutes.java b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/src/test/java/TestRoutes.java
deleted file mode 100644
index 16771b9dd..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-gateway/src/test/java/TestRoutes.java
+++ /dev/null
@@ -1,37 +0,0 @@
-import org.jeecg.loader.vo.PredicatesVo;
-import org.junit.jupiter.api.Test;
-
-import java.util.*;
-
-/**
- * @Description: 测试
- * @author: lsq
- * @date: 2023年10月13日 11:32
- */
-public class TestRoutes {
-
- @Test
- public void TestRoutes() {
- List list = new ArrayList<>();
- PredicatesVo a = new PredicatesVo();
- a.setName("path");
- String[] aArr={"/sys/**","/eoa/**"};
- a.setArgs(Arrays.asList(aArr));
- list.add(a);
-
- PredicatesVo b = new PredicatesVo();
- b.setName("path");
- String[] bArr={"/sys/**","/demo/**"};
- b.setArgs(Arrays.asList(bArr));
- list.add(b);
-
- Map> groupedPredicates = new HashMap<>();
- for (PredicatesVo predicatesVo : list) {
- String name = predicatesVo.getName();
- List args1 = predicatesVo.getArgs();
- groupedPredicates.computeIfAbsent(name, k -> new ArrayList<>()).addAll(args1);
- }
- System.out.println(groupedPredicates);
- }
-
-}
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/Dockerfile b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/Dockerfile
deleted file mode 100644
index 95a3f310e..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/Dockerfile
+++ /dev/null
@@ -1,15 +0,0 @@
-FROM registry.cn-hangzhou.aliyuncs.com/dockerhub_mirror/java:21-anolis
-
-MAINTAINER jeecgos@163.com
-
-RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
-
-RUN mkdir -p /jeecg-cloud-nacos
-
-WORKDIR /jeecg-cloud-nacos
-
-EXPOSE 8848
-
-ADD ./target/jeecg-cloud-nacos-3.9.0.jar ./
-
-CMD sleep 30;java -Dfile.encoding=utf-8 -Djava.security.egd=file:/dev/./urandom -jar jeecg-cloud-nacos-3.9.0.jar
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/README.md b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/README.md
deleted file mode 100644
index e8031c3f7..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/README.md
+++ /dev/null
@@ -1,16 +0,0 @@
-访问地址: http://localhost:8848/nacos
-账号密码:nacos/nacos
-
-
-# 使用方法
-
-- 1、目前只做了关闭鉴权模式
-- 2、此项目与官方同步,只是为了简化微服务部署
-- 3、如何不用此模块,使用自己的naocs,请创建下面目录中的配置文件
- 目录:jeecg-cloud-nacos/docs/config
- 配置文件: YAML
-
-
-# 常见问题
-- UnsupportedOperationException: Cannot determine JNI library name for ARCH='x86' OS='windows 10'
- 解决方案:http://t.zoukankan.com/mindzone-p-15808190.html
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/docs/config/jeecg-dev.yaml b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/docs/config/jeecg-dev.yaml
deleted file mode 100644
index d9296fd72..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/docs/config/jeecg-dev.yaml
+++ /dev/null
@@ -1,147 +0,0 @@
-spring:
- datasource:
- druid:
- stat-view-servlet:
- enabled: true
- loginUsername: admin
- loginPassword: 123456
- allow:
- web-stat-filter:
- enabled: true
- dynamic:
- druid:
- initial-size: 5
- min-idle: 5
- maxActive: 20
- maxWait: 60000
- timeBetweenEvictionRunsMillis: 60000
- minEvictableIdleTimeMillis: 300000
- validationQuery: SELECT 1 FROM DUAL
- testWhileIdle: true
- testOnBorrow: false
- testOnReturn: false
- poolPreparedStatements: true
- maxPoolPreparedStatementPerConnectionSize: 20
- filters: stat,wall,slf4j
- connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000
- datasource:
- master:
- url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
- username: root
- password: root
- driver-class-name: com.mysql.cj.jdbc.Driver
- data:
- redis:
- database: 0
- host: jeecg-boot-redis
- password:
- port: 6379
- rabbitmq:
- host: jeecg-boot-rabbitmq
- username: guest
- password: guest
- port: 5672
- publisher-confirms: true
- publisher-returns: true
- virtual-host: /
- listener:
- simple:
- acknowledge-mode: manual
- concurrency: 1
- max-concurrency: 1
- retry:
- enabled: true
-minidao:
- base-package: org.jeecg.modules.jmreport.*,org.jeecg.modules.drag.*
-jeecg:
- signatureSecret: dd05f1c54d63749eda95f9fa6d49v442a
- signUrls: /sys/dict/getDictItems/*,/sys/dict/loadDict/*,/sys/dict/loadDictOrderByValue/*,/sys/dict/loadDictItem/*,/sys/dict/loadTreeData,/sys/api/queryTableDictItemsByCode,/sys/api/queryFilterTableDictInfo,/sys/api/queryTableDictByKeys,/sys/api/translateDictFromTable,/sys/api/translateDictFromTableByKeys
- uploadType: local
- domainUrl:
- pc: http://localhost:3100
- app: http://localhost:8051
- path:
- upload: /opt/upFiles
- webapp: /opt/webapp
- shiro:
- excludeUrls: /test/jeecgDemo/demo3,/test/jeecgDemo/redisDemo/**,/category/**,/visual/**,/map/**,/jmreport/bigscreen2/**
- oss:
- endpoint: oss-cn-beijing.aliyuncs.com
- accessKey: ??
- secretKey: ??
- bucketName: jeecgdev
- staticDomain: ??
- elasticsearch:
- cluster-name: jeecg-ES
- cluster-nodes: jeecg-boot-es:9200
- check-enabled: false
- file-view-domain: 127.0.0.1:8012
- minio:
- minio_url: http://minio.jeecg.com
- minio_name: ??
- minio_pass: ??
- bucketName: otatest
- jmreport:
- mode: dev
- is_verify_token: false
- verify_methods: remove,delete,save,add,update
- wps:
- domain: https://wwo.wps.cn/office/
- appid: ??
- appsecret: ??
- xxljob:
- enabled: false
- adminAddresses: http://jeecg-boot-xxljob:9080/xxl-job-admin
- appname: ${spring.application.name}
- accessToken: ''
- logPath: logs/jeecg/job/jobhandler/
- logRetentionDays: 30
- redisson:
- address: jeecg-boot-redis:6379
- password:
- type: STANDALONE
- enabled: true
-logging:
- level:
- org.jeecg.modules.system.mapper : info
-cas:
- prefixUrl: http://localhost:8888/cas
-knife4j:
- production: false
- basic:
- enable: false
- username: jeecg
- password: jeecg1314
-justauth:
- enabled: true
- type:
- GITHUB:
- client-id: ??
- client-secret: ??
- redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/github/callback
- WECHAT_ENTERPRISE:
- client-id: ??
- client-secret: ??
- redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/wechat_enterprise/callback
- agent-id: ??
- DINGTALK:
- client-id: ??
- client-secret: ??
- redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/dingtalk/callback
- cache:
- type: default
- prefix: 'demo::'
- timeout: 1h
-third-app:
- enabled: false
- type:
- WECHAT_ENTERPRISE:
- enabled: false
- client-id: ??
- client-secret: ??
- agent-id: ??
- DINGTALK:
- enabled: false
- client-id: ??
- client-secret: ??
- agent-id: ??
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/docs/config/jeecg-gateway-dev.yaml b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/docs/config/jeecg-gateway-dev.yaml
deleted file mode 100644
index 8caf4a0c8..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/docs/config/jeecg-gateway-dev.yaml
+++ /dev/null
@@ -1,14 +0,0 @@
-jeecg:
- route:
- config:
- #type:database nacos yml
- data-type: database
- group: DEFAULT_GROUP
- data-id: jeecg-gateway-router
-spring:
- data:
- redis:
- database: 0
- host: jeecg-boot-redis
- port: 6379
- password:
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/docs/config/jeecg-gateway-router.json b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/docs/config/jeecg-gateway-router.json
deleted file mode 100644
index 58f70cfbc..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/docs/config/jeecg-gateway-router.json
+++ /dev/null
@@ -1,52 +0,0 @@
-[{
- "id": "jeecg-system",
- "order": 0,
- "predicates": [{
- "name": "Path",
- "args": {
- "_genkey_0": "/sys/**",
- "_genkey_1": "/jmreport/**",
- "_genkey_3": "/online/**",
- "_genkey_4": "/generic/**"
- }
- }],
- "filters": [],
- "uri": "lb://jeecg-system"
-}, {
- "id": "jeecg-demo",
- "order": 1,
- "predicates": [{
- "name": "Path",
- "args": {
- "_genkey_0": "/mock/**",
- "_genkey_1": "/test/**",
- "_genkey_2": "/bigscreen/template1/**",
- "_genkey_3": "/bigscreen/template2/**"
- }
- }],
- "filters": [],
- "uri": "lb://jeecg-demo"
-}, {
- "id": "jeecg-system-websocket",
- "order": 2,
- "predicates": [{
- "name": "Path",
- "args": {
- "_genkey_0": "/websocket/**",
- "_genkey_1": "/newsWebsocket/**"
- }
- }],
- "filters": [],
- "uri": "lb:ws://jeecg-system"
-}, {
- "id": "jeecg-demo-websocket",
- "order": 3,
- "predicates": [{
- "name": "Path",
- "args": {
- "_genkey_0": "/vxeSocket/**"
- }
- }],
- "filters": [],
- "uri": "lb:ws://jeecg-demo"
-}]
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/docs/config/jeecg.yaml b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/docs/config/jeecg.yaml
deleted file mode 100644
index 26de44dfd..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/docs/config/jeecg.yaml
+++ /dev/null
@@ -1,100 +0,0 @@
-server:
- tomcat:
- max-swallow-size: -1
- error:
- include-exception: true
- include-stacktrace: ALWAYS
- include-message: ALWAYS
- compression:
- enabled: true
- min-response-size: 1024
- mime-types: application/javascript,application/json,application/xml,text/html,text/xml,text/plain,text/css,image/*
-management:
- health:
- mail:
- enabled: false
- endpoints:
- web:
- exposure:
- include: "*"
- health:
- sensitive: true
- endpoint:
- health:
- show-details: ALWAYS
-spring:
- servlet:
- multipart:
- max-file-size: 10MB
- max-request-size: 10MB
- mail:
- host: smtp.163.com
- username: jeecgos@163.com
- password: ??
- properties:
- mail:
- smtp:
- auth: true
- starttls:
- enable: true
- required: true
- quartz:
- job-store-type: jdbc
- initialize-schema: embedded
- auto-startup: false
- startup-delay: 1s
- overwrite-existing-jobs: true
- properties:
- org:
- quartz:
- scheduler:
- instanceName: MyScheduler
- instanceId: AUTO
- jobStore:
- class: org.springframework.scheduling.quartz.LocalDataSourceJobStore
- driverDelegateClass: org.quartz.impl.jdbcjobstore.StdJDBCDelegate
- tablePrefix: QRTZ_
- isClustered: true
- misfireThreshold: 12000
- clusterCheckinInterval: 15000
- threadPool:
- class: org.quartz.simpl.SimpleThreadPool
- threadCount: 10
- threadPriority: 5
- threadsInheritContextClassLoaderOfInitializingThread: true
- jackson:
- date-format: yyyy-MM-dd HH:mm:ss
- time-zone: GMT+8
- aop:
- proxy-target-class: true
- activiti:
- check-process-definitions: false
- async-executor-activate: false
- job-executor-activate: false
- jpa:
- open-in-view: false
- freemarker:
- suffix: .ftl
- content-type: text/html
- charset: UTF-8
- cache: false
- prefer-file-system-access: false
- template-loader-path:
- - classpath:/templates
- mvc:
- static-path-pattern: /**
- pathmatch:
- matching-strategy: ant_path_matcher
- resource:
- static-locations: classpath:/static/,classpath:/public/
- autoconfigure:
- exclude: com.alibaba.druid.spring.boot3.autoconfigure.DruidDataSourceAutoConfigure
-mybatis-plus:
- mapper-locations: classpath*:org/jeecg/modules/**/xml/*Mapper.xml
- global-config:
- banner: false
- db-config:
- id-type: ASSIGN_ID
- table-underline: true
- configuration:
- call-setters-on-nulls: true
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/docs/db/nacos_dm.sql b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/docs/db/nacos_dm.sql
deleted file mode 100644
index 7f2b6a392..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/docs/db/nacos_dm.sql
+++ /dev/null
@@ -1,3275 +0,0 @@
-CREATE TABLE "NACOS"."CONFIG_INFO"
-(
- "ID" BIGINT IDENTITY(1,1) NOT NULL,
- "DATA_ID" VARCHAR(255) NOT NULL,
- "GROUP_ID" VARCHAR(128) NULL,
- "CONTENT" CLOB NOT NULL,
- "MD5" VARCHAR(32) NULL,
- "GMT_CREATE" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
- NOT NULL,
- "GMT_MODIFIED" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
- NOT NULL,
- "SRC_USER" TEXT NULL,
- "SRC_IP" VARCHAR(50) NULL,
- "APP_NAME" VARCHAR(128) NULL,
- "TENANT_ID" VARCHAR(128) DEFAULT ''
- NULL,
- "C_DESC" VARCHAR(256) NULL,
- "C_USE" VARCHAR(64) NULL,
- "EFFECT" VARCHAR(64) NULL,
- "TYPE" VARCHAR(64) NULL,
- "C_SCHEMA" TEXT NULL,
- "ENCRYPTED_DATA_KEY" TEXT NOT NULL
-);
-CREATE TABLE "NACOS"."CONFIG_INFO_AGGR"
-(
- "ID" BIGINT IDENTITY(1,1) NOT NULL,
- "DATA_ID" VARCHAR(255) NOT NULL,
- "GROUP_ID" VARCHAR(128) NOT NULL,
- "DATUM_ID" VARCHAR(255) NOT NULL,
- "CONTENT" CLOB NOT NULL,
- "GMT_MODIFIED" TIMESTAMP(0) NOT NULL,
- "APP_NAME" VARCHAR(128) NULL,
- "TENANT_ID" VARCHAR(128) DEFAULT ''
- NULL
-);
-CREATE TABLE "NACOS"."CONFIG_INFO_BETA"
-(
- "ID" BIGINT IDENTITY(1,1) NOT NULL,
- "DATA_ID" VARCHAR(255) NOT NULL,
- "GROUP_ID" VARCHAR(128) NOT NULL,
- "APP_NAME" VARCHAR(128) NULL,
- "CONTENT" CLOB NOT NULL,
- "BETA_IPS" VARCHAR(1024) NULL,
- "MD5" VARCHAR(32) NULL,
- "GMT_CREATE" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
- NOT NULL,
- "GMT_MODIFIED" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
- NOT NULL,
- "SRC_USER" TEXT NULL,
- "SRC_IP" VARCHAR(50) NULL,
- "TENANT_ID" VARCHAR(128) DEFAULT ''
- NULL,
- "ENCRYPTED_DATA_KEY" TEXT NOT NULL
-);
-CREATE TABLE "NACOS"."CONFIG_INFO_TAG"
-(
- "ID" BIGINT IDENTITY(1,1) NOT NULL,
- "DATA_ID" VARCHAR(255) NOT NULL,
- "GROUP_ID" VARCHAR(128) NOT NULL,
- "TENANT_ID" VARCHAR(128) DEFAULT ''
- NULL,
- "TAG_ID" VARCHAR(128) NOT NULL,
- "APP_NAME" VARCHAR(128) NULL,
- "CONTENT" CLOB NOT NULL,
- "MD5" VARCHAR(32) NULL,
- "GMT_CREATE" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
- NOT NULL,
- "GMT_MODIFIED" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
- NOT NULL,
- "SRC_USER" TEXT NULL,
- "SRC_IP" VARCHAR(50) NULL
-);
-CREATE TABLE "NACOS"."CONFIG_TAGS_RELATION"
-(
- "ID" BIGINT NOT NULL,
- "TAG_NAME" VARCHAR(128) NOT NULL,
- "TAG_TYPE" VARCHAR(64) NULL,
- "DATA_ID" VARCHAR(255) NOT NULL,
- "GROUP_ID" VARCHAR(128) NOT NULL,
- "TENANT_ID" VARCHAR(128) DEFAULT ''
- NULL,
- "NID" BIGINT IDENTITY(1,1) NOT NULL
-);
-CREATE TABLE "NACOS"."GROUP_CAPACITY"
-(
- "ID" BIGINT IDENTITY(1,1) NOT NULL,
- "GROUP_ID" VARCHAR(128) DEFAULT ''
- NOT NULL,
- "QUOTA" BIGINT DEFAULT 0
- NOT NULL,
- "USAGE" BIGINT DEFAULT 0
- NOT NULL,
- "MAX_SIZE" BIGINT DEFAULT 0
- NOT NULL,
- "MAX_AGGR_COUNT" BIGINT DEFAULT 0
- NOT NULL,
- "MAX_AGGR_SIZE" BIGINT DEFAULT 0
- NOT NULL,
- "MAX_HISTORY_COUNT" BIGINT DEFAULT 0
- NOT NULL,
- "GMT_CREATE" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
- NOT NULL,
- "GMT_MODIFIED" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
- NOT NULL
-);
-CREATE TABLE "NACOS"."HIS_CONFIG_INFO"
-(
- "ID" DECIMAL(20,0) NOT NULL,
- "NID" BIGINT IDENTITY(1,1) NOT NULL,
- "DATA_ID" VARCHAR(255) NOT NULL,
- "GROUP_ID" VARCHAR(128) NOT NULL,
- "APP_NAME" VARCHAR(128) NULL,
- "CONTENT" CLOB NOT NULL,
- "MD5" VARCHAR(32) NULL,
- "GMT_CREATE" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
- NOT NULL,
- "GMT_MODIFIED" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
- NOT NULL,
- "SRC_USER" TEXT NULL,
- "SRC_IP" VARCHAR(50) NULL,
- "OP_TYPE" CHAR(10) NULL,
- "TENANT_ID" VARCHAR(128) DEFAULT ''
- NULL,
- "ENCRYPTED_DATA_KEY" TEXT NOT NULL
-);
-CREATE TABLE "NACOS"."PERMISSIONS"
-(
- "ROLE" VARCHAR(50) NOT NULL,
- "RESOURCE" VARCHAR(255) NOT NULL,
- "ACTION" VARCHAR(8) NOT NULL
-);
-CREATE TABLE "NACOS"."ROLES"
-(
- "USERNAME" VARCHAR(50) NOT NULL,
- "ROLE" VARCHAR(50) NOT NULL
-);
-CREATE TABLE "NACOS"."TENANT_CAPACITY"
-(
- "ID" BIGINT IDENTITY(1,1) NOT NULL,
- "TENANT_ID" VARCHAR(128) DEFAULT ''
- NOT NULL,
- "QUOTA" BIGINT DEFAULT 0
- NOT NULL,
- "USAGE" BIGINT DEFAULT 0
- NOT NULL,
- "MAX_SIZE" BIGINT DEFAULT 0
- NOT NULL,
- "MAX_AGGR_COUNT" BIGINT DEFAULT 0
- NOT NULL,
- "MAX_AGGR_SIZE" BIGINT DEFAULT 0
- NOT NULL,
- "MAX_HISTORY_COUNT" BIGINT DEFAULT 0
- NOT NULL,
- "GMT_CREATE" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
- NOT NULL,
- "GMT_MODIFIED" TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP()
- NOT NULL
-);
-CREATE TABLE "NACOS"."TENANT_INFO"
-(
- "ID" BIGINT IDENTITY(1,1) NOT NULL,
- "KP" VARCHAR(128) NOT NULL,
- "TENANT_ID" VARCHAR(128) DEFAULT ''
- NULL,
- "TENANT_NAME" VARCHAR(128) DEFAULT ''
- NULL,
- "TENANT_DESC" VARCHAR(256) NULL,
- "CREATE_SOURCE" VARCHAR(32) NULL,
- "GMT_CREATE" BIGINT NOT NULL,
- "GMT_MODIFIED" BIGINT NOT NULL
-);
-CREATE TABLE "NACOS"."USERS"
-(
- "USERNAME" VARCHAR(50) NOT NULL,
- "PASSWORD" VARCHAR(500) NOT NULL,
- "ENABLED" TINYINT NOT NULL
-);
-SET IDENTITY_INSERT "NACOS"."CONFIG_INFO" ON;
-INSERT INTO "NACOS"."CONFIG_INFO"("ID","DATA_ID","GROUP_ID","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","APP_NAME","TENANT_ID","C_DESC","C_USE","EFFECT","TYPE","C_SCHEMA","ENCRYPTED_DATA_KEY") VALUES(2,'jeecg-dev.yaml','DEFAULT_GROUP','spring:
- datasource:
- druid:
- stat-view-servlet:
- enabled: true
- loginUsername: admin
- loginPassword: 123456
- allow:
- web-stat-filter:
- enabled: true
- dynamic:
- druid: # 全局druid参数,绝大部分值和默认保持一致。(现已支持的参数如下,不清楚含义不要乱设置)
- # 连接池的配置信息
- # 初始化大小,最小,最大
- initial-size: 5
- min-idle: 5
- maxActive: 20
- # 配置获取连接等待超时的时间
- maxWait: 60000
- # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
- timeBetweenEvictionRunsMillis: 60000
- # 配置一个连接在池中最小生存的时间,单位是毫秒
- minEvictableIdleTimeMillis: 300000
- validationQuery: SELECT 1 FROM DUAL
- testWhileIdle: true
- testOnBorrow: false
- testOnReturn: false
- # 打开PSCache,并且指定每个连接上PSCache的大小
- poolPreparedStatements: true
- maxPoolPreparedStatementPerConnectionSize: 20
- # 配置监控统计拦截的filters,去掉后监控界面sql无法统计,''wall''用于防火墙
- filters: stat,wall,slf4j
- wall:
- selectWhereAlwayTrueCheck: false
- stat:
- merge-sql: true
- slow-sql-millis: 5000
-
- datasource:
- master:
- url: jdbc:mysql://jeecg-boot-mysql:3306/jeecgbootsy3_6?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
- username: root
- password: root
- driver-class-name: com.mysql.cj.jdbc.Driver
- # 多数据源配置
- #multi-datasource1:
- #url: jdbc:mysql://localhost:3306/jeecgboot2?useUnicode=true&characterEncoding=utf8&autoReconnect=true&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
- #username: root
- #password: root
- #driver-class-name: com.mysql.cj.jdbc.Driver
- #redis 配置
- redis:
- database: 0
- host: jeecg-boot-redis
- lettuce:
- pool:
- max-active: 8 #最大连接数据库连接数,设 0 为没有限制
- max-idle: 8 #最大等待连接中的数量,设 0 为没有限制
- max-wait: -1ms #最大建立连接等待时间。如果超过此时间将接到异常。设为-1表示无限制。
- min-idle: 0 #最小等待连接中的数量,设 0 为没有限制
- shutdown-timeout: 100ms
- password:
- port: 6379
- #mongodb
- data:
- mongodb:
- #有密码连接 账号密码包含特殊字符的需要用URLEncoder编码 库名必填
- #uri: mongodb://jeecgdev:jeecgd_89@111.225.222.176:27017/jeecgdev
- uri: mongodb://jeecg:123456@jeecg-boot-mongo:27017/jeecg?readPreference=secondaryPreferred&maxIdleTimeMS=60000&waitQueueTimeoutMS=2000&minPoolSize=5&maxPoolSize=100&maxLifeTimeMS=0&connectTimeoutMS=2000&socketTimeoutMS=2000
- #集群方式
- #uri: mongodb://192.168.0.221:27017,192.168.0.221:27018/imgdb
- print: true #是否打印查询语句
- slowQuery: true #是否记录慢查询到数据库中
- slowTime: 1000 #慢查询最短时间,默认为1000毫秒
- #rabbitmq配置
- rabbitmq:
- host: jeecg-boot-rabbitmq
- username: guest
- password: guest
- port: 5672
- publisher-confirms: true
- publisher-returns: true
- virtual-host: /
- listener:
- simple:
- acknowledge-mode: manual
- #消费者的最小数量
- concurrency: 1
- #消费者的最大数量
- max-concurrency: 1
- #是否支持重试
- retry:
- enabled: true
-#jeecg专用配置
-minidao:
- base-package: org.jeecg.modules.jmreport.*,org.jeecg.modules.drag.*
-jeecg:
- firewall:
- dataSourceSafe: false
- lowCodeMode: dev
- # 签名密钥串(前后端要一致,正式发布请自行修改)
- signatureSecret: dd05f1c54d63749eda95f9fa6d49v442a
- # 本地:local\Minio:minio\阿里云:alioss
- uploadType: local
- # 前端访问地址
- domainUrl:
- pc: http://localhost:3100
- app: http://localhost:8051
- path :
- #文件上传根目录 设置
- upload: /opt/upFiles
- #webapp文件路径
- webapp: /opt/webapp
- shiro:
- excludeUrls: /test/jeecgDemo/demo3,/test/jeecgDemo/redisDemo/**,/bigscreen/category/**,/bigscreen/visual/**,/bigscreen/map/**,/jmreport/bigscreen2/**
- #阿里云oss存储配置
- oss:
- endpoint: oss-cn-beijing.aliyuncs.com
- accessKey: ??
- secretKey: ??
- bucketName: jeecgdev
- staticDomain: ??
- # ElasticSearch 6设置
- elasticsearch:
- cluster-name: jeecg-ES
- cluster-nodes: 127.0.0.1:9200
- check-enabled: false
- # 表单设计器配置
- desform:
- # 主题颜色(仅支持 16进制颜色代码)
- theme-color: "#1890ff"
- # 文件、图片上传方式,可选项:qiniu(七牛云)、system(跟随系统配置)
- upload-type: system
- map:
- # 配置百度地图的AK,申请地址:https://lbs.baidu.com/apiconsole/key?application=key#/home
- baidu: ??
- # 在线预览文件服务器地址配置
- file-view-domain: 127.0.0.1:8012
- # minio文件上传
- minio:
- minio_url: http://minio.jeecg.com
- minio_name: ??
- minio_pass: ??
- bucketName: otatest
- #大屏报表参数设置
- jmreport:
- saasMode:
- firewall:
- dataSourceSafe: false
- lowCodeMode: dev
- ai-chat:
- enabled: false
- apiKey: "????"
- apiHost: "https://api.openai.com"
- timeout: 60
- #Wps在线文档
- wps:
- domain: https://wwo.wps.cn/office/
- appid: ??
- appsecret: ??
- #xxl-job配置
- xxljob:
- enabled: false
- adminAddresses: http://jeecg-boot-xxljob:9080/xxl-job-admin
- appname: ${spring.application.name}
- accessToken: ''''
- logPath: logs/jeecg/job/jobhandler/
- logRetentionDays: 30
- #分布式锁配置
- redisson:
- address: jeecg-boot-redis:6379
- password:
- type: STANDALONE
- enabled: true
-#Mybatis输出sql日志
-logging:
- level:
- org.jeecg.modules.system.mapper: info
-#cas单点登录
-cas:
- prefixUrl: http://localhost:8888/cas
-#swagger
-knife4j:
- enable: true
- #开启生产环境屏蔽
- production: false
- basic:
- enable: false
- username: jeecg
- password: jeecg1314
-
-#第三方登录
-justauth:
- enabled: true
- type:
- GITHUB:
- client-id: ??
- client-secret: ??
- redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/github/callback
- WECHAT_ENTERPRISE:
- client-id: ??
- client-secret: ??
- redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/wechat_enterprise/callback
- agent-id: 1000002
- DINGTALK:
- client-id: ??
- client-secret: ??
- redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/dingtalk/callback
- cache:
- type: default
- prefix: ''demo::''
- timeout: 1h
-#第三方APP对接
-third-app:
- enabled: false
- type:
- #企业微信
- WECHAT_ENTERPRISE:
- enabled: false
- #CORP_ID
- client-id: ??
- #SECRET
- client-secret: ??
- agent-id: ??
- #自建应用秘钥(新版企微需要配置)
- # agent-app-secret: ??
- #钉钉
- DINGTALK:
- enabled: false
- # appKey
- client-id: ??
- # appSecret
- client-secret: ??
- agent-id: ??','350e31a280673586f2203956da576136',TO_DATE('2024-07-09 14:30:06','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:30:06','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','','','',null,null,'yaml',null,'');
-INSERT INTO "NACOS"."CONFIG_INFO"("ID","DATA_ID","GROUP_ID","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","APP_NAME","TENANT_ID","C_DESC","C_USE","EFFECT","TYPE","C_SCHEMA","ENCRYPTED_DATA_KEY") VALUES(3,'jeecg.yaml','DEFAULT_GROUP','server:
- tomcat:
- max-swallow-size: -1
- error:
- include-exception: true
- include-stacktrace: ALWAYS
- include-message: ALWAYS
- compression:
- enabled: true
- min-response-size: 1024
- mime-types: application/javascript,application/json,application/xml,text/html,text/xml,text/plain,text/css,image/*
-management:
- health:
- mail:
- enabled: false
- endpoints:
- web:
- exposure:
- include: "*" #暴露所有节点
- health:
- sensitive: true #关闭过滤敏感信息
- endpoint:
- health:
- show-details: ALWAYS #显示详细信息
-flowable:
- # 自动部署验证设置:true-开启(默认)、false-关闭
- check-process-definitions: false
- #配置项可以设置流程引擎启动和关闭时数据库执行的策略
- database-schema-update: false
- #保存历史数据级别设置为full最高级别,便于历史数据的追溯
- history-level: full
- #开启定时任务
- async-executor-activate: true
-spring:
- servlet:
- multipart:
- max-file-size: 10MB
- max-request-size: 10MB
- mail:
- host: smtp.163.com
- username: jeecgos@163.com
- password: ??
- properties:
- mail:
- smtp:
- auth: true
- starttls:
- enable: true
- required: true
- ## quartz定时任务,采用数据库方式
- quartz:
- job-store-type: jdbc
- initialize-schema: embedded
- #设置自动启动,默认为 true
- auto-startup: false
- #延迟1秒启动定时任务
- startup-delay: 1s
- #启动时更新己存在的Job
- overwrite-existing-jobs: true
- properties:
- org:
- quartz:
- scheduler:
- instanceName: MyScheduler
- instanceId: AUTO
- jobStore:
- #class: org.quartz.impl.jdbcjobstore.JobStoreTX
- class: org.springframework.scheduling.quartz.LocalDataSourceJobStore
- driverDelegateClass: org.quartz.impl.jdbcjobstore.StdJDBCDelegate
- tablePrefix: QRTZ_
- isClustered: true
- misfireThreshold: 12000
- clusterCheckinInterval: 15000
- threadPool:
- class: org.quartz.simpl.SimpleThreadPool
- threadCount: 10
- threadPriority: 5
- threadsInheritContextClassLoaderOfInitializingThread: true
- #json 时间戳统一转换
- jackson:
- date-format: yyyy-MM-dd HH:mm:ss
- time-zone: GMT+8
- aop:
- proxy-target-class: true
- jpa:
- open-in-view: false
- #配置freemarker
- freemarker:
- # 设置模板后缀名
- suffix: .ftl
- # 设置文档类型
- content-type: text/html
- # 设置页面编码格式
- charset: UTF-8
- # 设置页面缓存
- cache: false
- prefer-file-system-access: false
- # 设置ftl文件路径
- template-loader-path:
- - classpath:/templates
- template_update_delay: 0
- # 设置静态文件路径,js,css等
- mvc:
- static-path-pattern: /**
- #Spring Boot 2.6+ 手动指定为ant-path-matcher
- pathmatch:
- matching-strategy: ant_path_matcher
- resource:
- static-locations: classpath:/static/,classpath:/public/
- autoconfigure:
- exclude:
- - com.alibaba.druid.spring.boot3.autoconfigure.DruidDataSourceAutoConfigure
- - org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration
-#mybatis plus 设置
-mybatis-plus:
- mapper-locations: classpath*:org/jeecg/**/xml/*Mapper.xml
- global-config:
- # 关闭MP3.0自带的banner
- banner: false
- db-config:
- #主键类型 0:"数据库ID自增",1:"该类型为未设置主键类型", 2:"用户输入ID",3:"全局唯一ID (数字类型唯一ID)", 4:"全局唯一ID UUID",5:"字符串全局唯一ID (idWorker 的字符串表示)";
- id-type: ASSIGN_ID
- # 默认数据库表下划线命名
- table-underline: true
- configuration:
- # 这个配置会将执行的sql打印出来,在开发或测试的时候可以用
- #log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
- # 返回类型为Map,显示null对应的字段
- call-setters-on-nulls: true','94755a848afefef22e34ff83668ec4f7',TO_DATE('2024-07-09 14:30:06','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:30:06','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','','','',null,null,'yaml',null,'');
-INSERT INTO "NACOS"."CONFIG_INFO"("ID","DATA_ID","GROUP_ID","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","APP_NAME","TENANT_ID","C_DESC","C_USE","EFFECT","TYPE","C_SCHEMA","ENCRYPTED_DATA_KEY") VALUES(4,'jeecg-gateway-router.json','DEFAULT_GROUP','[{
- "id": "jeecg-system",
- "order": 0,
- "predicates": [{
- "name": "Path",
- "args": {
- "_genkey_0": "/sys/**",
- "_genkey_1": "/eoa/**",
- "_genkey_2": "/joa/**",
- "_genkey_3": "/jmreport/**",
- "_genkey_4": "/bigscreen/**",
- "_genkey_5": "/desform/**",
- "_genkey_6": "/online/**",
- "_genkey_8": "/act/**",
- "_genkey_9": "/plug-in/**",
- "_genkey_10": "/generic/**",
- "_genkey_11": "/v1/**",
- "_genkey_12": "/desflow/**"
- }
- }],
- "filters": [],
- "uri": "lb://jeecg-system"
-}, {
- "id": "jeecg-demo",
- "order": 1,
- "predicates": [{
- "name": "Path",
- "args": {
- "_genkey_0": "/mock/**",
- "_genkey_1": "/test/**",
- "_genkey_2": "/bigscreen/template1/**",
- "_genkey_3": "/bigscreen/template2/**"
- }
- }],
- "filters": [],
- "uri": "lb://jeecg-demo"
-}, {
- "id": "jeecg-system-websocket",
- "order": 2,
- "predicates": [{
- "name": "Path",
- "args": {
- "_genkey_0": "/websocket/**",
- "_genkey_1": "/eoaSocket/**",
- "_genkey_2": "/newsWebsocket/**"
- }
- }],
- "filters": [],
- "uri": "lb:ws://jeecg-system"
-}, {
- "id": "jeecg-demo-websocket",
- "order": 3,
- "predicates": [{
- "name": "Path",
- "args": {
- "_genkey_0": "/vxeSocket/**"
- }
- }],
- "filters": [],
- "uri": "lb:ws://jeecg-demo"
-}]','c9eff51f264ebe266c07ad1c5b6778e2',TO_DATE('2024-07-09 14:30:07','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:30:07','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','','','',null,null,'json',null,'');
-INSERT INTO "NACOS"."CONFIG_INFO"("ID","DATA_ID","GROUP_ID","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","APP_NAME","TENANT_ID","C_DESC","C_USE","EFFECT","TYPE","C_SCHEMA","ENCRYPTED_DATA_KEY") VALUES(5,'jeecg-gateway-dev.yaml','DEFAULT_GROUP','jeecg:
- route:
- config:
- #路由加载模式: database、nacos、yml
- data-type: database
- #Nacos模式,读取配置文件jeecg-gateway-router.json(固定)
- group: DEFAULT_GROUP
- data-id: jeecg-gateway-router
-spring:
- #redis配置
- redis:
- database: 0
- host: jeecg-boot-redis
- port: 6379
- password:
-#swagger
-knife4j:
- #开启生产环境屏蔽
- production: false','8fea1277e460b477987521aecf432150',TO_DATE('2024-07-09 14:30:07','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:30:07','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','','','',null,null,'yaml',null,'');
-INSERT INTO "NACOS"."CONFIG_INFO"("ID","DATA_ID","GROUP_ID","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","APP_NAME","TENANT_ID","C_DESC","C_USE","EFFECT","TYPE","C_SCHEMA","ENCRYPTED_DATA_KEY") VALUES(6,'jeecg-sharding.yaml','DEFAULT_GROUP','spring:
- shardingsphere:
- datasource:
- names: ds0
- ds0:
- driverClassName: com.mysql.cj.jdbc.Driver
- url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
- username: root
- password: root
- type: com.alibaba.druid.pool.DruidDataSource
- props:
- sql-show: true
- rules:
- sharding:
- binding-tables: sys_log
- key-generators:
- snowflake:
- type: SNOWFLAKE
- props:
- worker-id: 123
- sharding-algorithms:
- table-classbased:
- props:
- strategy: standard
- algorithmClassName: org.jeecg.modules.test.sharding.algorithm.StandardModTableShardAlgorithm
- type: CLASS_BASED
- tables:
- sys_log:
- actual-data-nodes: ds0.sys_log$->{0..1}
- table-strategy:
- standard:
- sharding-algorithm-name: table-classbased
- sharding-column: log_type','5d7aad99a23e68589e93facd1b221aea',TO_DATE('2024-07-09 14:30:07','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:30:07','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','','',null,null,null,'yaml',null,'');
-INSERT INTO "NACOS"."CONFIG_INFO"("ID","DATA_ID","GROUP_ID","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","APP_NAME","TENANT_ID","C_DESC","C_USE","EFFECT","TYPE","C_SCHEMA","ENCRYPTED_DATA_KEY") VALUES(7,'jeecg-sharding-multi.yaml','DEFAULT_GROUP','spring:
- shardingsphere:
- datasource:
- names: ds0,ds1
- ds0:
- driverClassName: com.mysql.cj.jdbc.Driver
- url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
- type: com.alibaba.druid.pool.DruidDataSource
- username: root
- password: root
- ds1:
- driverClassName: com.mysql.cj.jdbc.Driver
- url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot2?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
- type: com.alibaba.druid.pool.DruidDataSource
- username: root
- password: root
- props:
- sql-show: true
- rules:
- replica-query:
- load-balancers:
- round-robin:
- type: ROUND_ROBIN
- props:
- default: 0
- data-sources:
- prds:
- primary-data-source-name: ds0
- replica-data-source-names: ds1
- load-balancer-name: round_robin
- sharding:
- binding-tables:
- - sys_log
- key-generators:
- snowflake:
- type: SNOWFLAKE
- props:
- worker-id: 123
- sharding-algorithms:
- table-classbased:
- props:
- strategy: standard
- algorithmClassName: org.jeecg.modules.test.sharding.algorithm.StandardModTableShardAlgorithm
- type: CLASS_BASED
- database-inline:
- type: INLINE
- props:
- algorithm-expression: ds$->{operate_type % 2}
- tables:
- sys_log:
- actual-data-nodes: ds$->{0..1}.sys_log$->{0..1}
- database-strategy:
- standard:
- sharding-column: operate_type
- sharding-algorithm-name: database-inline
- table-strategy:
- standard:
- sharding-algorithm-name: table-classbased
- sharding-column: log_type','ef2f42fb2dda43cd0d4397a820f3144e',TO_DATE('2024-07-09 14:30:07','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:30:07','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','','',null,null,null,'yaml',null,'');
-INSERT INTO "NACOS"."CONFIG_INFO"("ID","DATA_ID","GROUP_ID","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","APP_NAME","TENANT_ID","C_DESC","C_USE","EFFECT","TYPE","C_SCHEMA","ENCRYPTED_DATA_KEY") VALUES(14,'jeecg-dev.yaml','DEFAULT_GROUP','spring:
- datasource:
- druid:
- stat-view-servlet:
- enabled: true
- loginUsername: admin
- loginPassword: 123456
- allow:
- web-stat-filter:
- enabled: true
- dynamic:
- druid:
- initial-size: 5
- min-idle: 5
- maxActive: 20
- maxWait: 60000
- timeBetweenEvictionRunsMillis: 60000
- minEvictableIdleTimeMillis: 300000
- validationQuery: SELECT 1 FROM DUAL
- testWhileIdle: true
- testOnBorrow: false
- testOnReturn: false
- poolPreparedStatements: true
- maxPoolPreparedStatementPerConnectionSize: 20
- filters: stat,wall,slf4j
- wall:
- selectWhereAlwayTrueCheck: false
- stat:
- merge-sql: true
- slow-sql-millis: 5000
- datasource:
- master:
- url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
- username: root
- password: root
- driver-class-name: com.mysql.cj.jdbc.Driver
- data:
- redis:
- database: 0
- host: jeecg-boot-redis
- password:
- port: 6379
- rabbitmq:
- host: jeecg-boot-rabbitmq
- username: guest
- password: guest
- port: 5672
- publisher-confirms: true
- publisher-returns: true
- virtual-host: /
- listener:
- simple:
- acknowledge-mode: manual
- concurrency: 1
- max-concurrency: 1
- retry:
- enabled: true
- flyway:
- enabled: false
- encoding: UTF-8
- locations: classpath:flyway/sql/mysql
- sql-migration-prefix: V
- sql-migration-separator: __
- placeholder-prefix: ''#(''
- placeholder-suffix: )
- sql-migration-suffixes: .sql
- validate-on-migrate: true
- baseline-on-migrate: true
- clean-disabled: true
-minidao:
- base-package: org.jeecg.modules.jmreport.*,org.jeecg.modules.drag.*
-jeecg:
- firewall:
- dataSourceSafe: false
- lowCodeMode: dev
- signatureSecret: dd05f1c54d63749eda95f9fa6d49v442a
- signUrls: /sys/dict/getDictItems/*,/sys/dict/loadDict/*,/sys/dict/loadDictOrderByValue/*,/sys/dict/loadDictItem/*,/sys/dict/loadTreeData,/sys/api/queryTableDictItemsByCode,/sys/api/queryFilterTableDictInfo,/sys/api/queryTableDictByKeys,/sys/api/translateDictFromTable,/sys/api/translateDictFromTableByKeys
- uploadType: local
- domainUrl:
- pc: http://localhost:3100
- app: http://localhost:8051
- path:
- upload: /opt/upFiles
- webapp: /opt/webapp
- shiro:
- excludeUrls: /test/jeecgDemo/demo3,/test/jeecgDemo/redisDemo/**,/category/**,/visual/**,/map/**,/jmreport/bigscreen2/**
- oss:
- endpoint: oss-cn-beijing.aliyuncs.com
- accessKey: ??
- secretKey: ??
- bucketName: jeecgdev
- staticDomain: ??
- elasticsearch:
- cluster-name: jeecg-ES
- cluster-nodes: jeecg-boot-es:9200
- check-enabled: false
- file-view-domain: 127.0.0.1:8012
- minio:
- minio_url: http://minio.jeecg.com
- minio_name: ??
- minio_pass: ??
- bucketName: otatest
- jmreport:
- saasMode:
- firewall:
- dataSourceSafe: false
- lowCodeMode: dev
- wps:
- domain: https://wwo.wps.cn/office/
- appid: ??
- appsecret: ??
- xxljob:
- enabled: false
- adminAddresses: http://jeecg-boot-xxljob:9080/xxl-job-admin
- appname: ${spring.application.name}
- accessToken: ''''
- logPath: logs/jeecg/job/jobhandler/
- logRetentionDays: 30
- redisson:
- address: jeecg-boot-redis:6379
- password:
- type: STANDALONE
- enabled: true
- ai-chat:
- enabled: false
- apiKey: "????"
- apiHost: "https://api.openai.com"
- timeout: 60
-logging:
- level:
- org.jeecg.modules.system.mapper : info
-cas:
- prefixUrl: http://localhost:8888/cas
-knife4j:
- production: false
- basic:
- enable: false
- username: jeecg
- password: jeecg1314
-justauth:
- enabled: true
- type:
- GITHUB:
- client-id: ??
- client-secret: ??
- redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/github/callback
- WECHAT_ENTERPRISE:
- client-id: ??
- client-secret: ??
- redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/wechat_enterprise/callback
- agent-id: ??
- DINGTALK:
- client-id: ??
- client-secret: ??
- redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/dingtalk/callback
- cache:
- type: default
- prefix: ''demo::''
- timeout: 1h
-third-app:
- enabled: false
- type:
- WECHAT_ENTERPRISE:
- enabled: false
- client-id: ??
- client-secret: ??
- agent-id: ??
- DINGTALK:
- enabled: false
- client-id: ??
- client-secret: ??
- agent-id: ??','91c29720dfb424916a769201a25200cf',TO_DATE('2024-07-09 14:34:33','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:34:33','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','','springboot3','',null,null,'yaml',null,'');
-INSERT INTO "NACOS"."CONFIG_INFO"("ID","DATA_ID","GROUP_ID","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","APP_NAME","TENANT_ID","C_DESC","C_USE","EFFECT","TYPE","C_SCHEMA","ENCRYPTED_DATA_KEY") VALUES(15,'jeecg.yaml','DEFAULT_GROUP','server:
- undertow:
- # max-http-post-size: 10MB
- worker-threads: 16
- buffers:
- websocket: 8192
- io: 16384
- error:
- include-exception: true
- include-stacktrace: ALWAYS
- include-message: ALWAYS
- compression:
- enabled: true
- min-response-size: 1024
- mime-types: application/javascript,application/json,application/xml,text/html,text/xml,text/plain,text/css,image/*
-management:
- health:
- mail:
- enabled: false
- endpoints:
- web:
- exposure:
- include: "*"
- health:
- sensitive: true
- endpoint:
- health:
- show-details: ALWAYS
-spring:
- servlet:
- multipart:
- max-file-size: 10MB
- max-request-size: 10MB
- mail:
- host: smtp.163.com
- username: jeecgos@163.com
- password: ??
- properties:
- mail:
- smtp:
- auth: true
- starttls:
- enable: true
- required: true
- quartz:
- job-store-type: jdbc
- initialize-schema: embedded
- auto-startup: false
- startup-delay: 1s
- overwrite-existing-jobs: true
- properties:
- org:
- quartz:
- scheduler:
- instanceName: MyScheduler
- instanceId: AUTO
- jobStore:
- class: org.springframework.scheduling.quartz.LocalDataSourceJobStore
- driverDelegateClass: org.quartz.impl.jdbcjobstore.StdJDBCDelegate
- tablePrefix: QRTZ_
- isClustered: true
- misfireThreshold: 12000
- clusterCheckinInterval: 15000
- threadPool:
- class: org.quartz.simpl.SimpleThreadPool
- threadCount: 10
- threadPriority: 5
- threadsInheritContextClassLoaderOfInitializingThread: true
- jackson:
- date-format: yyyy-MM-dd HH:mm:ss
- time-zone: GMT+8
- aop:
- proxy-target-class: true
- activiti:
- check-process-definitions: false
- async-executor-activate: false
- job-executor-activate: false
- jpa:
- open-in-view: false
- freemarker:
- suffix: .ftl
- content-type: text/html
- charset: UTF-8
- cache: false
- prefer-file-system-access: false
- template-loader-path:
- - classpath:/templates
- mvc:
- static-path-pattern: /**
- pathmatch:
- matching-strategy: ant_path_matcher
- resource:
- static-locations: classpath:/static/,classpath:/public/
- autoconfigure:
- exclude:
- - com.alibaba.druid.spring.boot3.autoconfigure.DruidDataSourceAutoConfigure
- - org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration
-mybatis-plus:
- mapper-locations: classpath*:org/jeecg/**/xml/*Mapper.xml
- global-config:
- banner: false
- db-config:
- id-type: ASSIGN_ID
- table-underline: true
- configuration:
- call-setters-on-nulls: true','ce1ca3b6f8431e884aed94ab29be43a9',TO_DATE('2024-07-09 14:34:33','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:34:33','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','','springboot3','',null,null,'yaml',null,'');
-INSERT INTO "NACOS"."CONFIG_INFO"("ID","DATA_ID","GROUP_ID","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","APP_NAME","TENANT_ID","C_DESC","C_USE","EFFECT","TYPE","C_SCHEMA","ENCRYPTED_DATA_KEY") VALUES(16,'jeecg-gateway-router.json','DEFAULT_GROUP','[{
- "id": "jeecg-system",
- "order": 0,
- "predicates": [{
- "name": "Path",
- "args": {
- "_genkey_0": "/sys/**",
- "_genkey_1": "/jmreport/**",
- "_genkey_3": "/online/**",
- "_genkey_4": "/generic/**",
- "_genkey_5": "/oauth2/**",
- "_genkey_6": "/drag/**",
- "_genkey_7": "/actuator/**"
- }
- }],
- "filters": [],
- "uri": "lb://jeecg-system"
-}, {
- "id": "jeecg-demo",
- "order": 1,
- "predicates": [{
- "name": "Path",
- "args": {
- "_genkey_0": "/mock/**",
- "_genkey_1": "/test/**",
- "_genkey_2": "/bigscreen/template1/**",
- "_genkey_3": "/bigscreen/template2/**"
- }
- }],
- "filters": [],
- "uri": "lb://jeecg-demo"
-}, {
- "id": "jeecg-system-websocket",
- "order": 2,
- "predicates": [{
- "name": "Path",
- "args": {
- "_genkey_0": "/websocket/**",
- "_genkey_1": "/newsWebsocket/**"
- }
- }],
- "filters": [],
- "uri": "lb:ws://jeecg-system"
-}, {
- "id": "jeecg-demo-websocket",
- "order": 3,
- "predicates": [{
- "name": "Path",
- "args": {
- "_genkey_0": "/vxeSocket/**"
- }
- }],
- "filters": [],
- "uri": "lb:ws://jeecg-demo"
-}]','9794beb09d30bc6b835f2ee870781587',TO_DATE('2024-07-09 14:34:33','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:34:33','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','','springboot3','',null,null,'json',null,'');
-INSERT INTO "NACOS"."CONFIG_INFO"("ID","DATA_ID","GROUP_ID","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","APP_NAME","TENANT_ID","C_DESC","C_USE","EFFECT","TYPE","C_SCHEMA","ENCRYPTED_DATA_KEY") VALUES(17,'jeecg-sharding.yaml','DEFAULT_GROUP','spring:
- shardingsphere:
- datasource:
- names: ds0
- ds0:
- driverClassName: com.mysql.cj.jdbc.Driver
- url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
- username: root
- password: root
- type: com.alibaba.druid.pool.DruidDataSource
- props:
- sql-show: true
- rules:
- sharding:
- binding-tables: sys_log
- key-generators:
- snowflake:
- type: SNOWFLAKE
- props:
- worker-id: 123
- sharding-algorithms:
- table-classbased:
- props:
- strategy: standard
- algorithmClassName: org.jeecg.modules.test.sharding.algorithm.StandardModTableShardAlgorithm
- type: CLASS_BASED
- tables:
- sys_log:
- actual-data-nodes: ds0.sys_log$->{0..1}
- table-strategy:
- standard:
- sharding-algorithm-name: table-classbased
- sharding-column: log_type','a93fa455c32cd37ca84631d2bbe13005',TO_DATE('2024-07-09 14:34:33','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:34:33','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','','springboot3','',null,null,'yaml',null,'');
-INSERT INTO "NACOS"."CONFIG_INFO"("ID","DATA_ID","GROUP_ID","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","APP_NAME","TENANT_ID","C_DESC","C_USE","EFFECT","TYPE","C_SCHEMA","ENCRYPTED_DATA_KEY") VALUES(18,'jeecg-gateway-dev.yaml','DEFAULT_GROUP','jeecg:
- route:
- config:
- #type:database nacos yml
- data-type: database
- data-id: jeecg-gateway-router
-spring:
- data:
- redis:
- database: 0
- host: jeecg-boot-redis
- port: 6379
- password:
-knife4j:
- production: false','19d7cd93eeb85a582c8a6942d499c7f7',TO_DATE('2024-07-09 14:34:33','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:34:33','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','','springboot3','',null,null,'yaml',null,'');
-INSERT INTO "NACOS"."CONFIG_INFO"("ID","DATA_ID","GROUP_ID","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","APP_NAME","TENANT_ID","C_DESC","C_USE","EFFECT","TYPE","C_SCHEMA","ENCRYPTED_DATA_KEY") VALUES(19,'jeecg-sharding-multi.yaml','DEFAULT_GROUP','spring:
- shardingsphere:
- datasource:
- names: ds0,ds1
- ds0:
- driverClassName: com.mysql.cj.jdbc.Driver
- url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
- type: com.alibaba.druid.pool.DruidDataSource
- username: root
- password: root
- ds1:
- driverClassName: com.mysql.cj.jdbc.Driver
- url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot2?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
- type: com.alibaba.druid.pool.DruidDataSource
- username: root
- password: root
- props:
- sql-show: true
- rules:
- replica-query:
- load-balancers:
- round-robin:
- type: ROUND_ROBIN
- props:
- default: 0
- data-sources:
- prds:
- primary-data-source-name: ds0
- replica-data-source-names: ds1
- load-balancer-name: round_robin
- sharding:
- binding-tables:
- - sys_log
- key-generators:
- snowflake:
- type: SNOWFLAKE
- props:
- worker-id: 123
- sharding-algorithms:
- table-classbased:
- props:
- strategy: standard
- algorithmClassName: org.jeecg.modules.test.sharding.algorithm.StandardModTableShardAlgorithm
- type: CLASS_BASED
- database-inline:
- type: INLINE
- props:
- algorithm-expression: ds$->{operate_type % 2}
- tables:
- sys_log:
- actual-data-nodes: ds$->{0..1}.sys_log$->{0..1}
- database-strategy:
- standard:
- sharding-column: operate_type
- sharding-algorithm-name: database-inline
- table-strategy:
- standard:
- sharding-algorithm-name: table-classbased
- sharding-column: log_type','0fc2b030ca8c0008f148c84ecbd2a8c7',TO_DATE('2024-07-09 14:34:33','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:34:33','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','','springboot3','',null,null,'yaml',null,'');
-
-SET IDENTITY_INSERT "NACOS"."CONFIG_INFO" OFF;
-SET IDENTITY_INSERT "NACOS"."CONFIG_INFO_AGGR" ON;
-SET IDENTITY_INSERT "NACOS"."CONFIG_INFO_AGGR" OFF;
-SET IDENTITY_INSERT "NACOS"."CONFIG_INFO_BETA" ON;
-SET IDENTITY_INSERT "NACOS"."CONFIG_INFO_BETA" OFF;
-SET IDENTITY_INSERT "NACOS"."CONFIG_INFO_TAG" ON;
-SET IDENTITY_INSERT "NACOS"."CONFIG_INFO_TAG" OFF;
-SET IDENTITY_INSERT "NACOS"."CONFIG_TAGS_RELATION" ON;
-SET IDENTITY_INSERT "NACOS"."CONFIG_TAGS_RELATION" OFF;
-SET IDENTITY_INSERT "NACOS"."GROUP_CAPACITY" ON;
-SET IDENTITY_INSERT "NACOS"."GROUP_CAPACITY" OFF;
-SET IDENTITY_INSERT "NACOS"."HIS_CONFIG_INFO" ON;
-INSERT INTO "NACOS"."HIS_CONFIG_INFO"("ID","NID","DATA_ID","GROUP_ID","APP_NAME","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","OP_TYPE","TENANT_ID","ENCRYPTED_DATA_KEY") VALUES(0,1,'1','DEFAULT_GROUP','','1','c4ca4238a0b923820dcc509a6f75849b',TO_DATE('2024-07-09 14:24:05','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:24:06','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','I','','');
-INSERT INTO "NACOS"."HIS_CONFIG_INFO"("ID","NID","DATA_ID","GROUP_ID","APP_NAME","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","OP_TYPE","TENANT_ID","ENCRYPTED_DATA_KEY") VALUES(1,2,'1','DEFAULT_GROUP','','1','c4ca4238a0b923820dcc509a6f75849b',TO_DATE('2024-07-09 14:24:07','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:24:08','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','D','','');
-INSERT INTO "NACOS"."HIS_CONFIG_INFO"("ID","NID","DATA_ID","GROUP_ID","APP_NAME","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","OP_TYPE","TENANT_ID","ENCRYPTED_DATA_KEY") VALUES(0,3,'jeecg-dev.yaml','DEFAULT_GROUP','','spring:
- datasource:
- druid:
- stat-view-servlet:
- enabled: true
- loginUsername: admin
- loginPassword: 123456
- allow:
- web-stat-filter:
- enabled: true
- dynamic:
- druid: # 全局druid参数,绝大部分值和默认保持一致。(现已支持的参数如下,不清楚含义不要乱设置)
- # 连接池的配置信息
- # 初始化大小,最小,最大
- initial-size: 5
- min-idle: 5
- maxActive: 20
- # 配置获取连接等待超时的时间
- maxWait: 60000
- # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
- timeBetweenEvictionRunsMillis: 60000
- # 配置一个连接在池中最小生存的时间,单位是毫秒
- minEvictableIdleTimeMillis: 300000
- validationQuery: SELECT 1 FROM DUAL
- testWhileIdle: true
- testOnBorrow: false
- testOnReturn: false
- # 打开PSCache,并且指定每个连接上PSCache的大小
- poolPreparedStatements: true
- maxPoolPreparedStatementPerConnectionSize: 20
- # 配置监控统计拦截的filters,去掉后监控界面sql无法统计,''wall''用于防火墙
- filters: stat,wall,slf4j
- wall:
- selectWhereAlwayTrueCheck: false
- stat:
- merge-sql: true
- slow-sql-millis: 5000
-
- datasource:
- master:
- url: jdbc:mysql://jeecg-boot-mysql:3306/jeecgbootsy3_6?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
- username: root
- password: root
- driver-class-name: com.mysql.cj.jdbc.Driver
- # 多数据源配置
- #multi-datasource1:
- #url: jdbc:mysql://localhost:3306/jeecgboot2?useUnicode=true&characterEncoding=utf8&autoReconnect=true&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
- #username: root
- #password: root
- #driver-class-name: com.mysql.cj.jdbc.Driver
- #redis 配置
- redis:
- database: 0
- host: jeecg-boot-redis
- lettuce:
- pool:
- max-active: 8 #最大连接数据库连接数,设 0 为没有限制
- max-idle: 8 #最大等待连接中的数量,设 0 为没有限制
- max-wait: -1ms #最大建立连接等待时间。如果超过此时间将接到异常。设为-1表示无限制。
- min-idle: 0 #最小等待连接中的数量,设 0 为没有限制
- shutdown-timeout: 100ms
- password:
- port: 6379
- #mongodb
- data:
- mongodb:
- #有密码连接 账号密码包含特殊字符的需要用URLEncoder编码 库名必填
- #uri: mongodb://jeecgdev:jeecgd_89@111.225.222.176:27017/jeecgdev
- uri: mongodb://jeecg:123456@jeecg-boot-mongo:27017/jeecg?readPreference=secondaryPreferred&maxIdleTimeMS=60000&waitQueueTimeoutMS=2000&minPoolSize=5&maxPoolSize=100&maxLifeTimeMS=0&connectTimeoutMS=2000&socketTimeoutMS=2000
- #集群方式
- #uri: mongodb://192.168.0.221:27017,192.168.0.221:27018/imgdb
- print: true #是否打印查询语句
- slowQuery: true #是否记录慢查询到数据库中
- slowTime: 1000 #慢查询最短时间,默认为1000毫秒
- #rabbitmq配置
- rabbitmq:
- host: jeecg-boot-rabbitmq
- username: guest
- password: guest
- port: 5672
- publisher-confirms: true
- publisher-returns: true
- virtual-host: /
- listener:
- simple:
- acknowledge-mode: manual
- #消费者的最小数量
- concurrency: 1
- #消费者的最大数量
- max-concurrency: 1
- #是否支持重试
- retry:
- enabled: true
-#jeecg专用配置
-minidao:
- base-package: org.jeecg.modules.jmreport.*,org.jeecg.modules.drag.*
-jeecg:
- firewall:
- dataSourceSafe: false
- lowCodeMode: dev
- # 签名密钥串(前后端要一致,正式发布请自行修改)
- signatureSecret: dd05f1c54d63749eda95f9fa6d49v442a
- # 本地:local\Minio:minio\阿里云:alioss
- uploadType: local
- # 前端访问地址
- domainUrl:
- pc: http://localhost:3100
- app: http://localhost:8051
- path :
- #文件上传根目录 设置
- upload: /opt/upFiles
- #webapp文件路径
- webapp: /opt/webapp
- shiro:
- excludeUrls: /test/jeecgDemo/demo3,/test/jeecgDemo/redisDemo/**,/bigscreen/category/**,/bigscreen/visual/**,/bigscreen/map/**,/jmreport/bigscreen2/**
- #阿里云oss存储配置
- oss:
- endpoint: oss-cn-beijing.aliyuncs.com
- accessKey: ??
- secretKey: ??
- bucketName: jeecgdev
- staticDomain: ??
- # ElasticSearch 6设置
- elasticsearch:
- cluster-name: jeecg-ES
- cluster-nodes: 127.0.0.1:9200
- check-enabled: false
- # 表单设计器配置
- desform:
- # 主题颜色(仅支持 16进制颜色代码)
- theme-color: "#1890ff"
- # 文件、图片上传方式,可选项:qiniu(七牛云)、system(跟随系统配置)
- upload-type: system
- map:
- # 配置百度地图的AK,申请地址:https://lbs.baidu.com/apiconsole/key?application=key#/home
- baidu: ??
- # 在线预览文件服务器地址配置
- file-view-domain: 127.0.0.1:8012
- # minio文件上传
- minio:
- minio_url: http://minio.jeecg.com
- minio_name: ??
- minio_pass: ??
- bucketName: otatest
- #大屏报表参数设置
- jmreport:
- saasMode:
- firewall:
- dataSourceSafe: false
- lowCodeMode: dev
- ai-chat:
- enabled: false
- apiKey: "????"
- apiHost: "https://api.openai.com"
- timeout: 60
- #Wps在线文档
- wps:
- domain: https://wwo.wps.cn/office/
- appid: ??
- appsecret: ??
- #xxl-job配置
- xxljob:
- enabled: false
- adminAddresses: http://jeecg-boot-xxljob:9080/xxl-job-admin
- appname: ${spring.application.name}
- accessToken: ''''
- logPath: logs/jeecg/job/jobhandler/
- logRetentionDays: 30
- #分布式锁配置
- redisson:
- address: jeecg-boot-redis:6379
- password:
- type: STANDALONE
- enabled: true
-#Mybatis输出sql日志
-logging:
- level:
- org.jeecg.modules.system.mapper: info
-#cas单点登录
-cas:
- prefixUrl: http://localhost:8888/cas
-#swagger
-knife4j:
- enable: true
- #开启生产环境屏蔽
- production: false
- basic:
- enable: false
- username: jeecg
- password: jeecg1314
-
-#第三方登录
-justauth:
- enabled: true
- type:
- GITHUB:
- client-id: ??
- client-secret: ??
- redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/github/callback
- WECHAT_ENTERPRISE:
- client-id: ??
- client-secret: ??
- redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/wechat_enterprise/callback
- agent-id: 1000002
- DINGTALK:
- client-id: ??
- client-secret: ??
- redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/dingtalk/callback
- cache:
- type: default
- prefix: ''demo::''
- timeout: 1h
-#第三方APP对接
-third-app:
- enabled: false
- type:
- #企业微信
- WECHAT_ENTERPRISE:
- enabled: false
- #CORP_ID
- client-id: ??
- #SECRET
- client-secret: ??
- agent-id: ??
- #自建应用秘钥(新版企微需要配置)
- # agent-app-secret: ??
- #钉钉
- DINGTALK:
- enabled: false
- # appKey
- client-id: ??
- # appSecret
- client-secret: ??
- agent-id: ??','350e31a280673586f2203956da576136',TO_DATE('2024-07-09 14:30:05','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:30:06','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','I','','');
-INSERT INTO "NACOS"."HIS_CONFIG_INFO"("ID","NID","DATA_ID","GROUP_ID","APP_NAME","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","OP_TYPE","TENANT_ID","ENCRYPTED_DATA_KEY") VALUES(0,4,'jeecg.yaml','DEFAULT_GROUP','','server:
- tomcat:
- max-swallow-size: -1
- error:
- include-exception: true
- include-stacktrace: ALWAYS
- include-message: ALWAYS
- compression:
- enabled: true
- min-response-size: 1024
- mime-types: application/javascript,application/json,application/xml,text/html,text/xml,text/plain,text/css,image/*
-management:
- health:
- mail:
- enabled: false
- endpoints:
- web:
- exposure:
- include: "*" #暴露所有节点
- health:
- sensitive: true #关闭过滤敏感信息
- endpoint:
- health:
- show-details: ALWAYS #显示详细信息
-flowable:
- # 自动部署验证设置:true-开启(默认)、false-关闭
- check-process-definitions: false
- #配置项可以设置流程引擎启动和关闭时数据库执行的策略
- database-schema-update: false
- #保存历史数据级别设置为full最高级别,便于历史数据的追溯
- history-level: full
- #开启定时任务
- async-executor-activate: true
-spring:
- servlet:
- multipart:
- max-file-size: 10MB
- max-request-size: 10MB
- mail:
- host: smtp.163.com
- username: jeecgos@163.com
- password: ??
- properties:
- mail:
- smtp:
- auth: true
- starttls:
- enable: true
- required: true
- ## quartz定时任务,采用数据库方式
- quartz:
- job-store-type: jdbc
- initialize-schema: embedded
- #设置自动启动,默认为 true
- auto-startup: false
- #延迟1秒启动定时任务
- startup-delay: 1s
- #启动时更新己存在的Job
- overwrite-existing-jobs: true
- properties:
- org:
- quartz:
- scheduler:
- instanceName: MyScheduler
- instanceId: AUTO
- jobStore:
- #class: org.quartz.impl.jdbcjobstore.JobStoreTX
- class: org.springframework.scheduling.quartz.LocalDataSourceJobStore
- driverDelegateClass: org.quartz.impl.jdbcjobstore.StdJDBCDelegate
- tablePrefix: QRTZ_
- isClustered: true
- misfireThreshold: 12000
- clusterCheckinInterval: 15000
- threadPool:
- class: org.quartz.simpl.SimpleThreadPool
- threadCount: 10
- threadPriority: 5
- threadsInheritContextClassLoaderOfInitializingThread: true
- #json 时间戳统一转换
- jackson:
- date-format: yyyy-MM-dd HH:mm:ss
- time-zone: GMT+8
- aop:
- proxy-target-class: true
- jpa:
- open-in-view: false
- #配置freemarker
- freemarker:
- # 设置模板后缀名
- suffix: .ftl
- # 设置文档类型
- content-type: text/html
- # 设置页面编码格式
- charset: UTF-8
- # 设置页面缓存
- cache: false
- prefer-file-system-access: false
- # 设置ftl文件路径
- template-loader-path:
- - classpath:/templates
- template_update_delay: 0
- # 设置静态文件路径,js,css等
- mvc:
- static-path-pattern: /**
- #Spring Boot 2.6+ 手动指定为ant-path-matcher
- pathmatch:
- matching-strategy: ant_path_matcher
- resource:
- static-locations: classpath:/static/,classpath:/public/
- autoconfigure:
- exclude:
- - com.alibaba.druid.spring.boot3.autoconfigure.DruidDataSourceAutoConfigure
- - org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration
-#mybatis plus 设置
-mybatis-plus:
- mapper-locations: classpath*:org/jeecg/**/xml/*Mapper.xml
- global-config:
- # 关闭MP3.0自带的banner
- banner: false
- db-config:
- #主键类型 0:"数据库ID自增",1:"该类型为未设置主键类型", 2:"用户输入ID",3:"全局唯一ID (数字类型唯一ID)", 4:"全局唯一ID UUID",5:"字符串全局唯一ID (idWorker 的字符串表示)";
- id-type: ASSIGN_ID
- # 默认数据库表下划线命名
- table-underline: true
- configuration:
- # 这个配置会将执行的sql打印出来,在开发或测试的时候可以用
- #log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
- # 返回类型为Map,显示null对应的字段
- call-setters-on-nulls: true','94755a848afefef22e34ff83668ec4f7',TO_DATE('2024-07-09 14:30:05','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:30:07','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','I','','');
-INSERT INTO "NACOS"."HIS_CONFIG_INFO"("ID","NID","DATA_ID","GROUP_ID","APP_NAME","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","OP_TYPE","TENANT_ID","ENCRYPTED_DATA_KEY") VALUES(0,5,'jeecg-gateway-router.json','DEFAULT_GROUP','','[{
- "id": "jeecg-system",
- "order": 0,
- "predicates": [{
- "name": "Path",
- "args": {
- "_genkey_0": "/sys/**",
- "_genkey_1": "/eoa/**",
- "_genkey_2": "/joa/**",
- "_genkey_3": "/jmreport/**",
- "_genkey_4": "/bigscreen/**",
- "_genkey_5": "/desform/**",
- "_genkey_6": "/online/**",
- "_genkey_8": "/act/**",
- "_genkey_9": "/plug-in/**",
- "_genkey_10": "/generic/**",
- "_genkey_11": "/v1/**",
- "_genkey_12": "/desflow/**"
- }
- }],
- "filters": [],
- "uri": "lb://jeecg-system"
-}, {
- "id": "jeecg-demo",
- "order": 1,
- "predicates": [{
- "name": "Path",
- "args": {
- "_genkey_0": "/mock/**",
- "_genkey_1": "/test/**",
- "_genkey_2": "/bigscreen/template1/**",
- "_genkey_3": "/bigscreen/template2/**"
- }
- }],
- "filters": [],
- "uri": "lb://jeecg-demo"
-}, {
- "id": "jeecg-system-websocket",
- "order": 2,
- "predicates": [{
- "name": "Path",
- "args": {
- "_genkey_0": "/websocket/**",
- "_genkey_1": "/eoaSocket/**",
- "_genkey_2": "/newsWebsocket/**"
- }
- }],
- "filters": [],
- "uri": "lb:ws://jeecg-system"
-}, {
- "id": "jeecg-demo-websocket",
- "order": 3,
- "predicates": [{
- "name": "Path",
- "args": {
- "_genkey_0": "/vxeSocket/**"
- }
- }],
- "filters": [],
- "uri": "lb:ws://jeecg-demo"
-}]','c9eff51f264ebe266c07ad1c5b6778e2',TO_DATE('2024-07-09 14:30:05','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:30:07','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','I','','');
-INSERT INTO "NACOS"."HIS_CONFIG_INFO"("ID","NID","DATA_ID","GROUP_ID","APP_NAME","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","OP_TYPE","TENANT_ID","ENCRYPTED_DATA_KEY") VALUES(0,6,'jeecg-gateway-dev.yaml','DEFAULT_GROUP','','jeecg:
- route:
- config:
- #路由加载模式: database、nacos、yml
- data-type: database
- #Nacos模式,读取配置文件jeecg-gateway-router.json(固定)
- group: DEFAULT_GROUP
- data-id: jeecg-gateway-router
-spring:
- #redis配置
- redis:
- database: 0
- host: jeecg-boot-redis
- port: 6379
- password:
-#swagger
-knife4j:
- #开启生产环境屏蔽
- production: false','8fea1277e460b477987521aecf432150',TO_DATE('2024-07-09 14:30:05','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:30:07','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','I','','');
-INSERT INTO "NACOS"."HIS_CONFIG_INFO"("ID","NID","DATA_ID","GROUP_ID","APP_NAME","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","OP_TYPE","TENANT_ID","ENCRYPTED_DATA_KEY") VALUES(0,7,'jeecg-sharding.yaml','DEFAULT_GROUP','','spring:
- shardingsphere:
- datasource:
- names: ds0
- ds0:
- driverClassName: com.mysql.cj.jdbc.Driver
- url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
- username: root
- password: root
- type: com.alibaba.druid.pool.DruidDataSource
- props:
- sql-show: true
- rules:
- sharding:
- binding-tables: sys_log
- key-generators:
- snowflake:
- type: SNOWFLAKE
- props:
- worker-id: 123
- sharding-algorithms:
- table-classbased:
- props:
- strategy: standard
- algorithmClassName: org.jeecg.modules.test.sharding.algorithm.StandardModTableShardAlgorithm
- type: CLASS_BASED
- tables:
- sys_log:
- actual-data-nodes: ds0.sys_log$->{0..1}
- table-strategy:
- standard:
- sharding-algorithm-name: table-classbased
- sharding-column: log_type','5d7aad99a23e68589e93facd1b221aea',TO_DATE('2024-07-09 14:30:05','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:30:07','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','I','','');
-INSERT INTO "NACOS"."HIS_CONFIG_INFO"("ID","NID","DATA_ID","GROUP_ID","APP_NAME","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","OP_TYPE","TENANT_ID","ENCRYPTED_DATA_KEY") VALUES(0,8,'jeecg-sharding-multi.yaml','DEFAULT_GROUP','','spring:
- shardingsphere:
- datasource:
- names: ds0,ds1
- ds0:
- driverClassName: com.mysql.cj.jdbc.Driver
- url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
- type: com.alibaba.druid.pool.DruidDataSource
- username: root
- password: root
- ds1:
- driverClassName: com.mysql.cj.jdbc.Driver
- url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot2?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
- type: com.alibaba.druid.pool.DruidDataSource
- username: root
- password: root
- props:
- sql-show: true
- rules:
- replica-query:
- load-balancers:
- round-robin:
- type: ROUND_ROBIN
- props:
- default: 0
- data-sources:
- prds:
- primary-data-source-name: ds0
- replica-data-source-names: ds1
- load-balancer-name: round_robin
- sharding:
- binding-tables:
- - sys_log
- key-generators:
- snowflake:
- type: SNOWFLAKE
- props:
- worker-id: 123
- sharding-algorithms:
- table-classbased:
- props:
- strategy: standard
- algorithmClassName: org.jeecg.modules.test.sharding.algorithm.StandardModTableShardAlgorithm
- type: CLASS_BASED
- database-inline:
- type: INLINE
- props:
- algorithm-expression: ds$->{operate_type % 2}
- tables:
- sys_log:
- actual-data-nodes: ds$->{0..1}.sys_log$->{0..1}
- database-strategy:
- standard:
- sharding-column: operate_type
- sharding-algorithm-name: database-inline
- table-strategy:
- standard:
- sharding-algorithm-name: table-classbased
- sharding-column: log_type','ef2f42fb2dda43cd0d4397a820f3144e',TO_DATE('2024-07-09 14:30:05','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:30:07','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','I','','');
-INSERT INTO "NACOS"."HIS_CONFIG_INFO"("ID","NID","DATA_ID","GROUP_ID","APP_NAME","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","OP_TYPE","TENANT_ID","ENCRYPTED_DATA_KEY") VALUES(0,9,'jeecg-dev.yaml','DEFAULT_GROUP','','spring:
- datasource:
- druid:
- stat-view-servlet:
- enabled: true
- loginUsername: admin
- loginPassword: 123456
- allow:
- web-stat-filter:
- enabled: true
- dynamic:
- druid:
- initial-size: 5
- min-idle: 5
- maxActive: 20
- maxWait: 60000
- timeBetweenEvictionRunsMillis: 60000
- minEvictableIdleTimeMillis: 300000
- validationQuery: SELECT 1 FROM DUAL
- testWhileIdle: true
- testOnBorrow: false
- testOnReturn: false
- poolPreparedStatements: true
- maxPoolPreparedStatementPerConnectionSize: 20
- filters: stat,wall,slf4j
- wall:
- selectWhereAlwayTrueCheck: false
- stat:
- merge-sql: true
- slow-sql-millis: 5000
- datasource:
- master:
- url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
- username: root
- password: root
- driver-class-name: com.mysql.cj.jdbc.Driver
- redis:
- database: 0
- host: jeecg-boot-redis
- password:
- port: 6379
- rabbitmq:
- host: jeecg-boot-rabbitmq
- username: guest
- password: guest
- port: 5672
- publisher-confirms: true
- publisher-returns: true
- virtual-host: /
- listener:
- simple:
- acknowledge-mode: manual
- concurrency: 1
- max-concurrency: 1
- retry:
- enabled: true
- flyway:
- enabled: false
- encoding: UTF-8
- locations: classpath:flyway/sql/mysql
- sql-migration-prefix: V
- sql-migration-separator: __
- placeholder-prefix: ''#(''
- placeholder-suffix: )
- sql-migration-suffixes: .sql
- validate-on-migrate: true
- baseline-on-migrate: true
- clean-disabled: true
-minidao:
- base-package: org.jeecg.modules.jmreport.*,org.jeecg.modules.drag.*
-jeecg:
- firewall:
- dataSourceSafe: false
- lowCodeMode: dev
- signatureSecret: dd05f1c54d63749eda95f9fa6d49v442a
- signUrls: /sys/dict/getDictItems/*,/sys/dict/loadDict/*,/sys/dict/loadDictOrderByValue/*,/sys/dict/loadDictItem/*,/sys/dict/loadTreeData,/sys/api/queryTableDictItemsByCode,/sys/api/queryFilterTableDictInfo,/sys/api/queryTableDictByKeys,/sys/api/translateDictFromTable,/sys/api/translateDictFromTableByKeys,/sys/sendChangePwdSms,/sys/user/sendChangePhoneSms,/sys/sms,/desform/api/sendVerifyCode
- uploadType: local
- domainUrl:
- pc: http://localhost:3100
- app: http://localhost:8051
- path:
- upload: /opt/upFiles
- webapp: /opt/webapp
- shiro:
- excludeUrls: /test/jeecgDemo/demo3,/test/jeecgDemo/redisDemo/**,/category/**,/visual/**,/map/**,/jmreport/bigscreen2/**
- oss:
- endpoint: oss-cn-beijing.aliyuncs.com
- accessKey: ??
- secretKey: ??
- bucketName: jeecgdev
- staticDomain: ??
- elasticsearch:
- cluster-name: jeecg-ES
- cluster-nodes: jeecg-boot-es:9200
- check-enabled: false
- file-view-domain: 127.0.0.1:8012
- minio:
- minio_url: http://minio.jeecg.com
- minio_name: ??
- minio_pass: ??
- bucketName: otatest
- jmreport:
- saasMode:
- firewall:
- dataSourceSafe: false
- lowCodeMode: dev
- wps:
- domain: https://wwo.wps.cn/office/
- appid: ??
- appsecret: ??
- xxljob:
- enabled: true
- adminAddresses: http://jeecg-boot-xxljob:9080/xxl-job-admin
- appname: ${spring.application.name}
- accessToken: ''''
- logPath: logs/jeecg/job/jobhandler/
- logRetentionDays: 30
- redisson:
- address: jeecg-boot-redis:6379
- password:
- type: STANDALONE
- enabled: true
- ai-chat:
- enabled: false
- apiKey: "????"
- apiHost: "https://api.openai.com"
- timeout: 60
-logging:
- level:
- org.jeecg.modules.system.mapper : info
-cas:
- prefixUrl: http://localhost:8888/cas
-knife4j:
- production: false
- basic:
- enable: false
- username: jeecg
- password: jeecg1314
-justauth:
- enabled: true
- type:
- GITHUB:
- client-id: ??
- client-secret: ??
- redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/github/callback
- WECHAT_ENTERPRISE:
- client-id: ??
- client-secret: ??
- redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/wechat_enterprise/callback
- agent-id: ??
- DINGTALK:
- client-id: ??
- client-secret: ??
- redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/dingtalk/callback
- cache:
- type: default
- prefix: ''demo::''
- timeout: 1h
-third-app:
- enabled: false
- type:
- WECHAT_ENTERPRISE:
- enabled: false
- client-id: ??
- client-secret: ??
- agent-id: ??
- DINGTALK:
- enabled: false
- client-id: ??
- client-secret: ??
- agent-id: ??','822f70f7a278a503a02568186582ceaa',TO_DATE('2024-07-09 14:30:19','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:30:20','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','I','springboot3','');
-INSERT INTO "NACOS"."HIS_CONFIG_INFO"("ID","NID","DATA_ID","GROUP_ID","APP_NAME","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","OP_TYPE","TENANT_ID","ENCRYPTED_DATA_KEY") VALUES(0,10,'jeecg.yaml','DEFAULT_GROUP','','server:
- tomcat:
- max-swallow-size: -1
- error:
- include-exception: true
- include-stacktrace: ALWAYS
- include-message: ALWAYS
- compression:
- enabled: true
- min-response-size: 1024
- mime-types: application/javascript,application/json,application/xml,text/html,text/xml,text/plain,text/css,image/*
-management:
- health:
- mail:
- enabled: false
- endpoints:
- web:
- exposure:
- include: "*"
- health:
- sensitive: true
- endpoint:
- health:
- show-details: ALWAYS
-spring:
- servlet:
- multipart:
- max-file-size: 10MB
- max-request-size: 10MB
- mail:
- host: smtp.163.com
- username: jeecgos@163.com
- password: ??
- properties:
- mail:
- smtp:
- auth: true
- starttls:
- enable: true
- required: true
- quartz:
- job-store-type: jdbc
- initialize-schema: embedded
- auto-startup: false
- startup-delay: 1s
- overwrite-existing-jobs: true
- properties:
- org:
- quartz:
- scheduler:
- instanceName: MyScheduler
- instanceId: AUTO
- jobStore:
- class: org.springframework.scheduling.quartz.LocalDataSourceJobStore
- driverDelegateClass: org.quartz.impl.jdbcjobstore.StdJDBCDelegate
- tablePrefix: QRTZ_
- isClustered: true
- misfireThreshold: 12000
- clusterCheckinInterval: 15000
- threadPool:
- class: org.quartz.simpl.SimpleThreadPool
- threadCount: 10
- threadPriority: 5
- threadsInheritContextClassLoaderOfInitializingThread: true
- jackson:
- date-format: yyyy-MM-dd HH:mm:ss
- time-zone: GMT+8
- aop:
- proxy-target-class: true
- activiti:
- check-process-definitions: false
- async-executor-activate: false
- job-executor-activate: false
- jpa:
- open-in-view: false
- freemarker:
- suffix: .ftl
- content-type: text/html
- charset: UTF-8
- cache: false
- prefer-file-system-access: false
- template-loader-path:
- - classpath:/templates
- mvc:
- static-path-pattern: /**
- pathmatch:
- matching-strategy: ant_path_matcher
- resource:
- static-locations: classpath:/static/,classpath:/public/
- autoconfigure:
- exclude:
- - com.alibaba.druid.spring.boot3.autoconfigure.DruidDataSourceAutoConfigure
- - org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration
-mybatis-plus:
- mapper-locations: classpath*:org/jeecg/**/xml/*Mapper.xml
- global-config:
- banner: false
- db-config:
- id-type: ASSIGN_ID
- table-underline: true
- configuration:
- call-setters-on-nulls: true','94dbdad61f7e2e3ace5a4fc07bb8c2a2',TO_DATE('2024-07-09 14:30:19','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:30:20','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','I','springboot3','');
-INSERT INTO "NACOS"."HIS_CONFIG_INFO"("ID","NID","DATA_ID","GROUP_ID","APP_NAME","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","OP_TYPE","TENANT_ID","ENCRYPTED_DATA_KEY") VALUES(0,11,'jeecg-gateway-router.json','DEFAULT_GROUP','','[{
- "id": "jeecg-system",
- "order": 0,
- "predicates": [{
- "name": "Path",
- "args": {
- "_genkey_0": "/sys/**",
- "_genkey_1": "/jmreport/**",
- "_genkey_3": "/online/**",
- "_genkey_4": "/generic/**",
- "_genkey_5": "/drag/**",
- "_genkey_6": "/actuator/**"
- }
- }],
- "filters": [],
- "uri": "lb://jeecg-system"
-}, {
- "id": "jeecg-demo",
- "order": 1,
- "predicates": [{
- "name": "Path",
- "args": {
- "_genkey_0": "/mock/**",
- "_genkey_1": "/test/**",
- "_genkey_2": "/bigscreen/template1/**",
- "_genkey_3": "/bigscreen/template2/**"
- }
- }],
- "filters": [],
- "uri": "lb://jeecg-demo"
-}, {
- "id": "jeecg-system-websocket",
- "order": 2,
- "predicates": [{
- "name": "Path",
- "args": {
- "_genkey_0": "/websocket/**",
- "_genkey_1": "/newsWebsocket/**"
- }
- }],
- "filters": [],
- "uri": "lb:ws://jeecg-system"
-}, {
- "id": "jeecg-demo-websocket",
- "order": 3,
- "predicates": [{
- "name": "Path",
- "args": {
- "_genkey_0": "/vxeSocket/**"
- }
- }],
- "filters": [],
- "uri": "lb:ws://jeecg-demo"
-}]','708c0948118bdb96bdfaa87200a14432',TO_DATE('2024-07-09 14:30:19','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:30:20','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','I','springboot3','');
-INSERT INTO "NACOS"."HIS_CONFIG_INFO"("ID","NID","DATA_ID","GROUP_ID","APP_NAME","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","OP_TYPE","TENANT_ID","ENCRYPTED_DATA_KEY") VALUES(0,12,'jeecg-sharding.yaml','DEFAULT_GROUP','','spring:
- shardingsphere:
- datasource:
- names: ds0
- ds0:
- driverClassName: com.mysql.cj.jdbc.Driver
- url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
- username: root
- password: root
- type: com.alibaba.druid.pool.DruidDataSource
- props:
- sql-show: true
- rules:
- sharding:
- binding-tables: sys_log
- key-generators:
- snowflake:
- type: SNOWFLAKE
- props:
- worker-id: 123
- sharding-algorithms:
- table-classbased:
- props:
- strategy: standard
- algorithmClassName: org.jeecg.modules.test.sharding.algorithm.StandardModTableShardAlgorithm
- type: CLASS_BASED
- tables:
- sys_log:
- actual-data-nodes: ds0.sys_log$->{0..1}
- table-strategy:
- standard:
- sharding-algorithm-name: table-classbased
- sharding-column: log_type','a93fa455c32cd37ca84631d2bbe13005',TO_DATE('2024-07-09 14:30:19','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:30:20','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','I','springboot3','');
-INSERT INTO "NACOS"."HIS_CONFIG_INFO"("ID","NID","DATA_ID","GROUP_ID","APP_NAME","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","OP_TYPE","TENANT_ID","ENCRYPTED_DATA_KEY") VALUES(0,13,'jeecg-gateway-dev.yaml','DEFAULT_GROUP','','jeecg:
- route:
- config:
- #type:database nacos yml
- data-type: database
- data-id: jeecg-gateway-router
-spring:
- redis:
- database: 0
- host: jeecg-boot-redis
- port: 6379
- password:
-knife4j:
- production: false','98e211c54b43a73f7189d92f1c77f815',TO_DATE('2024-07-09 14:30:19','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:30:20','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','I','springboot3','');
-INSERT INTO "NACOS"."HIS_CONFIG_INFO"("ID","NID","DATA_ID","GROUP_ID","APP_NAME","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","OP_TYPE","TENANT_ID","ENCRYPTED_DATA_KEY") VALUES(0,14,'jeecg-sharding-multi.yaml','DEFAULT_GROUP','','spring:
- shardingsphere:
- datasource:
- names: ds0,ds1
- ds0:
- driverClassName: com.mysql.cj.jdbc.Driver
- url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
- type: com.alibaba.druid.pool.DruidDataSource
- username: root
- password: root
- ds1:
- driverClassName: com.mysql.cj.jdbc.Driver
- url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot2?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
- type: com.alibaba.druid.pool.DruidDataSource
- username: root
- password: root
- props:
- sql-show: true
- rules:
- replica-query:
- load-balancers:
- round-robin:
- type: ROUND_ROBIN
- props:
- default: 0
- data-sources:
- prds:
- primary-data-source-name: ds0
- replica-data-source-names: ds1
- load-balancer-name: round_robin
- sharding:
- binding-tables:
- - sys_log
- key-generators:
- snowflake:
- type: SNOWFLAKE
- props:
- worker-id: 123
- sharding-algorithms:
- table-classbased:
- props:
- strategy: standard
- algorithmClassName: org.jeecg.modules.test.sharding.algorithm.StandardModTableShardAlgorithm
- type: CLASS_BASED
- database-inline:
- type: INLINE
- props:
- algorithm-expression: ds$->{operate_type % 2}
- tables:
- sys_log:
- actual-data-nodes: ds$->{0..1}.sys_log$->{0..1}
- database-strategy:
- standard:
- sharding-column: operate_type
- sharding-algorithm-name: database-inline
- table-strategy:
- standard:
- sharding-algorithm-name: table-classbased
- sharding-column: log_type','0fc2b030ca8c0008f148c84ecbd2a8c7',TO_DATE('2024-07-09 14:30:19','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:30:20','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','I','springboot3','');
-INSERT INTO "NACOS"."HIS_CONFIG_INFO"("ID","NID","DATA_ID","GROUP_ID","APP_NAME","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","OP_TYPE","TENANT_ID","ENCRYPTED_DATA_KEY") VALUES(8,15,'jeecg-dev.yaml','DEFAULT_GROUP','','spring:
- datasource:
- druid:
- stat-view-servlet:
- enabled: true
- loginUsername: admin
- loginPassword: 123456
- allow:
- web-stat-filter:
- enabled: true
- dynamic:
- druid:
- initial-size: 5
- min-idle: 5
- maxActive: 20
- maxWait: 60000
- timeBetweenEvictionRunsMillis: 60000
- minEvictableIdleTimeMillis: 300000
- validationQuery: SELECT 1 FROM DUAL
- testWhileIdle: true
- testOnBorrow: false
- testOnReturn: false
- poolPreparedStatements: true
- maxPoolPreparedStatementPerConnectionSize: 20
- filters: stat,wall,slf4j
- wall:
- selectWhereAlwayTrueCheck: false
- stat:
- merge-sql: true
- slow-sql-millis: 5000
- datasource:
- master:
- url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
- username: root
- password: root
- driver-class-name: com.mysql.cj.jdbc.Driver
- redis:
- database: 0
- host: jeecg-boot-redis
- password:
- port: 6379
- rabbitmq:
- host: jeecg-boot-rabbitmq
- username: guest
- password: guest
- port: 5672
- publisher-confirms: true
- publisher-returns: true
- virtual-host: /
- listener:
- simple:
- acknowledge-mode: manual
- concurrency: 1
- max-concurrency: 1
- retry:
- enabled: true
- flyway:
- enabled: false
- encoding: UTF-8
- locations: classpath:flyway/sql/mysql
- sql-migration-prefix: V
- sql-migration-separator: __
- placeholder-prefix: ''#(''
- placeholder-suffix: )
- sql-migration-suffixes: .sql
- validate-on-migrate: true
- baseline-on-migrate: true
- clean-disabled: true
-minidao:
- base-package: org.jeecg.modules.jmreport.*,org.jeecg.modules.drag.*
-jeecg:
- firewall:
- dataSourceSafe: false
- lowCodeMode: dev
- signatureSecret: dd05f1c54d63749eda95f9fa6d49v442a
- signUrls: /sys/dict/getDictItems/*,/sys/dict/loadDict/*,/sys/dict/loadDictOrderByValue/*,/sys/dict/loadDictItem/*,/sys/dict/loadTreeData,/sys/api/queryTableDictItemsByCode,/sys/api/queryFilterTableDictInfo,/sys/api/queryTableDictByKeys,/sys/api/translateDictFromTable,/sys/api/translateDictFromTableByKeys,/sys/sendChangePwdSms,/sys/user/sendChangePhoneSms,/sys/sms,/desform/api/sendVerifyCode
- uploadType: local
- domainUrl:
- pc: http://localhost:3100
- app: http://localhost:8051
- path:
- upload: /opt/upFiles
- webapp: /opt/webapp
- shiro:
- excludeUrls: /test/jeecgDemo/demo3,/test/jeecgDemo/redisDemo/**,/category/**,/visual/**,/map/**,/jmreport/bigscreen2/**
- oss:
- endpoint: oss-cn-beijing.aliyuncs.com
- accessKey: ??
- secretKey: ??
- bucketName: jeecgdev
- staticDomain: ??
- elasticsearch:
- cluster-name: jeecg-ES
- cluster-nodes: jeecg-boot-es:9200
- check-enabled: false
- file-view-domain: 127.0.0.1:8012
- minio:
- minio_url: http://minio.jeecg.com
- minio_name: ??
- minio_pass: ??
- bucketName: otatest
- jmreport:
- saasMode:
- firewall:
- dataSourceSafe: false
- lowCodeMode: dev
- wps:
- domain: https://wwo.wps.cn/office/
- appid: ??
- appsecret: ??
- xxljob:
- enabled: true
- adminAddresses: http://jeecg-boot-xxljob:9080/xxl-job-admin
- appname: ${spring.application.name}
- accessToken: ''''
- logPath: logs/jeecg/job/jobhandler/
- logRetentionDays: 30
- redisson:
- address: jeecg-boot-redis:6379
- password:
- type: STANDALONE
- enabled: true
- ai-chat:
- enabled: false
- apiKey: "????"
- apiHost: "https://api.openai.com"
- timeout: 60
-logging:
- level:
- org.jeecg.modules.system.mapper : info
-cas:
- prefixUrl: http://localhost:8888/cas
-knife4j:
- production: false
- basic:
- enable: false
- username: jeecg
- password: jeecg1314
-justauth:
- enabled: true
- type:
- GITHUB:
- client-id: ??
- client-secret: ??
- redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/github/callback
- WECHAT_ENTERPRISE:
- client-id: ??
- client-secret: ??
- redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/wechat_enterprise/callback
- agent-id: ??
- DINGTALK:
- client-id: ??
- client-secret: ??
- redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/dingtalk/callback
- cache:
- type: default
- prefix: ''demo::''
- timeout: 1h
-third-app:
- enabled: false
- type:
- WECHAT_ENTERPRISE:
- enabled: false
- client-id: ??
- client-secret: ??
- agent-id: ??
- DINGTALK:
- enabled: false
- client-id: ??
- client-secret: ??
- agent-id: ??','822f70f7a278a503a02568186582ceaa',TO_DATE('2024-07-09 14:34:25','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:34:27','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','D','springboot3','');
-INSERT INTO "NACOS"."HIS_CONFIG_INFO"("ID","NID","DATA_ID","GROUP_ID","APP_NAME","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","OP_TYPE","TENANT_ID","ENCRYPTED_DATA_KEY") VALUES(9,16,'jeecg.yaml','DEFAULT_GROUP','','server:
- tomcat:
- max-swallow-size: -1
- error:
- include-exception: true
- include-stacktrace: ALWAYS
- include-message: ALWAYS
- compression:
- enabled: true
- min-response-size: 1024
- mime-types: application/javascript,application/json,application/xml,text/html,text/xml,text/plain,text/css,image/*
-management:
- health:
- mail:
- enabled: false
- endpoints:
- web:
- exposure:
- include: "*"
- health:
- sensitive: true
- endpoint:
- health:
- show-details: ALWAYS
-spring:
- servlet:
- multipart:
- max-file-size: 10MB
- max-request-size: 10MB
- mail:
- host: smtp.163.com
- username: jeecgos@163.com
- password: ??
- properties:
- mail:
- smtp:
- auth: true
- starttls:
- enable: true
- required: true
- quartz:
- job-store-type: jdbc
- initialize-schema: embedded
- auto-startup: false
- startup-delay: 1s
- overwrite-existing-jobs: true
- properties:
- org:
- quartz:
- scheduler:
- instanceName: MyScheduler
- instanceId: AUTO
- jobStore:
- class: org.springframework.scheduling.quartz.LocalDataSourceJobStore
- driverDelegateClass: org.quartz.impl.jdbcjobstore.StdJDBCDelegate
- tablePrefix: QRTZ_
- isClustered: true
- misfireThreshold: 12000
- clusterCheckinInterval: 15000
- threadPool:
- class: org.quartz.simpl.SimpleThreadPool
- threadCount: 10
- threadPriority: 5
- threadsInheritContextClassLoaderOfInitializingThread: true
- jackson:
- date-format: yyyy-MM-dd HH:mm:ss
- time-zone: GMT+8
- aop:
- proxy-target-class: true
- activiti:
- check-process-definitions: false
- async-executor-activate: false
- job-executor-activate: false
- jpa:
- open-in-view: false
- freemarker:
- suffix: .ftl
- content-type: text/html
- charset: UTF-8
- cache: false
- prefer-file-system-access: false
- template-loader-path:
- - classpath:/templates
- mvc:
- static-path-pattern: /**
- pathmatch:
- matching-strategy: ant_path_matcher
- resource:
- static-locations: classpath:/static/,classpath:/public/
- autoconfigure:
- exclude:
- - com.alibaba.druid.spring.boot3.autoconfigure.DruidDataSourceAutoConfigure
- - org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration
-mybatis-plus:
- mapper-locations: classpath*:org/jeecg/**/xml/*Mapper.xml
- global-config:
- banner: false
- db-config:
- id-type: ASSIGN_ID
- table-underline: true
- configuration:
- call-setters-on-nulls: true','94dbdad61f7e2e3ace5a4fc07bb8c2a2',TO_DATE('2024-07-09 14:34:25','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:34:27','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','D','springboot3','');
-INSERT INTO "NACOS"."HIS_CONFIG_INFO"("ID","NID","DATA_ID","GROUP_ID","APP_NAME","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","OP_TYPE","TENANT_ID","ENCRYPTED_DATA_KEY") VALUES(10,17,'jeecg-gateway-router.json','DEFAULT_GROUP','','[{
- "id": "jeecg-system",
- "order": 0,
- "predicates": [{
- "name": "Path",
- "args": {
- "_genkey_0": "/sys/**",
- "_genkey_1": "/jmreport/**",
- "_genkey_3": "/online/**",
- "_genkey_4": "/generic/**",
- "_genkey_5": "/drag/**",
- "_genkey_6": "/actuator/**"
- }
- }],
- "filters": [],
- "uri": "lb://jeecg-system"
-}, {
- "id": "jeecg-demo",
- "order": 1,
- "predicates": [{
- "name": "Path",
- "args": {
- "_genkey_0": "/mock/**",
- "_genkey_1": "/test/**",
- "_genkey_2": "/bigscreen/template1/**",
- "_genkey_3": "/bigscreen/template2/**"
- }
- }],
- "filters": [],
- "uri": "lb://jeecg-demo"
-}, {
- "id": "jeecg-system-websocket",
- "order": 2,
- "predicates": [{
- "name": "Path",
- "args": {
- "_genkey_0": "/websocket/**",
- "_genkey_1": "/newsWebsocket/**"
- }
- }],
- "filters": [],
- "uri": "lb:ws://jeecg-system"
-}, {
- "id": "jeecg-demo-websocket",
- "order": 3,
- "predicates": [{
- "name": "Path",
- "args": {
- "_genkey_0": "/vxeSocket/**"
- }
- }],
- "filters": [],
- "uri": "lb:ws://jeecg-demo"
-}]','708c0948118bdb96bdfaa87200a14432',TO_DATE('2024-07-09 14:34:25','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:34:27','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','D','springboot3','');
-INSERT INTO "NACOS"."HIS_CONFIG_INFO"("ID","NID","DATA_ID","GROUP_ID","APP_NAME","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","OP_TYPE","TENANT_ID","ENCRYPTED_DATA_KEY") VALUES(11,18,'jeecg-sharding.yaml','DEFAULT_GROUP','','spring:
- shardingsphere:
- datasource:
- names: ds0
- ds0:
- driverClassName: com.mysql.cj.jdbc.Driver
- url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
- username: root
- password: root
- type: com.alibaba.druid.pool.DruidDataSource
- props:
- sql-show: true
- rules:
- sharding:
- binding-tables: sys_log
- key-generators:
- snowflake:
- type: SNOWFLAKE
- props:
- worker-id: 123
- sharding-algorithms:
- table-classbased:
- props:
- strategy: standard
- algorithmClassName: org.jeecg.modules.test.sharding.algorithm.StandardModTableShardAlgorithm
- type: CLASS_BASED
- tables:
- sys_log:
- actual-data-nodes: ds0.sys_log$->{0..1}
- table-strategy:
- standard:
- sharding-algorithm-name: table-classbased
- sharding-column: log_type','a93fa455c32cd37ca84631d2bbe13005',TO_DATE('2024-07-09 14:34:25','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:34:27','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','D','springboot3','');
-INSERT INTO "NACOS"."HIS_CONFIG_INFO"("ID","NID","DATA_ID","GROUP_ID","APP_NAME","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","OP_TYPE","TENANT_ID","ENCRYPTED_DATA_KEY") VALUES(12,19,'jeecg-gateway-dev.yaml','DEFAULT_GROUP','','jeecg:
- route:
- config:
- #type:database nacos yml
- data-type: database
- data-id: jeecg-gateway-router
-spring:
- redis:
- database: 0
- host: jeecg-boot-redis
- port: 6379
- password:
-knife4j:
- production: false','98e211c54b43a73f7189d92f1c77f815',TO_DATE('2024-07-09 14:34:25','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:34:27','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','D','springboot3','');
-INSERT INTO "NACOS"."HIS_CONFIG_INFO"("ID","NID","DATA_ID","GROUP_ID","APP_NAME","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","OP_TYPE","TENANT_ID","ENCRYPTED_DATA_KEY") VALUES(13,20,'jeecg-sharding-multi.yaml','DEFAULT_GROUP','','spring:
- shardingsphere:
- datasource:
- names: ds0,ds1
- ds0:
- driverClassName: com.mysql.cj.jdbc.Driver
- url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
- type: com.alibaba.druid.pool.DruidDataSource
- username: root
- password: root
- ds1:
- driverClassName: com.mysql.cj.jdbc.Driver
- url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot2?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
- type: com.alibaba.druid.pool.DruidDataSource
- username: root
- password: root
- props:
- sql-show: true
- rules:
- replica-query:
- load-balancers:
- round-robin:
- type: ROUND_ROBIN
- props:
- default: 0
- data-sources:
- prds:
- primary-data-source-name: ds0
- replica-data-source-names: ds1
- load-balancer-name: round_robin
- sharding:
- binding-tables:
- - sys_log
- key-generators:
- snowflake:
- type: SNOWFLAKE
- props:
- worker-id: 123
- sharding-algorithms:
- table-classbased:
- props:
- strategy: standard
- algorithmClassName: org.jeecg.modules.test.sharding.algorithm.StandardModTableShardAlgorithm
- type: CLASS_BASED
- database-inline:
- type: INLINE
- props:
- algorithm-expression: ds$->{operate_type % 2}
- tables:
- sys_log:
- actual-data-nodes: ds$->{0..1}.sys_log$->{0..1}
- database-strategy:
- standard:
- sharding-column: operate_type
- sharding-algorithm-name: database-inline
- table-strategy:
- standard:
- sharding-algorithm-name: table-classbased
- sharding-column: log_type','0fc2b030ca8c0008f148c84ecbd2a8c7',TO_DATE('2024-07-09 14:34:25','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:34:27','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','D','springboot3','');
-INSERT INTO "NACOS"."HIS_CONFIG_INFO"("ID","NID","DATA_ID","GROUP_ID","APP_NAME","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","OP_TYPE","TENANT_ID","ENCRYPTED_DATA_KEY") VALUES(0,21,'jeecg-dev.yaml','DEFAULT_GROUP','','spring:
- datasource:
- druid:
- stat-view-servlet:
- enabled: true
- loginUsername: admin
- loginPassword: 123456
- allow:
- web-stat-filter:
- enabled: true
- dynamic:
- druid:
- initial-size: 5
- min-idle: 5
- maxActive: 20
- maxWait: 60000
- timeBetweenEvictionRunsMillis: 60000
- minEvictableIdleTimeMillis: 300000
- validationQuery: SELECT 1 FROM DUAL
- testWhileIdle: true
- testOnBorrow: false
- testOnReturn: false
- poolPreparedStatements: true
- maxPoolPreparedStatementPerConnectionSize: 20
- filters: stat,wall,slf4j
- wall:
- selectWhereAlwayTrueCheck: false
- stat:
- merge-sql: true
- slow-sql-millis: 5000
- datasource:
- master:
- url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
- username: root
- password: root
- driver-class-name: com.mysql.cj.jdbc.Driver
- data:
- redis:
- database: 0
- host: jeecg-boot-redis
- password:
- port: 6379
- rabbitmq:
- host: jeecg-boot-rabbitmq
- username: guest
- password: guest
- port: 5672
- publisher-confirms: true
- publisher-returns: true
- virtual-host: /
- listener:
- simple:
- acknowledge-mode: manual
- concurrency: 1
- max-concurrency: 1
- retry:
- enabled: true
- flyway:
- enabled: false
- encoding: UTF-8
- locations: classpath:flyway/sql/mysql
- sql-migration-prefix: V
- sql-migration-separator: __
- placeholder-prefix: ''#(''
- placeholder-suffix: )
- sql-migration-suffixes: .sql
- validate-on-migrate: true
- baseline-on-migrate: true
- clean-disabled: true
-minidao:
- base-package: org.jeecg.modules.jmreport.*,org.jeecg.modules.drag.*
-jeecg:
- firewall:
- dataSourceSafe: false
- lowCodeMode: dev
- signatureSecret: dd05f1c54d63749eda95f9fa6d49v442a
- signUrls: /sys/dict/getDictItems/*,/sys/dict/loadDict/*,/sys/dict/loadDictOrderByValue/*,/sys/dict/loadDictItem/*,/sys/dict/loadTreeData,/sys/api/queryTableDictItemsByCode,/sys/api/queryFilterTableDictInfo,/sys/api/queryTableDictByKeys,/sys/api/translateDictFromTable,/sys/api/translateDictFromTableByKeys
- uploadType: local
- domainUrl:
- pc: http://localhost:3100
- app: http://localhost:8051
- path:
- upload: /opt/upFiles
- webapp: /opt/webapp
- shiro:
- excludeUrls: /test/jeecgDemo/demo3,/test/jeecgDemo/redisDemo/**,/category/**,/visual/**,/map/**,/jmreport/bigscreen2/**
- oss:
- endpoint: oss-cn-beijing.aliyuncs.com
- accessKey: ??
- secretKey: ??
- bucketName: jeecgdev
- staticDomain: ??
- elasticsearch:
- cluster-name: jeecg-ES
- cluster-nodes: jeecg-boot-es:9200
- check-enabled: false
- file-view-domain: 127.0.0.1:8012
- minio:
- minio_url: http://minio.jeecg.com
- minio_name: ??
- minio_pass: ??
- bucketName: otatest
- jmreport:
- saasMode:
- firewall:
- dataSourceSafe: false
- lowCodeMode: dev
- wps:
- domain: https://wwo.wps.cn/office/
- appid: ??
- appsecret: ??
- xxljob:
- enabled: false
- adminAddresses: http://jeecg-boot-xxljob:9080/xxl-job-admin
- appname: ${spring.application.name}
- accessToken: ''''
- logPath: logs/jeecg/job/jobhandler/
- logRetentionDays: 30
- redisson:
- address: jeecg-boot-redis:6379
- password:
- type: STANDALONE
- enabled: true
- ai-chat:
- enabled: false
- apiKey: "????"
- apiHost: "https://api.openai.com"
- timeout: 60
-logging:
- level:
- org.jeecg.modules.system.mapper : info
-cas:
- prefixUrl: http://localhost:8888/cas
-knife4j:
- production: false
- basic:
- enable: false
- username: jeecg
- password: jeecg1314
-justauth:
- enabled: true
- type:
- GITHUB:
- client-id: ??
- client-secret: ??
- redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/github/callback
- WECHAT_ENTERPRISE:
- client-id: ??
- client-secret: ??
- redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/wechat_enterprise/callback
- agent-id: ??
- DINGTALK:
- client-id: ??
- client-secret: ??
- redirect-uri: http://sso.test.com:8080/jeecg-boot/thirdLogin/dingtalk/callback
- cache:
- type: default
- prefix: ''demo::''
- timeout: 1h
-third-app:
- enabled: false
- type:
- WECHAT_ENTERPRISE:
- enabled: false
- client-id: ??
- client-secret: ??
- agent-id: ??
- DINGTALK:
- enabled: false
- client-id: ??
- client-secret: ??
- agent-id: ??','91c29720dfb424916a769201a25200cf',TO_DATE('2024-07-09 14:34:32','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:34:33','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','I','springboot3','');
-INSERT INTO "NACOS"."HIS_CONFIG_INFO"("ID","NID","DATA_ID","GROUP_ID","APP_NAME","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","OP_TYPE","TENANT_ID","ENCRYPTED_DATA_KEY") VALUES(0,22,'jeecg.yaml','DEFAULT_GROUP','','server:
- undertow:
- # max-http-post-size: 10MB
- worker-threads: 16
- buffers:
- websocket: 8192
- io: 16384
- error:
- include-exception: true
- include-stacktrace: ALWAYS
- include-message: ALWAYS
- compression:
- enabled: true
- min-response-size: 1024
- mime-types: application/javascript,application/json,application/xml,text/html,text/xml,text/plain,text/css,image/*
-management:
- health:
- mail:
- enabled: false
- endpoints:
- web:
- exposure:
- include: "*"
- health:
- sensitive: true
- endpoint:
- health:
- show-details: ALWAYS
-spring:
- servlet:
- multipart:
- max-file-size: 10MB
- max-request-size: 10MB
- mail:
- host: smtp.163.com
- username: jeecgos@163.com
- password: ??
- properties:
- mail:
- smtp:
- auth: true
- starttls:
- enable: true
- required: true
- quartz:
- job-store-type: jdbc
- initialize-schema: embedded
- auto-startup: false
- startup-delay: 1s
- overwrite-existing-jobs: true
- properties:
- org:
- quartz:
- scheduler:
- instanceName: MyScheduler
- instanceId: AUTO
- jobStore:
- class: org.springframework.scheduling.quartz.LocalDataSourceJobStore
- driverDelegateClass: org.quartz.impl.jdbcjobstore.StdJDBCDelegate
- tablePrefix: QRTZ_
- isClustered: true
- misfireThreshold: 12000
- clusterCheckinInterval: 15000
- threadPool:
- class: org.quartz.simpl.SimpleThreadPool
- threadCount: 10
- threadPriority: 5
- threadsInheritContextClassLoaderOfInitializingThread: true
- jackson:
- date-format: yyyy-MM-dd HH:mm:ss
- time-zone: GMT+8
- aop:
- proxy-target-class: true
- activiti:
- check-process-definitions: false
- async-executor-activate: false
- job-executor-activate: false
- jpa:
- open-in-view: false
- freemarker:
- suffix: .ftl
- content-type: text/html
- charset: UTF-8
- cache: false
- prefer-file-system-access: false
- template-loader-path:
- - classpath:/templates
- mvc:
- static-path-pattern: /**
- pathmatch:
- matching-strategy: ant_path_matcher
- resource:
- static-locations: classpath:/static/,classpath:/public/
- autoconfigure:
- exclude:
- - com.alibaba.druid.spring.boot3.autoconfigure.DruidDataSourceAutoConfigure
- - org.springframework.boot.autoconfigure.flyway.FlywayAutoConfiguration
-mybatis-plus:
- mapper-locations: classpath*:org/jeecg/**/xml/*Mapper.xml
- global-config:
- banner: false
- db-config:
- id-type: ASSIGN_ID
- table-underline: true
- configuration:
- call-setters-on-nulls: true','ce1ca3b6f8431e884aed94ab29be43a9',TO_DATE('2024-07-09 14:34:32','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:34:33','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','I','springboot3','');
-INSERT INTO "NACOS"."HIS_CONFIG_INFO"("ID","NID","DATA_ID","GROUP_ID","APP_NAME","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","OP_TYPE","TENANT_ID","ENCRYPTED_DATA_KEY") VALUES(0,23,'jeecg-gateway-router.json','DEFAULT_GROUP','','[{
- "id": "jeecg-system",
- "order": 0,
- "predicates": [{
- "name": "Path",
- "args": {
- "_genkey_0": "/sys/**",
- "_genkey_1": "/jmreport/**",
- "_genkey_3": "/online/**",
- "_genkey_4": "/generic/**",
- "_genkey_5": "/oauth2/**",
- "_genkey_6": "/drag/**",
- "_genkey_7": "/actuator/**"
- }
- }],
- "filters": [],
- "uri": "lb://jeecg-system"
-}, {
- "id": "jeecg-demo",
- "order": 1,
- "predicates": [{
- "name": "Path",
- "args": {
- "_genkey_0": "/mock/**",
- "_genkey_1": "/test/**",
- "_genkey_2": "/bigscreen/template1/**",
- "_genkey_3": "/bigscreen/template2/**"
- }
- }],
- "filters": [],
- "uri": "lb://jeecg-demo"
-}, {
- "id": "jeecg-system-websocket",
- "order": 2,
- "predicates": [{
- "name": "Path",
- "args": {
- "_genkey_0": "/websocket/**",
- "_genkey_1": "/newsWebsocket/**"
- }
- }],
- "filters": [],
- "uri": "lb:ws://jeecg-system"
-}, {
- "id": "jeecg-demo-websocket",
- "order": 3,
- "predicates": [{
- "name": "Path",
- "args": {
- "_genkey_0": "/vxeSocket/**"
- }
- }],
- "filters": [],
- "uri": "lb:ws://jeecg-demo"
-}]','9794beb09d30bc6b835f2ee870781587',TO_DATE('2024-07-09 14:34:32','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:34:33','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','I','springboot3','');
-INSERT INTO "NACOS"."HIS_CONFIG_INFO"("ID","NID","DATA_ID","GROUP_ID","APP_NAME","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","OP_TYPE","TENANT_ID","ENCRYPTED_DATA_KEY") VALUES(0,24,'jeecg-sharding.yaml','DEFAULT_GROUP','','spring:
- shardingsphere:
- datasource:
- names: ds0
- ds0:
- driverClassName: com.mysql.cj.jdbc.Driver
- url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
- username: root
- password: root
- type: com.alibaba.druid.pool.DruidDataSource
- props:
- sql-show: true
- rules:
- sharding:
- binding-tables: sys_log
- key-generators:
- snowflake:
- type: SNOWFLAKE
- props:
- worker-id: 123
- sharding-algorithms:
- table-classbased:
- props:
- strategy: standard
- algorithmClassName: org.jeecg.modules.test.sharding.algorithm.StandardModTableShardAlgorithm
- type: CLASS_BASED
- tables:
- sys_log:
- actual-data-nodes: ds0.sys_log$->{0..1}
- table-strategy:
- standard:
- sharding-algorithm-name: table-classbased
- sharding-column: log_type','a93fa455c32cd37ca84631d2bbe13005',TO_DATE('2024-07-09 14:34:32','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:34:33','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','I','springboot3','');
-INSERT INTO "NACOS"."HIS_CONFIG_INFO"("ID","NID","DATA_ID","GROUP_ID","APP_NAME","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","OP_TYPE","TENANT_ID","ENCRYPTED_DATA_KEY") VALUES(0,25,'jeecg-gateway-dev.yaml','DEFAULT_GROUP','','jeecg:
- route:
- config:
- #type:database nacos yml
- data-type: database
- data-id: jeecg-gateway-router
-spring:
- data:
- redis:
- database: 0
- host: jeecg-boot-redis
- port: 6379
- password:
-knife4j:
- production: false','19d7cd93eeb85a582c8a6942d499c7f7',TO_DATE('2024-07-09 14:34:32','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:34:33','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','I','springboot3','');
-INSERT INTO "NACOS"."HIS_CONFIG_INFO"("ID","NID","DATA_ID","GROUP_ID","APP_NAME","CONTENT","MD5","GMT_CREATE","GMT_MODIFIED","SRC_USER","SRC_IP","OP_TYPE","TENANT_ID","ENCRYPTED_DATA_KEY") VALUES(0,26,'jeecg-sharding-multi.yaml','DEFAULT_GROUP','','spring:
- shardingsphere:
- datasource:
- names: ds0,ds1
- ds0:
- driverClassName: com.mysql.cj.jdbc.Driver
- url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
- type: com.alibaba.druid.pool.DruidDataSource
- username: root
- password: root
- ds1:
- driverClassName: com.mysql.cj.jdbc.Driver
- url: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot2?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
- type: com.alibaba.druid.pool.DruidDataSource
- username: root
- password: root
- props:
- sql-show: true
- rules:
- replica-query:
- load-balancers:
- round-robin:
- type: ROUND_ROBIN
- props:
- default: 0
- data-sources:
- prds:
- primary-data-source-name: ds0
- replica-data-source-names: ds1
- load-balancer-name: round_robin
- sharding:
- binding-tables:
- - sys_log
- key-generators:
- snowflake:
- type: SNOWFLAKE
- props:
- worker-id: 123
- sharding-algorithms:
- table-classbased:
- props:
- strategy: standard
- algorithmClassName: org.jeecg.modules.test.sharding.algorithm.StandardModTableShardAlgorithm
- type: CLASS_BASED
- database-inline:
- type: INLINE
- props:
- algorithm-expression: ds$->{operate_type % 2}
- tables:
- sys_log:
- actual-data-nodes: ds$->{0..1}.sys_log$->{0..1}
- database-strategy:
- standard:
- sharding-column: operate_type
- sharding-algorithm-name: database-inline
- table-strategy:
- standard:
- sharding-algorithm-name: table-classbased
- sharding-column: log_type','0fc2b030ca8c0008f148c84ecbd2a8c7',TO_DATE('2024-07-09 14:34:32','YYYY-MM-DD HH24:MI:SS.FF'),TO_DATE('2024-07-09 14:34:33','YYYY-MM-DD HH24:MI:SS.FF'),null,'192.168.1.11','I','springboot3','');
-
-SET IDENTITY_INSERT "NACOS"."HIS_CONFIG_INFO" OFF;
-INSERT INTO "NACOS"."ROLES"("USERNAME","ROLE") VALUES('nacos','ROLE_ADMIN');
-
-SET IDENTITY_INSERT "NACOS"."TENANT_CAPACITY" ON;
-SET IDENTITY_INSERT "NACOS"."TENANT_CAPACITY" OFF;
-SET IDENTITY_INSERT "NACOS"."TENANT_INFO" ON;
-INSERT INTO "NACOS"."TENANT_INFO"("ID","KP","TENANT_ID","TENANT_NAME","TENANT_DESC","CREATE_SOURCE","GMT_CREATE","GMT_MODIFIED") VALUES(1,'1','springboot3','springboot3','springboot3版本配置文件,与springboot2有很大区别','nacos',1720506551826,1720506551826);
-
-SET IDENTITY_INSERT "NACOS"."TENANT_INFO" OFF;
-INSERT INTO "NACOS"."USERS"("USERNAME","PASSWORD","ENABLED") VALUES('nacos','$2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu',1);
-
-ALTER TABLE "NACOS"."CONFIG_INFO" ADD CONSTRAINT PRIMARY KEY("ID") ;
-
-ALTER TABLE "NACOS"."CONFIG_INFO_AGGR" ADD CONSTRAINT PRIMARY KEY("ID") ;
-
-ALTER TABLE "NACOS"."CONFIG_INFO_BETA" ADD CONSTRAINT PRIMARY KEY("ID") ;
-
-ALTER TABLE "NACOS"."CONFIG_INFO_TAG" ADD CONSTRAINT PRIMARY KEY("ID") ;
-
-ALTER TABLE "NACOS"."CONFIG_TAGS_RELATION" ADD CONSTRAINT PRIMARY KEY("NID") ;
-
-ALTER TABLE "NACOS"."GROUP_CAPACITY" ADD CONSTRAINT PRIMARY KEY("ID") ;
-
-ALTER TABLE "NACOS"."HIS_CONFIG_INFO" ADD CONSTRAINT PRIMARY KEY("NID") ;
-
-ALTER TABLE "NACOS"."TENANT_CAPACITY" ADD CONSTRAINT PRIMARY KEY("ID") ;
-
-ALTER TABLE "NACOS"."TENANT_INFO" ADD CONSTRAINT PRIMARY KEY("ID") ;
-
-ALTER TABLE "NACOS"."USERS" ADD CONSTRAINT PRIMARY KEY("USERNAME") ;
-
-ALTER TABLE "NACOS"."HIS_CONFIG_INFO" ADD CHECK("ID" >= 0) ENABLE ;
-
-ALTER TABLE "NACOS"."CONFIG_INFO" ADD CONSTRAINT "UK_CONFIGINFO_DATAGROUPTENANT" UNIQUE("DATA_ID","GROUP_ID","TENANT_ID") ;
-
-ALTER TABLE "NACOS"."CONFIG_INFO_AGGR" ADD CONSTRAINT "UK_CONFIGINFOAGGR_DATAGROUPTENANTDATUM" UNIQUE("DATA_ID","GROUP_ID","TENANT_ID","DATUM_ID") ;
-
-ALTER TABLE "NACOS"."CONFIG_INFO_BETA" ADD CONSTRAINT "UK_CONFIGINFOBETA_DATAGROUPTENANT" UNIQUE("DATA_ID","GROUP_ID","TENANT_ID") ;
-
-ALTER TABLE "NACOS"."CONFIG_INFO_TAG" ADD CONSTRAINT "UK_CONFIGINFOTAG_DATAGROUPTENANTTAG" UNIQUE("DATA_ID","GROUP_ID","TENANT_ID","TAG_ID") ;
-
-ALTER TABLE "NACOS"."CONFIG_TAGS_RELATION" ADD CONSTRAINT "UK_CONFIGTAGRELATION_CONFIGIDTAG" UNIQUE("ID","TAG_NAME","TAG_TYPE") ;
-
-ALTER TABLE "NACOS"."GROUP_CAPACITY" ADD CONSTRAINT "UK_GROUP_ID" UNIQUE("GROUP_ID") ;
-
-ALTER TABLE "NACOS"."PERMISSIONS" ADD CONSTRAINT "UK_ROLE_PERMISSION" UNIQUE("ROLE","RESOURCE","ACTION") ;
-
-ALTER TABLE "NACOS"."ROLES" ADD CONSTRAINT "IDX_USER_ROLE" UNIQUE("USERNAME","ROLE") ;
-
-ALTER TABLE "NACOS"."TENANT_CAPACITY" ADD CONSTRAINT "UK_TENANT_ID" UNIQUE("TENANT_ID") ;
-
-ALTER TABLE "NACOS"."TENANT_INFO" ADD CONSTRAINT "UK_TENANT_INFO_KPTENANTID" UNIQUE("KP","TENANT_ID") ;
-
-COMMENT ON TABLE "NACOS"."CONFIG_INFO" IS 'config_info';
-
-COMMENT ON COLUMN "NACOS"."CONFIG_INFO"."ID" IS 'id';
-
-COMMENT ON COLUMN "NACOS"."CONFIG_INFO"."DATA_ID" IS 'data_id';
-
-COMMENT ON COLUMN "NACOS"."CONFIG_INFO"."CONTENT" IS 'content';
-
-COMMENT ON COLUMN "NACOS"."CONFIG_INFO"."MD5" IS 'md5';
-
-COMMENT ON COLUMN "NACOS"."CONFIG_INFO"."GMT_CREATE" IS '创建时间';
-
-COMMENT ON COLUMN "NACOS"."CONFIG_INFO"."GMT_MODIFIED" IS '修改时间';
-
-COMMENT ON COLUMN "NACOS"."CONFIG_INFO"."SRC_USER" IS 'source user';
-
-COMMENT ON COLUMN "NACOS"."CONFIG_INFO"."SRC_IP" IS 'source ip';
-
-COMMENT ON COLUMN "NACOS"."CONFIG_INFO"."TENANT_ID" IS '租户字段';
-
-COMMENT ON COLUMN "NACOS"."CONFIG_INFO"."ENCRYPTED_DATA_KEY" IS '密钥';
-
-COMMENT ON TABLE "NACOS"."CONFIG_INFO_AGGR" IS '增加租户字段';
-
-COMMENT ON COLUMN "NACOS"."CONFIG_INFO_AGGR"."ID" IS 'id';
-
-COMMENT ON COLUMN "NACOS"."CONFIG_INFO_AGGR"."DATA_ID" IS 'data_id';
-
-COMMENT ON COLUMN "NACOS"."CONFIG_INFO_AGGR"."GROUP_ID" IS 'group_id';
-
-COMMENT ON COLUMN "NACOS"."CONFIG_INFO_AGGR"."DATUM_ID" IS 'datum_id';
-
-COMMENT ON COLUMN "NACOS"."CONFIG_INFO_AGGR"."CONTENT" IS '内容';
-
-COMMENT ON COLUMN "NACOS"."CONFIG_INFO_AGGR"."GMT_MODIFIED" IS '修改时间';
-
-COMMENT ON COLUMN "NACOS"."CONFIG_INFO_AGGR"."TENANT_ID" IS '租户字段';
-
-COMMENT ON TABLE "NACOS"."CONFIG_INFO_BETA" IS 'config_info_beta';
-
-COMMENT ON COLUMN "NACOS"."CONFIG_INFO_BETA"."ID" IS 'id';
-
-COMMENT ON COLUMN "NACOS"."CONFIG_INFO_BETA"."DATA_ID" IS 'data_id';
-
-COMMENT ON COLUMN "NACOS"."CONFIG_INFO_BETA"."GROUP_ID" IS 'group_id';
-
-COMMENT ON COLUMN "NACOS"."CONFIG_INFO_BETA"."APP_NAME" IS 'app_name';
-
-COMMENT ON COLUMN "NACOS"."CONFIG_INFO_BETA"."CONTENT" IS 'content';
-
-COMMENT ON COLUMN "NACOS"."CONFIG_INFO_BETA"."BETA_IPS" IS 'betaIps';
-
-COMMENT ON COLUMN "NACOS"."CONFIG_INFO_BETA"."MD5" IS 'md5';
-
-COMMENT ON COLUMN "NACOS"."CONFIG_INFO_BETA"."GMT_CREATE" IS '创建时间';
-
-COMMENT ON COLUMN "NACOS"."CONFIG_INFO_BETA"."GMT_MODIFIED" IS '修改时间';
-
-COMMENT ON COLUMN "NACOS"."CONFIG_INFO_BETA"."SRC_USER" IS 'source user';
-
-COMMENT ON COLUMN "NACOS"."CONFIG_INFO_BETA"."SRC_IP" IS 'source ip';
-
-COMMENT ON COLUMN "NACOS"."CONFIG_INFO_BETA"."TENANT_ID" IS '租户字段';
-
-COMMENT ON COLUMN "NACOS"."CONFIG_INFO_BETA"."ENCRYPTED_DATA_KEY" IS '密钥';
-
-COMMENT ON TABLE "NACOS"."CONFIG_INFO_TAG" IS 'config_info_tag';
-
-COMMENT ON COLUMN "NACOS"."CONFIG_INFO_TAG"."ID" IS 'id';
-
-COMMENT ON COLUMN "NACOS"."CONFIG_INFO_TAG"."DATA_ID" IS 'data_id';
-
-COMMENT ON COLUMN "NACOS"."CONFIG_INFO_TAG"."GROUP_ID" IS 'group_id';
-
-COMMENT ON COLUMN "NACOS"."CONFIG_INFO_TAG"."TENANT_ID" IS 'tenant_id';
-
-COMMENT ON COLUMN "NACOS"."CONFIG_INFO_TAG"."TAG_ID" IS 'tag_id';
-
-COMMENT ON COLUMN "NACOS"."CONFIG_INFO_TAG"."APP_NAME" IS 'app_name';
-
-COMMENT ON COLUMN "NACOS"."CONFIG_INFO_TAG"."CONTENT" IS 'content';
-
-COMMENT ON COLUMN "NACOS"."CONFIG_INFO_TAG"."MD5" IS 'md5';
-
-COMMENT ON COLUMN "NACOS"."CONFIG_INFO_TAG"."GMT_CREATE" IS '创建时间';
-
-COMMENT ON COLUMN "NACOS"."CONFIG_INFO_TAG"."GMT_MODIFIED" IS '修改时间';
-
-COMMENT ON COLUMN "NACOS"."CONFIG_INFO_TAG"."SRC_USER" IS 'source user';
-
-COMMENT ON COLUMN "NACOS"."CONFIG_INFO_TAG"."SRC_IP" IS 'source ip';
-
-COMMENT ON TABLE "NACOS"."CONFIG_TAGS_RELATION" IS 'config_tag_relation';
-
-COMMENT ON COLUMN "NACOS"."CONFIG_TAGS_RELATION"."ID" IS 'id';
-
-COMMENT ON COLUMN "NACOS"."CONFIG_TAGS_RELATION"."TAG_NAME" IS 'tag_name';
-
-COMMENT ON COLUMN "NACOS"."CONFIG_TAGS_RELATION"."TAG_TYPE" IS 'tag_type';
-
-COMMENT ON COLUMN "NACOS"."CONFIG_TAGS_RELATION"."DATA_ID" IS 'data_id';
-
-COMMENT ON COLUMN "NACOS"."CONFIG_TAGS_RELATION"."GROUP_ID" IS 'group_id';
-
-COMMENT ON COLUMN "NACOS"."CONFIG_TAGS_RELATION"."TENANT_ID" IS 'tenant_id';
-
-CREATE INDEX "IDX_DID"
-ON "NACOS"."HIS_CONFIG_INFO"("DATA_ID");
-
-CREATE INDEX "IDX_GMT_CREATE"
-ON "NACOS"."HIS_CONFIG_INFO"("GMT_CREATE");
-
-CREATE INDEX "IDX_GMT_MODIFIED"
-ON "NACOS"."HIS_CONFIG_INFO"("GMT_MODIFIED");
-
-CREATE INDEX "IDX_TENANT_ID"
-ON "NACOS"."TENANT_INFO"("TENANT_ID");
-
-ALTER TABLE "NACOS"."GROUP_CAPACITY" ADD CHECK("USAGE" >= 0) ENABLE ;
-
-ALTER TABLE "NACOS"."GROUP_CAPACITY" ADD CHECK("MAX_SIZE" >= 0) ENABLE ;
-
-ALTER TABLE "NACOS"."GROUP_CAPACITY" ADD CHECK("MAX_AGGR_COUNT" >= 0) ENABLE ;
-
-ALTER TABLE "NACOS"."GROUP_CAPACITY" ADD CHECK("MAX_AGGR_SIZE" >= 0) ENABLE ;
-
-ALTER TABLE "NACOS"."GROUP_CAPACITY" ADD CHECK("MAX_HISTORY_COUNT" >= 0) ENABLE ;
-
-ALTER TABLE "NACOS"."GROUP_CAPACITY" ADD CHECK("QUOTA" >= 0) ENABLE ;
-
-ALTER TABLE "NACOS"."TENANT_CAPACITY" ADD CHECK("QUOTA" >= 0) ENABLE ;
-
-ALTER TABLE "NACOS"."TENANT_CAPACITY" ADD CHECK("USAGE" >= 0) ENABLE ;
-
-ALTER TABLE "NACOS"."TENANT_CAPACITY" ADD CHECK("MAX_SIZE" >= 0) ENABLE ;
-
-ALTER TABLE "NACOS"."TENANT_CAPACITY" ADD CHECK("MAX_AGGR_COUNT" >= 0) ENABLE ;
-
-ALTER TABLE "NACOS"."TENANT_CAPACITY" ADD CHECK("MAX_AGGR_SIZE" >= 0) ENABLE ;
-
-ALTER TABLE "NACOS"."TENANT_CAPACITY" ADD CHECK("MAX_HISTORY_COUNT" >= 0) ENABLE ;
-
-COMMENT ON TABLE "NACOS"."GROUP_CAPACITY" IS '集群、各Group容量信息表';
-
-COMMENT ON COLUMN "NACOS"."GROUP_CAPACITY"."ID" IS '主键ID';
-
-COMMENT ON COLUMN "NACOS"."GROUP_CAPACITY"."GROUP_ID" IS 'Group ID,空字符表示整个集群';
-
-COMMENT ON COLUMN "NACOS"."GROUP_CAPACITY"."QUOTA" IS '配额,0表示使用默认值';
-
-COMMENT ON COLUMN "NACOS"."GROUP_CAPACITY"."USAGE" IS '使用量';
-
-COMMENT ON COLUMN "NACOS"."GROUP_CAPACITY"."MAX_SIZE" IS '单个配置大小上限,单位为字节,0表示使用默认值';
-
-COMMENT ON COLUMN "NACOS"."GROUP_CAPACITY"."MAX_AGGR_COUNT" IS '聚合子配置最大个数,,0表示使用默认值';
-
-COMMENT ON COLUMN "NACOS"."GROUP_CAPACITY"."MAX_AGGR_SIZE" IS '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值';
-
-COMMENT ON COLUMN "NACOS"."GROUP_CAPACITY"."MAX_HISTORY_COUNT" IS '最大变更历史数量';
-
-COMMENT ON COLUMN "NACOS"."GROUP_CAPACITY"."GMT_CREATE" IS '创建时间';
-
-COMMENT ON COLUMN "NACOS"."GROUP_CAPACITY"."GMT_MODIFIED" IS '修改时间';
-
-COMMENT ON TABLE "NACOS"."HIS_CONFIG_INFO" IS '多租户改造';
-
-COMMENT ON COLUMN "NACOS"."HIS_CONFIG_INFO"."APP_NAME" IS 'app_name';
-
-COMMENT ON COLUMN "NACOS"."HIS_CONFIG_INFO"."TENANT_ID" IS '租户字段';
-
-COMMENT ON COLUMN "NACOS"."HIS_CONFIG_INFO"."ENCRYPTED_DATA_KEY" IS '密钥';
-
-COMMENT ON TABLE "NACOS"."TENANT_CAPACITY" IS '租户容量信息表';
-
-COMMENT ON COLUMN "NACOS"."TENANT_CAPACITY"."ID" IS '主键ID';
-
-COMMENT ON COLUMN "NACOS"."TENANT_CAPACITY"."TENANT_ID" IS 'Tenant ID';
-
-COMMENT ON COLUMN "NACOS"."TENANT_CAPACITY"."QUOTA" IS '配额,0表示使用默认值';
-
-COMMENT ON COLUMN "NACOS"."TENANT_CAPACITY"."USAGE" IS '使用量';
-
-COMMENT ON COLUMN "NACOS"."TENANT_CAPACITY"."MAX_SIZE" IS '单个配置大小上限,单位为字节,0表示使用默认值';
-
-COMMENT ON COLUMN "NACOS"."TENANT_CAPACITY"."MAX_AGGR_COUNT" IS '聚合子配置最大个数';
-
-COMMENT ON COLUMN "NACOS"."TENANT_CAPACITY"."MAX_AGGR_SIZE" IS '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值';
-
-COMMENT ON COLUMN "NACOS"."TENANT_CAPACITY"."MAX_HISTORY_COUNT" IS '最大变更历史数量';
-
-COMMENT ON COLUMN "NACOS"."TENANT_CAPACITY"."GMT_CREATE" IS '创建时间';
-
-COMMENT ON COLUMN "NACOS"."TENANT_CAPACITY"."GMT_MODIFIED" IS '修改时间';
-
-COMMENT ON TABLE "NACOS"."TENANT_INFO" IS 'tenant_info';
-
-COMMENT ON COLUMN "NACOS"."TENANT_INFO"."ID" IS 'id';
-
-COMMENT ON COLUMN "NACOS"."TENANT_INFO"."KP" IS 'kp';
-
-COMMENT ON COLUMN "NACOS"."TENANT_INFO"."TENANT_ID" IS 'tenant_id';
-
-COMMENT ON COLUMN "NACOS"."TENANT_INFO"."TENANT_NAME" IS 'tenant_name';
-
-COMMENT ON COLUMN "NACOS"."TENANT_INFO"."TENANT_DESC" IS 'tenant_desc';
-
-COMMENT ON COLUMN "NACOS"."TENANT_INFO"."CREATE_SOURCE" IS 'create_source';
-
-COMMENT ON COLUMN "NACOS"."TENANT_INFO"."GMT_CREATE" IS '创建时间';
-
-COMMENT ON COLUMN "NACOS"."TENANT_INFO"."GMT_MODIFIED" IS '修改时间';
-
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/pom.xml b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/pom.xml
deleted file mode 100644
index b3464167c..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/pom.xml
+++ /dev/null
@@ -1,98 +0,0 @@
-
-
- 4.0.0
- jeecg-cloud-nacos
- jeecg-cloud-nacos
- nacos启动模块
- 3.9.0
-
-
- org.springframework.boot
- spring-boot-starter-parent
- 2.7.18
-
-
-
-
-
- aliyun
- aliyun Repository
- https://maven.aliyun.com/repository/public
-
- false
-
-
-
- jeecg
- jeecg Repository
- https://maven.jeecg.org/nexus/content/repositories/jeecg
-
- false
-
-
-
-
-
- 2.17.0
- 2.3.2
- 8.1.3.140
-
-
-
-
- org.springframework.boot
- spring-boot-starter
-
-
- org.apache.tomcat.embed
- tomcat-embed-jasper
-
-
- org.springframework.boot
- spring-boot-starter-security
-
-
- org.jeecgframework.nacos
- nacos-naming
- ${nacos.version}
-
-
- org.jeecgframework.nacos
- nacos-istio
- ${nacos.version}
-
-
- org.jeecgframework.nacos
- nacos-config
- ${nacos.version}
-
-
- org.jeecgframework.nacos
- nacos-console
- ${nacos.version}
-
-
-
-
- com.dameng
- DmJdbcDriver18
- ${dm8.version}
-
-
- com.dameng
- DmDialect-for-hibernate5.0
- ${dm8.version}
-
-
-
-
-
-
- org.springframework.boot
- spring-boot-maven-plugin
-
-
-
-
-
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/src/main/java/com/alibaba/nacos/JeecgNacosApplication.java b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/src/main/java/com/alibaba/nacos/JeecgNacosApplication.java
deleted file mode 100644
index ed4b41575..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/src/main/java/com/alibaba/nacos/JeecgNacosApplication.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package com.alibaba.nacos;
-
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.web.servlet.ServletComponentScan;
-import org.springframework.scheduling.annotation.EnableScheduling;
-import org.springframework.ui.Model;
-import org.springframework.web.bind.annotation.GetMapping;
-import javax.servlet.http.HttpServletResponse;
-
-
-/**
- * Nacos 启动类
- *
- * @author zyf
- */
-@SpringBootApplication(scanBasePackages = "com.alibaba.nacos")
-@ServletComponentScan
-@EnableScheduling
-public class JeecgNacosApplication {
-
- /** 是否单机模式启动 */
- private static String standalone = "true";
- /** 是否开启鉴权 */
- private static String enabled = "false";
-
- public static void main(String[] args) {
- System.setProperty("nacos.standalone", standalone);
- System.setProperty("nacos.core.auth.enabled", enabled);
-// //一旦Nacos初始化,用户名nacos将不能被修改,但你可以通过控制台或API来修改密码 https://nacos.io/en/blog/faq/nacos-user-question-history8420
-// System.setProperty("nacos.core.auth.default.username", "nacos");
-// System.setProperty("nacos.core.auth.default.password", "nacos");
- System.setProperty("server.tomcat.basedir","logs");
- //自定义启动端口号
- System.setProperty("server.port","8848");
- SpringApplication.run(JeecgNacosApplication.class, args);
- }
-
- /**
- * 默认跳转首页
- *
- * @param model
- * @return
- */
- @GetMapping("/")
- public String index(Model model, HttpServletResponse response) {
- // 视图重定向 - 跳转
- return "/nacos";
- }
-}
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/src/main/resources/application-dm.yml b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/src/main/resources/application-dm.yml
deleted file mode 100644
index f11246eb5..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/src/main/resources/application-dm.yml
+++ /dev/null
@@ -1,63 +0,0 @@
-server:
- servlet:
- contextPath: /nacos
- tomcat:
- accesslog:
- enabled: true
- pattern: '%h %l %u %t "%r" %s %b %D %{User-Agent}i %{Request-Source}i'
- basedir: ''
-spring:
- sql:
- init:
- platform: dm
-db:
- pool:
- config:
- driverClassName: dm.jdbc.driver.DmDriver
- num: 1
- password:
- '0': SYSDBA
- url:
- '0': jdbc:dm://192.168.1.188:30236/DMSERVER?schema=NACOS&compatibleMode=mysql&ignoreCase=true&ENCODING=utf-8
- user:
- '0': SYSDBA
-management:
- metrics:
- export:
- elastic:
- enabled: false
- influx:
- enabled: false
-nacos:
- core:
- auth:
- enabled: false
- caching:
- enabled: true
- server:
- identity:
- key: example
- value: example
- plugin:
- nacos:
- token:
- expire:
- seconds: 18000
- secret:
- key: SecretKey01234567890123456789012345345678999987654901234567890123456789
- system:
- type: nacos
- istio:
- mcp:
- server:
- enabled: false
- naming:
- empty-service:
- auto-clean: true
- clean:
- initial-delay-ms: 50000
- period-time-ms: 30000
- security:
- ignore:
- urls: /,/error,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-ui/public/**,/v1/auth/**,/v1/console/health/**,/actuator/**,/v1/console/server/**
- standalone: true
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/src/main/resources/application-mysql.yml b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/src/main/resources/application-mysql.yml
deleted file mode 100644
index 89fe5563a..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/src/main/resources/application-mysql.yml
+++ /dev/null
@@ -1,60 +0,0 @@
-server:
- servlet:
- contextPath: /nacos
- tomcat:
- accesslog:
- enabled: true
- pattern: '%h %l %u %t "%r" %s %b %D %{User-Agent}i %{Request-Source}i'
- basedir: ''
-spring:
- sql:
- init:
- platform: mysql
-db:
- num: 1
- password:
- '0': ${MYSQL-PWD:root}
- url:
- '0': jdbc:mysql://${MYSQL-HOST:jeecg-boot-mysql}:${MYSQL-PORT:3306}/${MYSQL-DB:nacos}?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true
- user:
- '0': ${MYSQL-USER:root}
-management:
- metrics:
- export:
- elastic:
- enabled: false
- influx:
- enabled: false
-nacos:
- core:
- auth:
- enabled: false
- caching:
- enabled: true
- server:
- identity:
- key: nacos
- value: nacos
- plugin:
- nacos:
- token:
- expire:
- seconds: 18000
- secret:
- key: VGhpc0lzTXlDdXN0b21TZWNyZXRLZXkwMTIzNDU2Nzg=
- system:
- type: nacos
- istio:
- mcp:
- server:
- enabled: false
- naming:
- empty-service:
- auto-clean: true
- clean:
- initial-delay-ms: 50000
- period-time-ms: 30000
- security:
- ignore:
- urls: /,/error,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-ui/public/**,/v1/auth/**,/v1/console/health/**,/actuator/**,/v1/console/server/**
- standalone: true
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/src/main/resources/application.yml b/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/src/main/resources/application.yml
deleted file mode 100644
index dc1be31b2..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-cloud-nacos/src/main/resources/application.yml
+++ /dev/null
@@ -1,3 +0,0 @@
-spring:
- profiles:
- active: mysql
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-demo-cloud-start/Dockerfile b/jeecg-boot/jeecg-server-cloud/jeecg-demo-cloud-start/Dockerfile
deleted file mode 100644
index 2f7797100..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-demo-cloud-start/Dockerfile
+++ /dev/null
@@ -1,15 +0,0 @@
-FROM registry.cn-hangzhou.aliyuncs.com/dockerhub_mirror/java:17-anolis
-
-MAINTAINER jeecgos@163.com
-
-RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
-
-RUN mkdir -p /jeecg-demo-cloud
-
-WORKDIR /jeecg-demo-cloud
-
-EXPOSE 7002
-
-ADD ./target/jeecg-demo-cloud-start-3.9.0.jar ./
-
-CMD sleep 60;java -Dfile.encoding=utf-8 -Djava.security.egd=file:/dev/./urandom -jar jeecg-demo-cloud-start-3.9.0.jar
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-demo-cloud-start/README.md b/jeecg-boot/jeecg-server-cloud/jeecg-demo-cloud-start/README.md
deleted file mode 100644
index 9d1c1fff7..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-demo-cloud-start/README.md
+++ /dev/null
@@ -1,3 +0,0 @@
-采用jar启动必须设置-Dfile.encoding=utf-8 ,不然会加载不到naocs文件
-
-java -Dfile.encoding=utf-8 -jar xxxx.jar
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-demo-cloud-start/pom.xml b/jeecg-boot/jeecg-server-cloud/jeecg-demo-cloud-start/pom.xml
deleted file mode 100644
index a204f525b..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-demo-cloud-start/pom.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-
-
-
- jeecg-server-cloud
- org.jeecgframework.boot3
- 3.9.0
-
- 4.0.0
-
- jeecg-demo-cloud-start
- Demo微服务启动
-
-
-
-
- org.jeecgframework.boot3
- jeecg-boot-starter-cloud
-
-
-
- org.jeecgframework.boot3
- jeecg-system-cloud-api
-
-
-
- org.jeecgframework.boot3
- jeecg-boot-starter-job
-
-
-
-
- org.jeecgframework.boot3
- jeecg-module-demo
- ${jeecgboot.version}
-
-
-
-
-
-
- org.springframework.boot
- spring-boot-maven-plugin
-
-
-
-
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-demo-cloud-start/src/main/java/org/jeecg/JeecgDemoCloudApplication.java b/jeecg-boot/jeecg-server-cloud/jeecg-demo-cloud-start/src/main/java/org/jeecg/JeecgDemoCloudApplication.java
deleted file mode 100644
index 545825e79..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-demo-cloud-start/src/main/java/org/jeecg/JeecgDemoCloudApplication.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package org.jeecg;
-
-import com.xkcoding.justauth.autoconfigure.JustAuthAutoConfiguration;
-import org.jeecg.common.base.BaseMap;
-import org.jeecg.common.constant.GlobalConstants;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.CommandLineRunner;
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.ImportAutoConfiguration;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.cloud.openfeign.EnableFeignClients;
-import org.springframework.data.redis.core.RedisTemplate;
-
-@SpringBootApplication
-@EnableFeignClients
-@ImportAutoConfiguration(JustAuthAutoConfiguration.class) // spring boot 3.x justauth 兼容性处理
-public class JeecgDemoCloudApplication implements CommandLineRunner {
- @Autowired
- private RedisTemplate redisTemplate;
-
- public static void main(String[] args) {
- SpringApplication.run(JeecgDemoCloudApplication.class, args);
- }
-
- /**
- * 启动的时候,触发下gateway网关刷新
- *
- * 解决: 先启动gateway后启动服务,Swagger接口文档访问不通的问题
- * @param args
- */
- @Override
- public void run(String... args) {
- BaseMap params = new BaseMap();
- params.put(GlobalConstants.HANDLER_NAME, GlobalConstants.LODER_ROUDER_HANDLER);
- //刷新网关
- redisTemplate.convertAndSend(GlobalConstants.REDIS_TOPIC_NAME, params);
- }
-}
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-demo-cloud-start/src/main/resources/application.yml b/jeecg-boot/jeecg-server-cloud/jeecg-demo-cloud-start/src/main/resources/application.yml
deleted file mode 100644
index 8a9409495..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-demo-cloud-start/src/main/resources/application.yml
+++ /dev/null
@@ -1,24 +0,0 @@
-server:
- port: 7002
-
-spring:
- application:
- name: jeecg-demo
- cloud:
- nacos:
- config:
- server-addr: @config.server-addr@
- group: @config.group@
- namespace: @config.namespace@
- username: @config.username@
- password: @config.password@
- discovery:
- server-addr: ${spring.cloud.nacos.config.server-addr}
- group: @config.group@
- namespace: @config.namespace@
- username: @config.username@
- password: @config.password@
- config:
- import:
- - optional:nacos:jeecg.yaml
- - optional:nacos:jeecg-@profile.name@.yaml
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-demo-cloud-start/src/main/resources/logback-spring.xml b/jeecg-boot/jeecg-server-cloud/jeecg-demo-cloud-start/src/main/resources/logback-spring.xml
deleted file mode 100644
index 9e636336d..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-demo-cloud-start/src/main/resources/logback-spring.xml
+++ /dev/null
@@ -1,77 +0,0 @@
-
-
-
-
-
-
-
-
-
-
- %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %highlight(%-5level) %cyan(%logger{50}:%L) - %msg%n
-
-
-
-
-
-
-
- ${LOG_HOME}/jeecg-demo-%d{yyyy-MM-dd}.%i.log
-
- 30
- 10MB
-
-
-
- %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50}:%L - %msg%n
-
-
-
-
-
-
-
- ERROR
-
-
-
- %p%d%msg%M%F{32}%L
-
-
- ${LOG_HOME}/error-log.html
-
-
-
-
-
-
-
- ${LOG_HOME}/jeecg-demo-%d{yyyy-MM-dd}.%i.html
-
- 30
- 10MB
-
-
-
- %p%d%msg%M%F{32}%L
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-system-cloud-start/Dockerfile b/jeecg-boot/jeecg-server-cloud/jeecg-system-cloud-start/Dockerfile
deleted file mode 100644
index b13191b14..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-system-cloud-start/Dockerfile
+++ /dev/null
@@ -1,15 +0,0 @@
-FROM registry.cn-hangzhou.aliyuncs.com/dockerhub_mirror/java:17-anolis
-
-MAINTAINER jeecgos@163.com
-
-RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
-
-RUN mkdir -p /jeecg-system-cloud
-
-WORKDIR /jeecg-system-cloud
-
-EXPOSE 7001
-
-ADD ./target/jeecg-system-cloud-start-3.9.0.jar ./
-
-CMD sleep 60;java -Dfile.encoding=utf-8 -Djava.security.egd=file:/dev/./urandom -jar jeecg-system-cloud-start-3.9.0.jar
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-system-cloud-start/README.md b/jeecg-boot/jeecg-server-cloud/jeecg-system-cloud-start/README.md
deleted file mode 100644
index 9d1c1fff7..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-system-cloud-start/README.md
+++ /dev/null
@@ -1,3 +0,0 @@
-采用jar启动必须设置-Dfile.encoding=utf-8 ,不然会加载不到naocs文件
-
-java -Dfile.encoding=utf-8 -jar xxxx.jar
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-system-cloud-start/pom.xml b/jeecg-boot/jeecg-server-cloud/jeecg-system-cloud-start/pom.xml
deleted file mode 100644
index 3188b0916..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-system-cloud-start/pom.xml
+++ /dev/null
@@ -1,90 +0,0 @@
-
-
-
- jeecg-server-cloud
- org.jeecgframework.boot3
- 3.9.0
-
- 4.0.0
- jeecg-system-cloud-start
- System项目微服务启动
-
-
-
-
- org.jeecgframework.boot3
- jeecg-boot-starter-cloud
-
-
-
-
- org.jeecgframework.boot3
- jeecg-system-biz
-
-
-
- org.jeecgframework.boot3
- jeecg-module-demo
-
-
-
-
-
- org.jeecgframework.boot3
- jeecg-boot-starter-job
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- org.springframework.boot
- spring-boot-maven-plugin
-
-
-
-
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-system-cloud-start/src/main/java/org/jeecg/JeecgSystemCloudApplication.java b/jeecg-boot/jeecg-server-cloud/jeecg-system-cloud-start/src/main/java/org/jeecg/JeecgSystemCloudApplication.java
deleted file mode 100644
index efe21cad8..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-system-cloud-start/src/main/java/org/jeecg/JeecgSystemCloudApplication.java
+++ /dev/null
@@ -1,78 +0,0 @@
-package org.jeecg;
-
-import com.xkcoding.justauth.autoconfigure.JustAuthAutoConfiguration;
-import lombok.extern.slf4j.Slf4j;
-import org.jeecg.common.base.BaseMap;
-import org.jeecg.common.constant.GlobalConstants;
-import org.jeecg.common.util.oConvertUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.CommandLineRunner;
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
-import org.springframework.boot.autoconfigure.ImportAutoConfiguration;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration;
-import org.springframework.boot.builder.SpringApplicationBuilder;
-import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
-import org.springframework.cloud.openfeign.EnableFeignClients;
-import org.springframework.context.ConfigurableApplicationContext;
-import org.springframework.core.env.Environment;
-import org.springframework.data.redis.core.RedisTemplate;
-import org.springframework.scheduling.annotation.EnableScheduling;
-
-import java.net.InetAddress;
-import java.net.UnknownHostException;
-
-/**
- * 微服务启动类(采用此类启动项目为微服务模式)
- * 特别提醒:
- * 1、需要先初始化Nacos的数据库脚本,db/tables_nacos.sql
- * 2.需要集成mogodb请删除 exclude={MongoAutoConfiguration.class}
- *
- * @author jeecg
- * @date: 2022/4/21 10:55
- */
-@Slf4j
-@SpringBootApplication
-@EnableFeignClients(basePackages = {"org.jeecg"})
-@EnableScheduling
-@EnableAutoConfiguration(exclude={MongoAutoConfiguration.class})
-@ImportAutoConfiguration(JustAuthAutoConfiguration.class) // spring boot 3.x justauth 兼容性处理
-public class JeecgSystemCloudApplication extends SpringBootServletInitializer implements CommandLineRunner {
-
- @Autowired
- private RedisTemplate redisTemplate;
- @Override
- protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
- return application.sources(JeecgSystemCloudApplication.class);
- }
-
- public static void main(String[] args) throws UnknownHostException {
- ConfigurableApplicationContext application = SpringApplication.run(JeecgSystemCloudApplication.class, args);
- Environment env = application.getEnvironment();
- String ip = InetAddress.getLocalHost().getHostAddress();
- String port = env.getProperty("server.port");
- String path = oConvertUtils.getString(env.getProperty("server.servlet.context-path"));
- log.info("\n----------------------------------------------------------\n\t" +
- "Application Jeecg-Boot is running! Access URLs:\n\t" +
- "Local: \t\thttp://localhost:" + port + path + "/doc.html\n" +
- "External: \thttp://" + ip + ":" + port + path + "/doc.html\n" +
- "Swagger文档: \thttp://" + ip + ":" + port + path + "/doc.html\n" +
- "----------------------------------------------------------");
-
- }
-
- /**
- * 启动的时候,触发下gateway网关刷新
- *
- * 解决: 先启动gateway后启动服务,Swagger接口文档访问不通的问题
- * @param args
- */
- @Override
- public void run(String... args) {
- BaseMap params = new BaseMap();
- params.put(GlobalConstants.HANDLER_NAME, GlobalConstants.LODER_ROUDER_HANDLER);
- //刷新网关
- redisTemplate.convertAndSend(GlobalConstants.REDIS_TOPIC_NAME, params);
- }
-}
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-system-cloud-start/src/main/resources/application.yml b/jeecg-boot/jeecg-server-cloud/jeecg-system-cloud-start/src/main/resources/application.yml
deleted file mode 100644
index 9632d7382..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-system-cloud-start/src/main/resources/application.yml
+++ /dev/null
@@ -1,32 +0,0 @@
-server:
- port: 7001
-
-spring:
- application:
- name: jeecg-system
- cloud:
- nacos:
- config:
- server-addr: @config.server-addr@
- group: @config.group@
- namespace: @config.namespace@
- username: @config.username@
- password: @config.password@
- discovery:
- server-addr: ${spring.cloud.nacos.config.server-addr}
- group: @config.group@
- namespace: @config.namespace@
- username: @config.username@
- password: @config.password@
- config:
- import:
- - optional:classpath:config/application-liteflow.yml
- - optional:nacos:jeecg.yaml
- - optional:nacos:jeecg-@profile.name@.yaml
-# #shardingjdbc数据源
-# datasource:
-# dynamic:
-# datasource:
-# sharding-db:
-# driver-class-name: org.apache.shardingsphere.driver.ShardingSphereDriver
-# url: jdbc:shardingsphere:nacos:sharding.yaml?serverAddr=@config.server-addr@&namespace=@config.namespace@&group=@config.group@
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-system-cloud-start/src/main/resources/jeecg/jeecg_config.properties b/jeecg-boot/jeecg-server-cloud/jeecg-system-cloud-start/src/main/resources/jeecg/jeecg_config.properties
deleted file mode 100644
index 44618ab82..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-system-cloud-start/src/main/resources/jeecg/jeecg_config.properties
+++ /dev/null
@@ -1,29 +0,0 @@
-#code_generate_project_path
-project_path=E:\\workspace\\jeecg-boot
-#bussi_package[User defined]
-bussi_package=org.jeecg.modules.demo
-
-
-#default code path
-#source_root_package=src
-#webroot_package=WebRoot
-
-#maven code path
-source_root_package=src.main.java
-webroot_package=src.main.webapp
-
-#ftl resource url
-templatepath=/jeecg/code-template
-system_encoding=utf-8
-
-#db Table id [User defined]
-db_table_id=id
-
-#db convert flag[true/false]
-db_filed_convert=true
-
-#page Search Field num [User defined]
-page_search_filed_num=1
-#page_filter_fields
-page_filter_fields=create_time,create_by,update_time,update_by
-exclude_table=act_,ext_act_,design_,onl_,sys_,qrtz_
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-system-cloud-start/src/main/resources/jeecg/jeecg_database.properties b/jeecg-boot/jeecg-server-cloud/jeecg-system-cloud-start/src/main/resources/jeecg/jeecg_database.properties
deleted file mode 100644
index 45b49f608..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-system-cloud-start/src/main/resources/jeecg/jeecg_database.properties
+++ /dev/null
@@ -1,27 +0,0 @@
-#mysql
-diver_name=com.mysql.jdbc.Driver
-url=jdbc:mysql://localhost:3306/jeecg-boot?useUnicode=true&characterEncoding=UTF-8
-username=root
-password=root
-database_name=jeecg-boot
-
-#oracle
-#diver_name=oracle.jdbc.driver.OracleDriver
-#url=jdbc:oracle:thin:@192.168.1.200:1521:ORCL
-#username=scott
-#password=tiger
-#database_name=ORCL
-
-#postgre
-#diver_name=org.postgresql.Driver
-#url=jdbc:postgresql://localhost:5432/jeecg
-#username=postgres
-#password=postgres
-#database_name=jeecg
-
-#SQLServer2005\u4ee5\u4e0a
-#diver_name=org.hibernate.dialect.SQLServerDialect
-#url=jdbc:sqlserver://192.168.1.200:1433;DatabaseName=jeecg
-#username=sa
-#password=SA
-#database_name=jeecg
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-system-cloud-start/src/main/resources/logback-spring.xml b/jeecg-boot/jeecg-server-cloud/jeecg-system-cloud-start/src/main/resources/logback-spring.xml
deleted file mode 100644
index 60d4c7dfe..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-system-cloud-start/src/main/resources/logback-spring.xml
+++ /dev/null
@@ -1,77 +0,0 @@
-
-
-
-
-
-
-
-
-
-
- %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %highlight(%-5level) %cyan(%logger{50}:%L) - %msg%n
-
-
-
-
-
-
-
- ${LOG_HOME}/jeecg-system-%d{yyyy-MM-dd}.%i.log
-
- 30
- 10MB
-
-
-
- %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50}:%L - %msg%n
-
-
-
-
-
-
-
- ERROR
-
-
-
- %p%d%msg%M%F{32}%L
-
-
- ${LOG_HOME}/error-log.html
-
-
-
-
-
-
-
- ${LOG_HOME}/jeecg-system-%d{yyyy-MM-dd}.%i.html
-
- 30
- 10MB
-
-
-
- %p%d%msg%M%F{32}%L
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-monitor/README.md b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-monitor/README.md
deleted file mode 100644
index 2ed8dfd94..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-monitor/README.md
+++ /dev/null
@@ -1,2 +0,0 @@
-http://localhost:9111
-账号密码:admin/admin
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-monitor/pom.xml b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-monitor/pom.xml
deleted file mode 100644
index 4df18bec1..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-monitor/pom.xml
+++ /dev/null
@@ -1,71 +0,0 @@
-
-
-
- jeecg-visual
- org.jeecgframework.boot3
- 3.9.0
-
- 4.0.0
- jeecg-cloud-monitor
-
-
-
-
- org.springframework.boot
- spring-boot-starter-actuator
-
-
- de.codecentric
- spring-boot-admin-starter-server
- 3.5.2
-
-
- com.alibaba.cloud
- spring-cloud-starter-alibaba-nacos-discovery
-
-
-
- org.springframework.boot
- spring-boot-properties-migrator
- runtime
-
-
-
-
- org.springframework.boot
- spring-boot-starter-security
-
-
- org.springframework.boot
- spring-boot-starter-web
-
-
- org.springframework.boot
- spring-boot-starter-tomcat
-
-
-
-
-
- org.springframework.boot
- spring-boot-starter-undertow
-
-
-
-
-
-
- org.springframework.boot
- spring-boot-maven-plugin
-
-
-
-
- src/main/resources
- true
-
-
-
-
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-monitor/src/main/java/org/jeecg/monitor/JeecgMonitorApplication.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-monitor/src/main/java/org/jeecg/monitor/JeecgMonitorApplication.java
deleted file mode 100644
index 4b5e9a716..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-monitor/src/main/java/org/jeecg/monitor/JeecgMonitorApplication.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package org.jeecg.monitor;
-
-import de.codecentric.boot.admin.server.config.EnableAdminServer;
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-
-/**
- * 监控服务
- * @author zyf
- * @date: 2022/4/21 10:55
- */
-@SpringBootApplication
-@EnableAdminServer
-public class JeecgMonitorApplication {
- public static void main(String[] args) {
- SpringApplication.run(JeecgMonitorApplication.class, args);
- }
-}
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-monitor/src/main/java/org/jeecg/monitor/config/SecuritySecureConfig.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-monitor/src/main/java/org/jeecg/monitor/config/SecuritySecureConfig.java
deleted file mode 100644
index cd49b69b7..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-monitor/src/main/java/org/jeecg/monitor/config/SecuritySecureConfig.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package org.jeecg.monitor.config;
-
-import de.codecentric.boot.admin.server.config.AdminServerProperties;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.security.config.Customizer;
-import org.springframework.security.config.annotation.web.builders.HttpSecurity;
-import org.springframework.security.web.SecurityFilterChain;
-import org.springframework.security.web.authentication.SavedRequestAwareAuthenticationSuccessHandler;
-import org.springframework.security.web.csrf.CookieCsrfTokenRepository;
-
-/**
- * @author scott
- */
-@Configuration
-public class SecuritySecureConfig {
-
- private final String adminContextPath;
-
- public SecuritySecureConfig(AdminServerProperties adminServerProperties) {
- this.adminContextPath = adminServerProperties.getContextPath();
- }
-
-
- public SecurityFilterChain configure(HttpSecurity http) throws Exception {
- // 登录成功处理类
- SavedRequestAwareAuthenticationSuccessHandler successHandler = new SavedRequestAwareAuthenticationSuccessHandler();
- successHandler.setTargetUrlParameter("redirectTo");
- successHandler.setDefaultTargetUrl(adminContextPath + "/");
-
- http.authorizeRequests(authorize -> {
- try {
- authorize
-
- //静态文件允许访问
- .requestMatchers(adminContextPath + "/assets/**").permitAll()
- //登录页面允许访问
- .requestMatchers(adminContextPath + "/login", "/css/**", "/js/**", "/image/*").permitAll()
- //其他所有请求需要登录
- .anyRequest().authenticated()
- .and()
- //登录页面配置,用于替换security默认页面
- .formLogin(formLogin -> formLogin.loginPage(adminContextPath + "/login").successHandler(successHandler))
- //登出页面配置,用于替换security默认页面
- .logout(logout -> logout.logoutUrl(adminContextPath + "/logout"))
- .httpBasic(Customizer.withDefaults())
- .csrf(csrf -> csrf.csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse())
- .ignoringRequestMatchers(
- "/instances",
- "/actuator/**")
- );
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- );
-
- return http.build();
-
- }
-
-}
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-monitor/src/main/resources/application.yml b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-monitor/src/main/resources/application.yml
deleted file mode 100644
index f137704a7..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-monitor/src/main/resources/application.yml
+++ /dev/null
@@ -1,38 +0,0 @@
-server:
- port: 9111
-spring:
- boot:
- admin:
- ui:
- title: JeecgCloud监控中心
- client:
- instance:
- metadata:
- tags:
- environment: local
- security:
- user:
- name: "admin"
- password: "admin"
- application:
- name: jeecg-monitor
- cloud:
- nacos:
- discovery:
- server-addr: @config.server-addr@
- namespace: @config.namespace@
- metadata:
- user.name: ${spring.security.user.name}
- user.password: ${spring.security.user.password}
-# 服务端点检查
-management:
- httpexchanges:
- recording:
- enabled: true
- endpoints:
- web:
- exposure:
- include: "*"
- endpoint:
- health:
- show-details: always
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/Dockerfile b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/Dockerfile
deleted file mode 100644
index 7959611b9..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/Dockerfile
+++ /dev/null
@@ -1,15 +0,0 @@
-FROM registry.cn-hangzhou.aliyuncs.com/dockerhub_mirror/java:17-anolis
-
-MAINTAINER jeecgos@163.com
-
-RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
-
-RUN mkdir -p /jeecg-cloud-sentinel
-
-WORKDIR /jeecg-cloud-sentinel
-
-EXPOSE 8848
-
-ADD ./target/jeecg-cloud-sentinel-3.9.0.jar ./
-
-CMD sleep 5;java -Dfile.encoding=utf-8 -Djava.security.egd=file:/dev/./urandom -jar jeecg-cloud-sentinel-3.9.0.jar
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/README.md b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/README.md
deleted file mode 100644
index b3f2b7785..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/README.md
+++ /dev/null
@@ -1,9 +0,0 @@
-访问地址: http://localhost:9000
-账号密码:sentinel/sentinel
-
-
-# 使用方法
-
-- 1、第一次登录sentinel内容是空的,必须访问了微服务实例的请求才会出现配置
-- 2、sentinel做了深度改造,支持持久化到nacos中
-- 3、目前只针对gateway做的控制,其他服务不需要
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/pom.xml b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/pom.xml
deleted file mode 100644
index fbe47453d..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/pom.xml
+++ /dev/null
@@ -1,233 +0,0 @@
-
-
- 4.0.0
-
- org.springframework.boot
- spring-boot-starter-parent
- 2.7.18
-
-
- jeecg-cloud-sentinel
- jeecg-cloud-sentinel
- sentinel启动模块
- 3.9.0
-
-
-
- org.projectlombok
- lombok
-
-
- org.jeecgframework.cloud
- sentinel-dashboard
- 1.8.3
-
-
- sentinel-web-servlet
- com.alibaba.csp
-
-
- sentinel-transport-simple-http
- com.alibaba.csp
-
-
- sentinel-parameter-flow-control
- com.alibaba.csp
-
-
- sentinel-core
- com.alibaba.csp
-
-
- sentinel-api-gateway-adapter-common
- com.alibaba.csp
-
-
-
-
- com.alibaba.csp
- sentinel-datasource-nacos
- 1.8.3
-
-
- sentinel-core
- com.alibaba.csp
-
-
-
-
- com.alibaba.csp
- sentinel-core
- 1.8.3
-
-
- com.alibaba.csp
- sentinel-web-servlet
- 1.8.3
-
-
- sentinel-core
- com.alibaba.csp
-
-
-
-
- com.alibaba.csp
- sentinel-transport-simple-http
- 1.8.3
-
-
- com.alibaba.csp
- sentinel-parameter-flow-control
- 1.8.3
-
-
- sentinel-core
- com.alibaba.csp
-
-
-
-
- com.alibaba.csp
- sentinel-api-gateway-adapter-common
- 1.8.3
-
-
- sentinel-parameter-flow-control
- com.alibaba.csp
-
-
- sentinel-core
- com.alibaba.csp
-
-
-
-
- org.springframework.boot
- spring-boot-starter-web
-
-
-
- org.springframework.boot
- spring-boot-starter-undertow
-
-
-
- commons-lang
- commons-lang
- 2.6
-
-
-
- org.apache.httpcomponents
- httpclient
- 4.5.14
-
-
- org.apache.httpcomponents
- httpcore
- 4.4.5
-
-
- org.apache.httpcomponents
- httpasyncclient
- 4.1.3
-
-
- org.apache.httpcomponents
- httpcore-nio
- 4.4.6
-
-
-
-
-
-
- org.springframework.boot
- spring-boot-maven-plugin
-
-
-
-
-
-
-
-
- dev
-
-
- true
-
-
-
- dev
-
- jeecg-boot-nacos:8848
-
- springboot3
-
- DEFAULT_GROUP
-
-
-
-
-
-
-
-
- test
-
-
- test
-
- jeecg-boot-nacos:8848
-
- springboot3
-
- DEFAULT_GROUP
-
-
-
-
-
-
-
-
- docker
-
-
- docker
-
- jeecg-boot-nacos:8848
-
- springboot3
-
- DEFAULT_GROUP
-
-
-
-
-
-
-
-
- prod
-
-
- prod
-
- jeecg-boot-nacos:8848
-
- springboot3
-
- DEFAULT_GROUP
-
-
-
-
-
-
-
-
-
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/JeecgSentinelApplication.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/JeecgSentinelApplication.java
deleted file mode 100644
index a64b50a44..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/JeecgSentinelApplication.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright 1999-2018 Alibaba Group Holding Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.alibaba.csp.sentinel.dashboard;
-
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.context.ConfigurableApplicationContext;
-import org.springframework.core.env.Environment;
-import com.alibaba.csp.sentinel.init.InitExecutor;
-import lombok.extern.slf4j.Slf4j;
-
-/**
- * Sentinel dashboard application.
- *
- * @author Carpenter Lee
- */
-@SpringBootApplication
-@Slf4j
-public class JeecgSentinelApplication {
-
- public static void main(String[] args) {
- System.setProperty("csp.sentinel.app.type", "1");
- triggerSentinelInit();
- ConfigurableApplicationContext application = SpringApplication.run(JeecgSentinelApplication.class, args);
- Environment env = application.getEnvironment();
- // 目前jeecg-sentinel 1.8.3 版本存在alibaba-sentinel 1.8.3版本 启动nacos数据源导致配置不生效的问题,以下为临时处理办法
- System.getProperties().setProperty("sentinel.dashboard.auth.username", env.getProperty("sentinel.dashboard.auth.username"));
- System.getProperties().setProperty("sentinel.dashboard.auth.password", env.getProperty("sentinel.dashboard.auth.password"));
- String port = env.getProperty("server.port");
- log.info("\n----------------------------------------------------------\n\t" +
- "Application SentinelDashboard is running! Access URLs:\n\t" +
- "Local: \t\thttp://localhost:" + port + "/\n\t" +
- "----------------------------------------------------------");
- }
-
- private static void triggerSentinelInit() {
- new Thread(() -> InitExecutor.doInit()).start();
- }
-}
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/constants/SentinelConStants.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/constants/SentinelConStants.java
deleted file mode 100644
index acb34985d..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/constants/SentinelConStants.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package com.alibaba.csp.sentinel.dashboard.constants;
-
-/**
- * sentinel常量配置
- * @author zyf
- */
-public class SentinelConStants {
- public static final String GROUP_ID = "SENTINEL_GROUP";
-
- /**
- * 流控规则
- */
- public static final String FLOW_DATA_ID_POSTFIX = "-flow-rules";
- /**
- * 热点参数
- */
- public static final String PARAM_FLOW_DATA_ID_POSTFIX = "-param-rules";
- /**
- * 降级规则
- */
- public static final String DEGRADE_DATA_ID_POSTFIX = "-degrade-rules";
- /**
- * 系统规则
- */
- public static final String SYSTEM_DATA_ID_POSTFIX = "-system-rules";
- /**
- * 授权规则
- */
- public static final String AUTHORITY_DATA_ID_POSTFIX = "-authority-rules";
-
- /**
- * 网关API
- */
- public static final String GETEWAY_API_DATA_ID_POSTFIX = "-api-rules";
- /**
- * 网关流控规则
- */
- public static final String GETEWAY_FLOW_DATA_ID_POSTFIX = "-flow-rules";
-}
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/controller/AuthorityRuleController.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/controller/AuthorityRuleController.java
deleted file mode 100644
index a6da64334..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/controller/AuthorityRuleController.java
+++ /dev/null
@@ -1,181 +0,0 @@
-package com.alibaba.csp.sentinel.dashboard.controller;
-
-
-import java.util.Date;
-import java.util.List;
-
-import com.alibaba.csp.sentinel.dashboard.auth.AuthAction;
-import com.alibaba.csp.sentinel.dashboard.auth.AuthService.PrivilegeType;
-import com.alibaba.csp.sentinel.dashboard.controller.base.BaseRuleController;
-import com.alibaba.csp.sentinel.dashboard.rule.DynamicRuleProvider;
-import com.alibaba.csp.sentinel.dashboard.rule.DynamicRulePublisher;
-import com.alibaba.csp.sentinel.slots.block.RuleConstant;
-import com.alibaba.csp.sentinel.util.StringUtil;
-
-import com.alibaba.csp.sentinel.dashboard.datasource.entity.rule.AuthorityRuleEntity;
-import com.alibaba.csp.sentinel.dashboard.domain.Result;
-import com.alibaba.csp.sentinel.dashboard.repository.rule.RuleRepository;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.web.bind.annotation.DeleteMapping;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.PutMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * 授权规则控制器
- *
- * @author zyf
- * @date 2022-04-13
- */
-@RestController
-@RequestMapping(value = "/authority")
-public class AuthorityRuleController extends BaseRuleController {
-
- private final Logger logger = LoggerFactory.getLogger(AuthorityRuleController.class);
-
- @Autowired
- private RuleRepository repository;
- @Autowired
- @Qualifier("authorityRuleNacosProvider")
- private DynamicRuleProvider> ruleProvider;
- @Autowired
- @Qualifier("authorityRuleNacosPublisher")
- private DynamicRulePublisher> rulePublisher;
-
- @GetMapping("/rules")
- @AuthAction(PrivilegeType.READ_RULE)
- public Result> apiQueryAllRulesForMachine(@RequestParam String app,
- @RequestParam String ip,
- @RequestParam Integer port) {
- if (StringUtil.isEmpty(app)) {
- return Result.ofFail(-1, "app cannot be null or empty");
- }
- if (StringUtil.isEmpty(ip)) {
- return Result.ofFail(-1, "ip cannot be null or empty");
- }
- if (port == null || port <= 0) {
- return Result.ofFail(-1, "Invalid parameter: port");
- }
- try {
- List rules = ruleProvider.getRules(app);
- rules = repository.saveAll(rules);
- return Result.ofSuccess(rules);
- } catch (Throwable throwable) {
- logger.error("Error when querying authority rules", throwable);
- return Result.ofFail(-1, throwable.getMessage());
- }
- }
-
- private Result checkEntityInternal(AuthorityRuleEntity entity) {
- if (entity == null) {
- return Result.ofFail(-1, "bad rule body");
- }
- if (StringUtil.isBlank(entity.getApp())) {
- return Result.ofFail(-1, "app can't be null or empty");
- }
- if (StringUtil.isBlank(entity.getIp())) {
- return Result.ofFail(-1, "ip can't be null or empty");
- }
- if (entity.getPort() == null || entity.getPort() <= 0) {
- return Result.ofFail(-1, "port can't be null");
- }
- if (entity.getRule() == null) {
- return Result.ofFail(-1, "rule can't be null");
- }
- if (StringUtil.isBlank(entity.getResource())) {
- return Result.ofFail(-1, "resource name cannot be null or empty");
- }
- if (StringUtil.isBlank(entity.getLimitApp())) {
- return Result.ofFail(-1, "limitApp should be valid");
- }
- if (entity.getStrategy() != RuleConstant.AUTHORITY_WHITE
- && entity.getStrategy() != RuleConstant.AUTHORITY_BLACK) {
- return Result.ofFail(-1, "Unknown strategy (must be blacklist or whitelist)");
- }
- return null;
- }
-
- @PostMapping("/rule")
- @AuthAction(PrivilegeType.WRITE_RULE)
- public Result apiAddAuthorityRule(@RequestBody AuthorityRuleEntity entity) {
- Result checkResult = checkEntityInternal(entity);
- if (checkResult != null) {
- return checkResult;
- }
- entity.setId(null);
- Date date = new Date();
- entity.setGmtCreate(date);
- entity.setGmtModified(date);
- try {
- entity = repository.save(entity);
- publishRules(entity.getApp());
- } catch (Throwable throwable) {
- logger.error("Failed to add authority rule", throwable);
- return Result.ofThrowable(-1, throwable);
- }
- return Result.ofSuccess(entity);
- }
-
- @PutMapping("/rule/{id}")
- @AuthAction(PrivilegeType.WRITE_RULE)
- public Result apiUpdateParamFlowRule(@PathVariable("id") Long id,
- @RequestBody AuthorityRuleEntity entity) {
- if (id == null || id <= 0) {
- return Result.ofFail(-1, "Invalid id");
- }
- Result checkResult = checkEntityInternal(entity);
- if (checkResult != null) {
- return checkResult;
- }
- entity.setId(id);
- Date date = new Date();
- entity.setGmtCreate(null);
- entity.setGmtModified(date);
- try {
- entity = repository.save(entity);
- if (entity == null) {
- return Result.ofFail(-1, "Failed to save authority rule");
- }
- publishRules(entity.getApp());
- } catch (Throwable throwable) {
- logger.error("Failed to save authority rule", throwable);
- return Result.ofThrowable(-1, throwable);
- }
- return Result.ofSuccess(entity);
- }
-
- @DeleteMapping("/rule/{id}")
- @AuthAction(PrivilegeType.DELETE_RULE)
- public Result apiDeleteRule(@PathVariable("id") Long id) {
- if (id == null) {
- return Result.ofFail(-1, "id cannot be null");
- }
- AuthorityRuleEntity oldEntity = repository.findById(id);
- if (oldEntity == null) {
- return Result.ofSuccess(null);
- }
- try {
- repository.delete(id);
- publishRules(oldEntity.getApp());
- } catch (Exception e) {
- return Result.ofFail(-1, e.getMessage());
- }
- return Result.ofSuccess(id);
- }
-
- private void publishRules(String app) throws Exception {
- List rules = repository.findAllByApp(app);
- rulePublisher.publish(app, rules);
- //延迟加载
- delayTime();
- }
-}
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/controller/DegradeController.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/controller/DegradeController.java
deleted file mode 100644
index 1a451c29b..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/controller/DegradeController.java
+++ /dev/null
@@ -1,209 +0,0 @@
-package com.alibaba.csp.sentinel.dashboard.controller;
-
-
-import java.util.Date;
-import java.util.List;
-
-import com.alibaba.csp.sentinel.dashboard.auth.AuthAction;
-import com.alibaba.csp.sentinel.dashboard.auth.AuthService.PrivilegeType;
-import com.alibaba.csp.sentinel.dashboard.controller.base.BaseRuleController;
-import com.alibaba.csp.sentinel.dashboard.repository.rule.RuleRepository;
-import com.alibaba.csp.sentinel.dashboard.rule.DynamicRuleProvider;
-import com.alibaba.csp.sentinel.dashboard.rule.DynamicRulePublisher;
-import com.alibaba.csp.sentinel.slots.block.RuleConstant;
-import com.alibaba.csp.sentinel.slots.block.degrade.circuitbreaker.CircuitBreakerStrategy;
-import com.alibaba.csp.sentinel.util.StringUtil;
-
-import com.alibaba.csp.sentinel.dashboard.datasource.entity.rule.DegradeRuleEntity;
-import com.alibaba.csp.sentinel.dashboard.domain.Result;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.web.bind.annotation.DeleteMapping;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.PutMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * 降级规则控制器
- *
- * @author zyf
- * @date 2022-04-13
- */
-@RestController
-@RequestMapping("/degrade")
-public class DegradeController extends BaseRuleController {
-
- private final Logger logger = LoggerFactory.getLogger(DegradeController.class);
-
- @Autowired
- private RuleRepository repository;
- @Autowired
- @Qualifier("degradeRuleNacosProvider")
- private DynamicRuleProvider> ruleProvider;
- @Autowired
- @Qualifier("degradeRuleNacosPublisher")
- private DynamicRulePublisher> rulePublisher;
-
- @GetMapping("/rules.json")
- @AuthAction(PrivilegeType.READ_RULE)
- public Result> apiQueryMachineRules(String app, String ip, Integer port) {
- if (StringUtil.isEmpty(app)) {
- return Result.ofFail(-1, "app can't be null or empty");
- }
- if (StringUtil.isEmpty(ip)) {
- return Result.ofFail(-1, "ip can't be null or empty");
- }
- if (port == null) {
- return Result.ofFail(-1, "port can't be null");
- }
- try {
- List rules = ruleProvider.getRules(app);
- rules = repository.saveAll(rules);
- return Result.ofSuccess(rules);
- } catch (Throwable throwable) {
- logger.error("queryApps error:", throwable);
- return Result.ofThrowable(-1, throwable);
- }
- }
-
- @PostMapping("/rule")
- @AuthAction(PrivilegeType.WRITE_RULE)
- public Result apiAddRule(@RequestBody DegradeRuleEntity entity) {
- Result checkResult = checkEntityInternal(entity);
- if (checkResult != null) {
- return checkResult;
- }
- Date date = new Date();
- entity.setGmtCreate(date);
- entity.setGmtModified(date);
- try {
- entity = repository.save(entity);
- publishRules(entity.getApp());
- } catch (Throwable t) {
- logger.error("Failed to add new degrade rule, app={}, ip={}", entity.getApp(), entity.getIp(), t);
- return Result.ofThrowable(-1, t);
- }
- return Result.ofSuccess(entity);
- }
-
- @PutMapping("/rule/{id}")
- @AuthAction(PrivilegeType.WRITE_RULE)
- public Result apiUpdateRule(@PathVariable("id") Long id,
- @RequestBody DegradeRuleEntity entity) {
- if (id == null || id <= 0) {
- return Result.ofFail(-1, "id can't be null or negative");
- }
- DegradeRuleEntity oldEntity = repository.findById(id);
- if (oldEntity == null) {
- return Result.ofFail(-1, "Degrade rule does not exist, id=" + id);
- }
- entity.setApp(oldEntity.getApp());
- entity.setIp(oldEntity.getIp());
- entity.setPort(oldEntity.getPort());
- entity.setId(oldEntity.getId());
- Result checkResult = checkEntityInternal(entity);
- if (checkResult != null) {
- return checkResult;
- }
-
- entity.setGmtCreate(oldEntity.getGmtCreate());
- entity.setGmtModified(new Date());
- try {
- entity = repository.save(entity);
- publishRules(entity.getApp());
- } catch (Throwable t) {
- logger.error("Failed to save degrade rule, id={}, rule={}", id, entity, t);
- return Result.ofThrowable(-1, t);
- }
- return Result.ofSuccess(entity);
- }
-
- @DeleteMapping("/rule/{id}")
- @AuthAction(PrivilegeType.DELETE_RULE)
- public Result delete(@PathVariable("id") Long id) {
- if (id == null) {
- return Result.ofFail(-1, "id can't be null");
- }
-
- DegradeRuleEntity oldEntity = repository.findById(id);
- if (oldEntity == null) {
- return Result.ofSuccess(null);
- }
-
- try {
- repository.delete(id);
- publishRules(oldEntity.getApp());
- } catch (Throwable throwable) {
- logger.error("Failed to delete degrade rule, id={}", id, throwable);
- return Result.ofThrowable(-1, throwable);
- }
- return Result.ofSuccess(id);
- }
-
- private void publishRules(/*@NonNull*/ String app) throws Exception {
- List rules = repository.findAllByApp(app);
- rulePublisher.publish(app, rules);
- //延迟加载
- delayTime();
- }
-
- private Result checkEntityInternal(DegradeRuleEntity entity) {
- if (StringUtil.isBlank(entity.getApp())) {
- return Result.ofFail(-1, "app can't be blank");
- }
- if (StringUtil.isBlank(entity.getIp())) {
- return Result.ofFail(-1, "ip can't be null or empty");
- }
- if (entity.getPort() == null || entity.getPort() <= 0) {
- return Result.ofFail(-1, "invalid port: " + entity.getPort());
- }
- if (StringUtil.isBlank(entity.getLimitApp())) {
- return Result.ofFail(-1, "limitApp can't be null or empty");
- }
- if (StringUtil.isBlank(entity.getResource())) {
- return Result.ofFail(-1, "resource can't be null or empty");
- }
- Double threshold = entity.getCount();
- if (threshold == null || threshold < 0) {
- return Result.ofFail(-1, "invalid threshold: " + threshold);
- }
- Integer recoveryTimeoutSec = entity.getTimeWindow();
- if (recoveryTimeoutSec == null || recoveryTimeoutSec <= 0) {
- return Result.ofFail(-1, "recoveryTimeout should be positive");
- }
- Integer strategy = entity.getGrade();
- if (strategy == null) {
- return Result.ofFail(-1, "circuit breaker strategy cannot be null");
- }
- if (strategy < CircuitBreakerStrategy.SLOW_REQUEST_RATIO.getType()
- || strategy > RuleConstant.DEGRADE_GRADE_EXCEPTION_COUNT) {
- return Result.ofFail(-1, "Invalid circuit breaker strategy: " + strategy);
- }
- if (entity.getMinRequestAmount() == null || entity.getMinRequestAmount() <= 0) {
- return Result.ofFail(-1, "Invalid minRequestAmount");
- }
- if (entity.getStatIntervalMs() == null || entity.getStatIntervalMs() <= 0) {
- return Result.ofFail(-1, "Invalid statInterval");
- }
- if (strategy == RuleConstant.DEGRADE_GRADE_RT) {
- Double slowRatio = entity.getSlowRatioThreshold();
- if (slowRatio == null) {
- return Result.ofFail(-1, "SlowRatioThreshold is required for slow request ratio strategy");
- } else if (slowRatio < 0 || slowRatio > 1) {
- return Result.ofFail(-1, "SlowRatioThreshold should be in range: [0.0, 1.0]");
- }
- } else if (strategy == RuleConstant.DEGRADE_GRADE_EXCEPTION_RATIO) {
- if (threshold > 1) {
- return Result.ofFail(-1, "Ratio threshold should be in range: [0.0, 1.0]");
- }
- }
- return null;
- }
-}
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/controller/ParamFlowRuleController.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/controller/ParamFlowRuleController.java
deleted file mode 100644
index 1c40256e7..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/controller/ParamFlowRuleController.java
+++ /dev/null
@@ -1,253 +0,0 @@
-package com.alibaba.csp.sentinel.dashboard.controller;
-
-
-import com.alibaba.csp.sentinel.dashboard.auth.AuthAction;
-import com.alibaba.csp.sentinel.dashboard.auth.AuthService;
-import com.alibaba.csp.sentinel.dashboard.auth.AuthService.PrivilegeType;
-import com.alibaba.csp.sentinel.dashboard.client.CommandNotFoundException;
-import com.alibaba.csp.sentinel.dashboard.controller.base.BaseRuleController;
-import com.alibaba.csp.sentinel.dashboard.datasource.entity.SentinelVersion;
-import com.alibaba.csp.sentinel.dashboard.datasource.entity.rule.ParamFlowRuleEntity;
-import com.alibaba.csp.sentinel.dashboard.discovery.AppManagement;
-import com.alibaba.csp.sentinel.dashboard.domain.Result;
-import com.alibaba.csp.sentinel.dashboard.repository.rule.RuleRepository;
-import com.alibaba.csp.sentinel.dashboard.rule.DynamicRuleProvider;
-import com.alibaba.csp.sentinel.dashboard.rule.DynamicRulePublisher;
-import com.alibaba.csp.sentinel.dashboard.util.VersionUtils;
-import com.alibaba.csp.sentinel.slots.block.RuleConstant;
-import com.alibaba.csp.sentinel.util.StringUtil;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.web.bind.annotation.*;
-
-import java.util.Date;
-import java.util.List;
-import java.util.Optional;
-import java.util.concurrent.ExecutionException;
-/**
- * 热点参数规则控制器
- *
- * @author zyf
- * @date 2022-04-13
- */
-@RestController
-@RequestMapping(value = "/paramFlow")
-public class ParamFlowRuleController extends BaseRuleController {
-
- private final Logger logger = LoggerFactory.getLogger(ParamFlowRuleController.class);
-
- @Autowired
- private AppManagement appManagement;
- @Autowired
- private RuleRepository repository;
- @Autowired
- @Qualifier("paramFlowRuleNacosProvider")
- private DynamicRuleProvider> ruleProvider;
- @Autowired
- @Qualifier("paramFlowRuleNacosPublisher")
- private DynamicRulePublisher> rulePublisher;
-
- private boolean checkIfSupported(String app, String ip, int port) {
- try {
- return Optional.ofNullable(appManagement.getDetailApp(app))
- .flatMap(e -> e.getMachine(ip, port))
- .flatMap(m -> VersionUtils.parseVersion(m.getVersion())
- .map(v -> v.greaterOrEqual(version020)))
- .orElse(true);
- // If error occurred or cannot retrieve machine info, return true.
- } catch (Exception ex) {
- return true;
- }
- }
-
- @GetMapping("/rules")
- @AuthAction(PrivilegeType.READ_RULE)
- public Result> apiQueryAllRulesForMachine(@RequestParam String app,
- @RequestParam String ip,
- @RequestParam Integer port) {
- if (StringUtil.isEmpty(app)) {
- return Result.ofFail(-1, "app cannot be null or empty");
- }
- if (StringUtil.isEmpty(ip)) {
- return Result.ofFail(-1, "ip cannot be null or empty");
- }
- if (port == null || port <= 0) {
- return Result.ofFail(-1, "Invalid parameter: port");
- }
- if (!checkIfSupported(app, ip, port)) {
- return unsupportedVersion();
- }
- try {
- List rules = ruleProvider.getRules(app);
- rules = repository.saveAll(rules);
- return Result.ofSuccess(rules);
- } catch (ExecutionException ex) {
- logger.error("Error when querying parameter flow rules", ex.getCause());
- if (isNotSupported(ex.getCause())) {
- return unsupportedVersion();
- } else {
- return Result.ofThrowable(-1, ex.getCause());
- }
- } catch (Throwable throwable) {
- logger.error("Error when querying parameter flow rules", throwable);
- return Result.ofFail(-1, throwable.getMessage());
- }
- }
-
- private boolean isNotSupported(Throwable ex) {
- return ex instanceof CommandNotFoundException;
- }
-
- @PostMapping("/rule")
- @AuthAction(AuthService.PrivilegeType.WRITE_RULE)
- public Result apiAddParamFlowRule(@RequestBody ParamFlowRuleEntity entity) {
- Result checkResult = checkEntityInternal(entity);
- if (checkResult != null) {
- return checkResult;
- }
- if (!checkIfSupported(entity.getApp(), entity.getIp(), entity.getPort())) {
- return unsupportedVersion();
- }
- entity.setId(null);
- entity.getRule().setResource(entity.getResource().trim());
- Date date = new Date();
- entity.setGmtCreate(date);
- entity.setGmtModified(date);
- try {
- entity = repository.save(entity);
- publishRules(entity.getApp());
- return Result.ofSuccess(entity);
- } catch (ExecutionException ex) {
- logger.error("Error when adding new parameter flow rules", ex.getCause());
- if (isNotSupported(ex.getCause())) {
- return unsupportedVersion();
- } else {
- return Result.ofThrowable(-1, ex.getCause());
- }
- } catch (Throwable throwable) {
- logger.error("Error when adding new parameter flow rules", throwable);
- return Result.ofFail(-1, throwable.getMessage());
- }
- }
-
- private Result checkEntityInternal(ParamFlowRuleEntity entity) {
- if (entity == null) {
- return Result.ofFail(-1, "bad rule body");
- }
- if (StringUtil.isBlank(entity.getApp())) {
- return Result.ofFail(-1, "app can't be null or empty");
- }
- if (StringUtil.isBlank(entity.getIp())) {
- return Result.ofFail(-1, "ip can't be null or empty");
- }
- if (entity.getPort() == null || entity.getPort() <= 0) {
- return Result.ofFail(-1, "port can't be null");
- }
- if (entity.getRule() == null) {
- return Result.ofFail(-1, "rule can't be null");
- }
- if (StringUtil.isBlank(entity.getResource())) {
- return Result.ofFail(-1, "resource name cannot be null or empty");
- }
- if (entity.getCount() < 0) {
- return Result.ofFail(-1, "count should be valid");
- }
- if (entity.getGrade() != RuleConstant.FLOW_GRADE_QPS) {
- return Result.ofFail(-1, "Unknown mode (blockGrade) for parameter flow control");
- }
- if (entity.getParamIdx() == null || entity.getParamIdx() < 0) {
- return Result.ofFail(-1, "paramIdx should be valid");
- }
- if (entity.getDurationInSec() <= 0) {
- return Result.ofFail(-1, "durationInSec should be valid");
- }
- if (entity.getControlBehavior() < 0) {
- return Result.ofFail(-1, "controlBehavior should be valid");
- }
- return null;
- }
-
- @PutMapping("/rule/{id}")
- @AuthAction(AuthService.PrivilegeType.WRITE_RULE)
- public Result apiUpdateParamFlowRule(@PathVariable("id") Long id,
- @RequestBody ParamFlowRuleEntity entity) {
- if (id == null || id <= 0) {
- return Result.ofFail(-1, "Invalid id");
- }
- ParamFlowRuleEntity oldEntity = repository.findById(id);
- if (oldEntity == null) {
- return Result.ofFail(-1, "id " + id + " does not exist");
- }
-
- Result checkResult = checkEntityInternal(entity);
- if (checkResult != null) {
- return checkResult;
- }
- if (!checkIfSupported(entity.getApp(), entity.getIp(), entity.getPort())) {
- return unsupportedVersion();
- }
- entity.setId(id);
- Date date = new Date();
- entity.setGmtCreate(oldEntity.getGmtCreate());
- entity.setGmtModified(date);
- try {
- entity = repository.save(entity);
- publishRules(entity.getApp());
- return Result.ofSuccess(entity);
- } catch (ExecutionException ex) {
- logger.error("Error when updating parameter flow rules, id=" + id, ex.getCause());
- if (isNotSupported(ex.getCause())) {
- return unsupportedVersion();
- } else {
- return Result.ofThrowable(-1, ex.getCause());
- }
- } catch (Throwable throwable) {
- logger.error("Error when updating parameter flow rules, id=" + id, throwable);
- return Result.ofFail(-1, throwable.getMessage());
- }
- }
-
- @DeleteMapping("/rule/{id}")
- @AuthAction(PrivilegeType.DELETE_RULE)
- public Result apiDeleteRule(@PathVariable("id") Long id) {
- if (id == null) {
- return Result.ofFail(-1, "id cannot be null");
- }
- ParamFlowRuleEntity oldEntity = repository.findById(id);
- if (oldEntity == null) {
- return Result.ofSuccess(null);
- }
-
- try {
- repository.delete(id);
- publishRules(oldEntity.getApp());
- return Result.ofSuccess(id);
- } catch (ExecutionException ex) {
- logger.error("Error when deleting parameter flow rules", ex.getCause());
- if (isNotSupported(ex.getCause())) {
- return unsupportedVersion();
- } else {
- return Result.ofThrowable(-1, ex.getCause());
- }
- } catch (Throwable throwable) {
- logger.error("Error when deleting parameter flow rules", throwable);
- return Result.ofFail(-1, throwable.getMessage());
- }
- }
-
- private void publishRules(String app) throws Exception {
- List rules = repository.findAllByApp(app);
- rulePublisher.publish(app, rules);
- //延迟加载
- delayTime();
- }
-
- private Result unsupportedVersion() {
- return Result.ofFail(4041,
- "Sentinel client not supported for parameter flow control (unsupported version or dependency absent)");
- }
-
- private final SentinelVersion version020 = new SentinelVersion().setMinorVersion(2);
-}
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/controller/SystemController.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/controller/SystemController.java
deleted file mode 100644
index 74ba45395..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/controller/SystemController.java
+++ /dev/null
@@ -1,242 +0,0 @@
-package com.alibaba.csp.sentinel.dashboard.controller;
-
-
-import java.util.Date;
-import java.util.List;
-
-import com.alibaba.csp.sentinel.dashboard.auth.AuthAction;
-import com.alibaba.csp.sentinel.dashboard.auth.AuthService.PrivilegeType;
-import com.alibaba.csp.sentinel.dashboard.controller.base.BaseRuleController;
-import com.alibaba.csp.sentinel.dashboard.repository.rule.RuleRepository;
-import com.alibaba.csp.sentinel.dashboard.rule.DynamicRuleProvider;
-import com.alibaba.csp.sentinel.dashboard.rule.DynamicRulePublisher;
-import com.alibaba.csp.sentinel.util.StringUtil;
-
-import com.alibaba.csp.sentinel.dashboard.datasource.entity.rule.SystemRuleEntity;
-import com.alibaba.csp.sentinel.dashboard.domain.Result;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-
-/**
- * 系统规则控制器
- *
- * @author zyf
- * @date 2022-04-13
- */
-@RestController
-@RequestMapping("/system")
-public class SystemController extends BaseRuleController {
-
- private final Logger logger = LoggerFactory.getLogger(SystemController.class);
-
- @Autowired
- private RuleRepository repository;
- @Autowired
- @Qualifier("systemRuleNacosProvider")
- private DynamicRuleProvider> ruleProvider;
- @Autowired
- @Qualifier("systemRuleNacosPublisher")
- private DynamicRulePublisher> rulePublisher;
-
- private Result checkBasicParams(String app, String ip, Integer port) {
- if (StringUtil.isEmpty(app)) {
- return Result.ofFail(-1, "app can't be null or empty");
- }
- if (StringUtil.isEmpty(ip)) {
- return Result.ofFail(-1, "ip can't be null or empty");
- }
- if (port == null) {
- return Result.ofFail(-1, "port can't be null");
- }
- if (port <= 0 || port > 65535) {
- return Result.ofFail(-1, "port should be in (0, 65535)");
- }
- return null;
- }
-
- @GetMapping("/rules.json")
- @AuthAction(PrivilegeType.READ_RULE)
- public Result> apiQueryMachineRules(String app, String ip,
- Integer port) {
- Result> checkResult = checkBasicParams(app, ip, port);
- if (checkResult != null) {
- return checkResult;
- }
- try {
- List rules = ruleProvider.getRules(app);
- rules = repository.saveAll(rules);
- return Result.ofSuccess(rules);
- } catch (Throwable throwable) {
- logger.error("Query machine system rules error", throwable);
- return Result.ofThrowable(-1, throwable);
- }
- }
-
- private int countNotNullAndNotNegative(Number... values) {
- int notNullCount = 0;
- for (int i = 0; i < values.length; i++) {
- if (values[i] != null && values[i].doubleValue() >= 0) {
- notNullCount++;
- }
- }
- return notNullCount;
- }
-
- @RequestMapping("/new.json")
- @AuthAction(PrivilegeType.WRITE_RULE)
- public Result apiAdd(String app, String ip, Integer port,
- Double highestSystemLoad, Double highestCpuUsage, Long avgRt,
- Long maxThread, Double qps) {
-
- Result checkResult = checkBasicParams(app, ip, port);
- if (checkResult != null) {
- return checkResult;
- }
-
- int notNullCount = countNotNullAndNotNegative(highestSystemLoad, avgRt, maxThread, qps, highestCpuUsage);
- if (notNullCount != 1) {
- return Result.ofFail(-1, "only one of [highestSystemLoad, avgRt, maxThread, qps,highestCpuUsage] "
- + "value must be set > 0, but " + notNullCount + " values get");
- }
- if (null != highestCpuUsage && highestCpuUsage > 1) {
- return Result.ofFail(-1, "highestCpuUsage must between [0.0, 1.0]");
- }
- SystemRuleEntity entity = new SystemRuleEntity();
- entity.setApp(app.trim());
- entity.setIp(ip.trim());
- entity.setPort(port);
- // -1 is a fake value
- if (null != highestSystemLoad) {
- entity.setHighestSystemLoad(highestSystemLoad);
- } else {
- entity.setHighestSystemLoad(-1D);
- }
-
- if (null != highestCpuUsage) {
- entity.setHighestCpuUsage(highestCpuUsage);
- } else {
- entity.setHighestCpuUsage(-1D);
- }
-
- if (avgRt != null) {
- entity.setAvgRt(avgRt);
- } else {
- entity.setAvgRt(-1L);
- }
- if (maxThread != null) {
- entity.setMaxThread(maxThread);
- } else {
- entity.setMaxThread(-1L);
- }
- if (qps != null) {
- entity.setQps(qps);
- } else {
- entity.setQps(-1D);
- }
- Date date = new Date();
- entity.setGmtCreate(date);
- entity.setGmtModified(date);
- try {
- entity = repository.save(entity);
- publishRules(app);
- } catch (Throwable throwable) {
- logger.error("Add SystemRule error", throwable);
- return Result.ofThrowable(-1, throwable);
- }
- return Result.ofSuccess(entity);
- }
-
- @GetMapping("/save.json")
- @AuthAction(PrivilegeType.WRITE_RULE)
- public Result apiUpdateIfNotNull(Long id, String app, Double highestSystemLoad,
- Double highestCpuUsage, Long avgRt, Long maxThread, Double qps) {
- if (id == null) {
- return Result.ofFail(-1, "id can't be null");
- }
- SystemRuleEntity entity = repository.findById(id);
- if (entity == null) {
- return Result.ofFail(-1, "id " + id + " dose not exist");
- }
-
- if (StringUtil.isNotBlank(app)) {
- entity.setApp(app.trim());
- }
- if (highestSystemLoad != null) {
- if (highestSystemLoad < 0) {
- return Result.ofFail(-1, "highestSystemLoad must >= 0");
- }
- entity.setHighestSystemLoad(highestSystemLoad);
- }
- if (highestCpuUsage != null) {
- if (highestCpuUsage < 0) {
- return Result.ofFail(-1, "highestCpuUsage must >= 0");
- }
- if (highestCpuUsage > 1) {
- return Result.ofFail(-1, "highestCpuUsage must <= 1");
- }
- entity.setHighestCpuUsage(highestCpuUsage);
- }
- if (avgRt != null) {
- if (avgRt < 0) {
- return Result.ofFail(-1, "avgRt must >= 0");
- }
- entity.setAvgRt(avgRt);
- }
- if (maxThread != null) {
- if (maxThread < 0) {
- return Result.ofFail(-1, "maxThread must >= 0");
- }
- entity.setMaxThread(maxThread);
- }
- if (qps != null) {
- if (qps < 0) {
- return Result.ofFail(-1, "qps must >= 0");
- }
- entity.setQps(qps);
- }
- Date date = new Date();
- entity.setGmtModified(date);
- try {
- entity = repository.save(entity);
- publishRules(entity.getApp());
- } catch (Throwable throwable) {
- logger.error("save error:", throwable);
- return Result.ofThrowable(-1, throwable);
- }
- return Result.ofSuccess(entity);
- }
-
- @RequestMapping("/delete.json")
- @AuthAction(PrivilegeType.DELETE_RULE)
- public Result> delete(Long id) {
- if (id == null) {
- return Result.ofFail(-1, "id can't be null");
- }
- SystemRuleEntity oldEntity = repository.findById(id);
- if (oldEntity == null) {
- return Result.ofSuccess(null);
- }
- try {
- repository.delete(id);
- publishRules(oldEntity.getApp());
- } catch (Throwable throwable) {
- logger.error("delete error:", throwable);
- return Result.ofThrowable(-1, throwable);
- }
- return Result.ofSuccess(id);
- }
-
- private void publishRules(String app) throws Exception {
- List rules = repository.findAllByApp(app);
- rulePublisher.publish(app, rules);
- //延迟加载
- delayTime();
- }
-}
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/controller/base/BaseRuleController.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/controller/base/BaseRuleController.java
deleted file mode 100644
index d163f65b0..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/controller/base/BaseRuleController.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package com.alibaba.csp.sentinel.dashboard.controller.base;
-
-import java.util.concurrent.TimeUnit;
-
-
-/**
- * Nacos持久化通用处理类
- *
- * @author zyf
- * @date 2022-04-13
- */
-public class BaseRuleController {
- /**
- * 延迟一下
- *
- * 解释:列表加载数据的时候,Nacos持久化还没做完,导致加载数据不对
- */
- public static void delayTime(){
- try {
- TimeUnit.MILLISECONDS.sleep(100);
- System.out.println("-------------睡100毫秒-----------");
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
-}
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/controller/gateway/GatewayApiController.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/controller/gateway/GatewayApiController.java
deleted file mode 100644
index df641c040..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/controller/gateway/GatewayApiController.java
+++ /dev/null
@@ -1,260 +0,0 @@
-package com.alibaba.csp.sentinel.dashboard.controller.gateway;
-
-import com.alibaba.csp.sentinel.dashboard.auth.AuthAction;
-import com.alibaba.csp.sentinel.dashboard.auth.AuthService;
-import com.alibaba.csp.sentinel.dashboard.controller.base.BaseRuleController;
-import com.alibaba.csp.sentinel.dashboard.datasource.entity.gateway.ApiDefinitionEntity;
-import com.alibaba.csp.sentinel.dashboard.datasource.entity.gateway.ApiPredicateItemEntity;
-import com.alibaba.csp.sentinel.dashboard.discovery.MachineInfo;
-import com.alibaba.csp.sentinel.dashboard.domain.Result;
-import com.alibaba.csp.sentinel.dashboard.domain.vo.gateway.api.AddApiReqVo;
-import com.alibaba.csp.sentinel.dashboard.domain.vo.gateway.api.ApiPredicateItemVo;
-import com.alibaba.csp.sentinel.dashboard.domain.vo.gateway.api.UpdateApiReqVo;
-import com.alibaba.csp.sentinel.dashboard.repository.gateway.InMemApiDefinitionStore;
-import com.alibaba.csp.sentinel.dashboard.rule.DynamicRuleProvider;
-import com.alibaba.csp.sentinel.dashboard.rule.DynamicRulePublisher;
-import com.alibaba.csp.sentinel.util.StringUtil;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.util.CollectionUtils;
-import org.springframework.web.bind.annotation.*;
-
-import javax.servlet.http.HttpServletRequest;
-import java.util.*;
-
-import static com.alibaba.csp.sentinel.adapter.gateway.common.SentinelGatewayConstants.*;
-
-/**
- * 网关API规则控制器
- *
- * @author zyf
- * @date 2022-04-13
- */
-@RestController
-@RequestMapping(value = "/gateway/api")
-public class GatewayApiController extends BaseRuleController {
-
- private final Logger logger = LoggerFactory.getLogger(GatewayApiController.class);
-
- @Autowired
- private InMemApiDefinitionStore repository;
-
-
- @Autowired
- @Qualifier("gateWayApiNacosProvider")
- private DynamicRuleProvider> apiProvider;
-
- @Autowired
- @Qualifier("gateWayApiNacosPublisher")
- private DynamicRulePublisher> apiPublisher;
-
- @GetMapping("/list.json")
- @AuthAction(AuthService.PrivilegeType.READ_RULE)
- public Result> queryApis(String app, String ip, Integer port) {
- if (StringUtil.isEmpty(app)) {
- return Result.ofFail(-1, "app can't be null or empty");
- }
- if (StringUtil.isEmpty(ip)) {
- return Result.ofFail(-1, "ip can't be null or empty");
- }
- if (port == null) {
- return Result.ofFail(-1, "port can't be null");
- }
-
- try {
- List apis = apiProvider.getRules(app);
- repository.saveAll(apis);
- return Result.ofSuccess(apis);
- } catch (Throwable throwable) {
- logger.error("queryApis error:", throwable);
- return Result.ofThrowable(-1, throwable);
- }
- }
-
- @PostMapping("/new.json")
- @AuthAction(AuthService.PrivilegeType.WRITE_RULE)
- public Result addApi(HttpServletRequest request, @RequestBody AddApiReqVo reqVo) {
-
- String app = reqVo.getApp();
- if (StringUtil.isBlank(app)) {
- return Result.ofFail(-1, "app can't be null or empty");
- }
-
- ApiDefinitionEntity entity = new ApiDefinitionEntity();
- entity.setApp(app.trim());
-
- String ip = reqVo.getIp();
- if (StringUtil.isBlank(ip)) {
- return Result.ofFail(-1, "ip can't be null or empty");
- }
- entity.setIp(ip.trim());
-
- Integer port = reqVo.getPort();
- if (port == null) {
- return Result.ofFail(-1, "port can't be null");
- }
- entity.setPort(port);
-
- // API名称
- String apiName = reqVo.getApiName();
- if (StringUtil.isBlank(apiName)) {
- return Result.ofFail(-1, "apiName can't be null or empty");
- }
- entity.setApiName(apiName.trim());
-
- // 匹配规则列表
- List predicateItems = reqVo.getPredicateItems();
- if (CollectionUtils.isEmpty(predicateItems)) {
- return Result.ofFail(-1, "predicateItems can't empty");
- }
-
- List predicateItemEntities = new ArrayList<>();
- for (ApiPredicateItemVo predicateItem : predicateItems) {
- ApiPredicateItemEntity predicateItemEntity = new ApiPredicateItemEntity();
-
- // 匹配模式
- Integer matchStrategy = predicateItem.getMatchStrategy();
- if (!Arrays.asList(URL_MATCH_STRATEGY_EXACT, URL_MATCH_STRATEGY_PREFIX, URL_MATCH_STRATEGY_REGEX).contains(matchStrategy)) {
- return Result.ofFail(-1, "invalid matchStrategy: " + matchStrategy);
- }
- predicateItemEntity.setMatchStrategy(matchStrategy);
-
- // 匹配串
- String pattern = predicateItem.getPattern();
- if (StringUtil.isBlank(pattern)) {
- return Result.ofFail(-1, "pattern can't be null or empty");
- }
- predicateItemEntity.setPattern(pattern);
-
- predicateItemEntities.add(predicateItemEntity);
- }
- entity.setPredicateItems(new LinkedHashSet<>(predicateItemEntities));
-
- // 检查API名称不能重复
- List allApis = repository.findAllByMachine(MachineInfo.of(app.trim(), ip.trim(), port));
- if (allApis.stream().map(o -> o.getApiName()).anyMatch(o -> o.equals(apiName.trim()))) {
- return Result.ofFail(-1, "apiName exists: " + apiName);
- }
-
- Date date = new Date();
- entity.setGmtCreate(date);
- entity.setGmtModified(date);
-
- try {
- entity = repository.save(entity);
- } catch (Throwable throwable) {
- logger.error("add gateway api error:", throwable);
- return Result.ofThrowable(-1, throwable);
- }
-
- if (!publishApis(app, ip, port)) {
- logger.warn("publish gateway apis fail after add");
- }
-
- return Result.ofSuccess(entity);
- }
-
- @PostMapping("/save.json")
- @AuthAction(AuthService.PrivilegeType.WRITE_RULE)
- public Result updateApi(@RequestBody UpdateApiReqVo reqVo) {
- String app = reqVo.getApp();
- if (StringUtil.isBlank(app)) {
- return Result.ofFail(-1, "app can't be null or empty");
- }
-
- Long id = reqVo.getId();
- if (id == null) {
- return Result.ofFail(-1, "id can't be null");
- }
-
- ApiDefinitionEntity entity = repository.findById(id);
- if (entity == null) {
- return Result.ofFail(-1, "api does not exist, id=" + id);
- }
-
- // 匹配规则列表
- List predicateItems = reqVo.getPredicateItems();
- if (CollectionUtils.isEmpty(predicateItems)) {
- return Result.ofFail(-1, "predicateItems can't empty");
- }
-
- List predicateItemEntities = new ArrayList<>();
- for (ApiPredicateItemVo predicateItem : predicateItems) {
- ApiPredicateItemEntity predicateItemEntity = new ApiPredicateItemEntity();
-
- // 匹配模式
- int matchStrategy = predicateItem.getMatchStrategy();
- if (!Arrays.asList(URL_MATCH_STRATEGY_EXACT, URL_MATCH_STRATEGY_PREFIX, URL_MATCH_STRATEGY_REGEX).contains(matchStrategy)) {
- return Result.ofFail(-1, "Invalid matchStrategy: " + matchStrategy);
- }
- predicateItemEntity.setMatchStrategy(matchStrategy);
-
- // 匹配串
- String pattern = predicateItem.getPattern();
- if (StringUtil.isBlank(pattern)) {
- return Result.ofFail(-1, "pattern can't be null or empty");
- }
- predicateItemEntity.setPattern(pattern);
-
- predicateItemEntities.add(predicateItemEntity);
- }
- entity.setPredicateItems(new LinkedHashSet<>(predicateItemEntities));
-
- Date date = new Date();
- entity.setGmtModified(date);
-
- try {
- entity = repository.save(entity);
- } catch (Throwable throwable) {
- logger.error("update gateway api error:", throwable);
- return Result.ofThrowable(-1, throwable);
- }
-
- if (!publishApis(app, entity.getIp(), entity.getPort())) {
- logger.warn("publish gateway apis fail after update");
- }
-
- return Result.ofSuccess(entity);
- }
-
- @PostMapping("/delete.json")
- @AuthAction(AuthService.PrivilegeType.DELETE_RULE)
- public Result deleteApi(Long id) {
- if (id == null) {
- return Result.ofFail(-1, "id can't be null");
- }
-
- ApiDefinitionEntity oldEntity = repository.findById(id);
- if (oldEntity == null) {
- return Result.ofSuccess(null);
- }
-
- try {
- repository.delete(id);
- } catch (Throwable throwable) {
- logger.error("delete gateway api error:", throwable);
- return Result.ofThrowable(-1, throwable);
- }
-
- if (!publishApis(oldEntity.getApp(), oldEntity.getIp(), oldEntity.getPort())) {
- logger.warn("publish gateway apis fail after delete");
- }
- return Result.ofSuccess(id);
- }
-
- private boolean publishApis(String app, String ip, Integer port) {
- List apis = repository.findAllByApp(app);
- try {
- apiPublisher.publish(app, apis);
- //延迟加载
- delayTime();
- return true;
- } catch (Exception e) {
- logger.error("publish api error!");
- e.printStackTrace();
- return false;
- }
- }
-}
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/controller/gateway/GatewayFlowRuleController.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/controller/gateway/GatewayFlowRuleController.java
deleted file mode 100644
index a0589c443..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/controller/gateway/GatewayFlowRuleController.java
+++ /dev/null
@@ -1,431 +0,0 @@
-package com.alibaba.csp.sentinel.dashboard.controller.gateway;
-
-import com.alibaba.csp.sentinel.dashboard.auth.AuthAction;
-import com.alibaba.csp.sentinel.dashboard.auth.AuthService;
-import com.alibaba.csp.sentinel.dashboard.controller.base.BaseRuleController;
-import com.alibaba.csp.sentinel.dashboard.datasource.entity.gateway.GatewayFlowRuleEntity;
-import com.alibaba.csp.sentinel.dashboard.datasource.entity.gateway.GatewayParamFlowItemEntity;
-import com.alibaba.csp.sentinel.dashboard.domain.Result;
-import com.alibaba.csp.sentinel.dashboard.domain.vo.gateway.rule.AddFlowRuleReqVo;
-import com.alibaba.csp.sentinel.dashboard.domain.vo.gateway.rule.GatewayParamFlowItemVo;
-import com.alibaba.csp.sentinel.dashboard.domain.vo.gateway.rule.UpdateFlowRuleReqVo;
-import com.alibaba.csp.sentinel.dashboard.repository.gateway.InMemGatewayFlowRuleStore;
-import com.alibaba.csp.sentinel.dashboard.rule.DynamicRuleProvider;
-import com.alibaba.csp.sentinel.dashboard.rule.DynamicRulePublisher;
-import com.alibaba.csp.sentinel.util.StringUtil;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.web.bind.annotation.*;
-
-import java.util.Arrays;
-import java.util.Date;
-import java.util.List;
-
-import static com.alibaba.csp.sentinel.slots.block.RuleConstant.*;
-import static com.alibaba.csp.sentinel.adapter.gateway.common.SentinelGatewayConstants.*;
-import static com.alibaba.csp.sentinel.dashboard.datasource.entity.gateway.GatewayFlowRuleEntity.*;
-
-/**
- * 网关限流规则控制器
- *
- * @author zyf
- * @date 2022-04-13
- */
-@RestController
-@RequestMapping(value = "/gateway/flow")
-public class GatewayFlowRuleController extends BaseRuleController {
-
- private final Logger logger = LoggerFactory.getLogger(GatewayFlowRuleController.class);
-
- @Autowired
- private InMemGatewayFlowRuleStore repository;
-
- @Autowired
- @Qualifier("gateWayFlowRulesNacosProvider")
- private DynamicRuleProvider> ruleProvider;
-
- @Autowired
- @Qualifier("gateWayFlowRulesNacosPublisher")
- private DynamicRulePublisher> rulePublisher;
-
- @GetMapping("/list.json")
- @AuthAction(AuthService.PrivilegeType.READ_RULE)
- public Result> queryFlowRules(String app, String ip, Integer port) {
-
- if (StringUtil.isEmpty(app)) {
- return Result.ofFail(-1, "app can't be null or empty");
- }
- if (StringUtil.isEmpty(ip)) {
- return Result.ofFail(-1, "ip can't be null or empty");
- }
- if (port == null) {
- return Result.ofFail(-1, "port can't be null");
- }
-
- try {
- List rules = ruleProvider.getRules(app);
- repository.saveAll(rules);
- return Result.ofSuccess(rules);
- } catch (Throwable throwable) {
- logger.error("query gateway flow rules error:", throwable);
- return Result.ofThrowable(-1, throwable);
- }
- }
-
- @PostMapping("/new.json")
- @AuthAction(AuthService.PrivilegeType.WRITE_RULE)
- public Result addFlowRule(@RequestBody AddFlowRuleReqVo reqVo) {
-
- String app = reqVo.getApp();
- if (StringUtil.isBlank(app)) {
- return Result.ofFail(-1, "app can't be null or empty");
- }
-
- GatewayFlowRuleEntity entity = new GatewayFlowRuleEntity();
- entity.setApp(app.trim());
-
- String ip = reqVo.getIp();
- if (StringUtil.isBlank(ip)) {
- return Result.ofFail(-1, "ip can't be null or empty");
- }
- entity.setIp(ip.trim());
-
- Integer port = reqVo.getPort();
- if (port == null) {
- return Result.ofFail(-1, "port can't be null");
- }
- entity.setPort(port);
-
- // API类型, Route ID或API分组
- Integer resourceMode = reqVo.getResourceMode();
- if (resourceMode == null) {
- return Result.ofFail(-1, "resourceMode can't be null");
- }
- if (!Arrays.asList(RESOURCE_MODE_ROUTE_ID, RESOURCE_MODE_CUSTOM_API_NAME).contains(resourceMode)) {
- return Result.ofFail(-1, "invalid resourceMode: " + resourceMode);
- }
- entity.setResourceMode(resourceMode);
-
- // API名称
- String resource = reqVo.getResource();
- if (StringUtil.isBlank(resource)) {
- return Result.ofFail(-1, "resource can't be null or empty");
- }
- entity.setResource(resource.trim());
-
- // 针对请求属性
- GatewayParamFlowItemVo paramItem = reqVo.getParamItem();
- if (paramItem != null) {
- GatewayParamFlowItemEntity itemEntity = new GatewayParamFlowItemEntity();
- entity.setParamItem(itemEntity);
-
- // 参数属性 0-ClientIP 1-Remote Host 2-Header 3-URL参数 4-Cookie
- Integer parseStrategy = paramItem.getParseStrategy();
- if (!Arrays.asList(PARAM_PARSE_STRATEGY_CLIENT_IP, PARAM_PARSE_STRATEGY_HOST, PARAM_PARSE_STRATEGY_HEADER
- , PARAM_PARSE_STRATEGY_URL_PARAM, PARAM_PARSE_STRATEGY_COOKIE).contains(parseStrategy)) {
- return Result.ofFail(-1, "invalid parseStrategy: " + parseStrategy);
- }
- itemEntity.setParseStrategy(paramItem.getParseStrategy());
-
- // 当参数属性为2-Header 3-URL参数 4-Cookie时,参数名称必填
- if (Arrays.asList(PARAM_PARSE_STRATEGY_HEADER, PARAM_PARSE_STRATEGY_URL_PARAM, PARAM_PARSE_STRATEGY_COOKIE).contains(parseStrategy)) {
- // 参数名称
- String fieldName = paramItem.getFieldName();
- if (StringUtil.isBlank(fieldName)) {
- return Result.ofFail(-1, "fieldName can't be null or empty");
- }
- itemEntity.setFieldName(paramItem.getFieldName());
- }
-
- String pattern = paramItem.getPattern();
- // 如果匹配串不为空,验证匹配模式
- if (StringUtil.isNotEmpty(pattern)) {
- itemEntity.setPattern(pattern);
- Integer matchStrategy = paramItem.getMatchStrategy();
- if (!Arrays.asList(PARAM_MATCH_STRATEGY_EXACT, PARAM_MATCH_STRATEGY_CONTAINS, PARAM_MATCH_STRATEGY_REGEX).contains(matchStrategy)) {
- return Result.ofFail(-1, "invalid matchStrategy: " + matchStrategy);
- }
- itemEntity.setMatchStrategy(matchStrategy);
- }
- }
-
- // 阈值类型 0-线程数 1-QPS
- Integer grade = reqVo.getGrade();
- if (grade == null) {
- return Result.ofFail(-1, "grade can't be null");
- }
- if (!Arrays.asList(FLOW_GRADE_THREAD, FLOW_GRADE_QPS).contains(grade)) {
- return Result.ofFail(-1, "invalid grade: " + grade);
- }
- entity.setGrade(grade);
-
- // QPS阈值
- Double count = reqVo.getCount();
- if (count == null) {
- return Result.ofFail(-1, "count can't be null");
- }
- if (count < 0) {
- return Result.ofFail(-1, "count should be at lease zero");
- }
- entity.setCount(count);
-
- // 间隔
- Long interval = reqVo.getInterval();
- if (interval == null) {
- return Result.ofFail(-1, "interval can't be null");
- }
- if (interval <= 0) {
- return Result.ofFail(-1, "interval should be greater than zero");
- }
- entity.setInterval(interval);
-
- // 间隔单位
- Integer intervalUnit = reqVo.getIntervalUnit();
- if (intervalUnit == null) {
- return Result.ofFail(-1, "intervalUnit can't be null");
- }
- if (!Arrays.asList(INTERVAL_UNIT_SECOND, INTERVAL_UNIT_MINUTE, INTERVAL_UNIT_HOUR, INTERVAL_UNIT_DAY).contains(intervalUnit)) {
- return Result.ofFail(-1, "Invalid intervalUnit: " + intervalUnit);
- }
- entity.setIntervalUnit(intervalUnit);
-
- // 流控方式 0-快速失败 2-匀速排队
- Integer controlBehavior = reqVo.getControlBehavior();
- if (controlBehavior == null) {
- return Result.ofFail(-1, "controlBehavior can't be null");
- }
- if (!Arrays.asList(CONTROL_BEHAVIOR_DEFAULT, CONTROL_BEHAVIOR_RATE_LIMITER).contains(controlBehavior)) {
- return Result.ofFail(-1, "invalid controlBehavior: " + controlBehavior);
- }
- entity.setControlBehavior(controlBehavior);
-
- if (CONTROL_BEHAVIOR_DEFAULT == controlBehavior) {
- // 0-快速失败, 则Burst size必填
- Integer burst = reqVo.getBurst();
- if (burst == null) {
- return Result.ofFail(-1, "burst can't be null");
- }
- if (burst < 0) {
- return Result.ofFail(-1, "invalid burst: " + burst);
- }
- entity.setBurst(burst);
- } else if (CONTROL_BEHAVIOR_RATE_LIMITER == controlBehavior) {
- // 1-匀速排队, 则超时时间必填
- Integer maxQueueingTimeoutMs = reqVo.getMaxQueueingTimeoutMs();
- if (maxQueueingTimeoutMs == null) {
- return Result.ofFail(-1, "maxQueueingTimeoutMs can't be null");
- }
- if (maxQueueingTimeoutMs < 0) {
- return Result.ofFail(-1, "invalid maxQueueingTimeoutMs: " + maxQueueingTimeoutMs);
- }
- entity.setMaxQueueingTimeoutMs(maxQueueingTimeoutMs);
- }
-
- Date date = new Date();
- entity.setGmtCreate(date);
- entity.setGmtModified(date);
-
- try {
- entity = repository.save(entity);
- } catch (Throwable throwable) {
- logger.error("add gateway flow rule error:", throwable);
- return Result.ofThrowable(-1, throwable);
- }
-
- if (!publishRules(app, ip, port)) {
- logger.warn("publish gateway flow rules fail after add");
- }
-
- return Result.ofSuccess(entity);
- }
-
- @PostMapping("/save.json")
- @AuthAction(AuthService.PrivilegeType.WRITE_RULE)
- public Result updateFlowRule(@RequestBody UpdateFlowRuleReqVo reqVo) {
-
- String app = reqVo.getApp();
- if (StringUtil.isBlank(app)) {
- return Result.ofFail(-1, "app can't be null or empty");
- }
-
- Long id = reqVo.getId();
- if (id == null) {
- return Result.ofFail(-1, "id can't be null");
- }
-
- GatewayFlowRuleEntity entity = repository.findById(id);
- if (entity == null) {
- return Result.ofFail(-1, "gateway flow rule does not exist, id=" + id);
- }
-
- // 针对请求属性
- GatewayParamFlowItemVo paramItem = reqVo.getParamItem();
- if (paramItem != null) {
- GatewayParamFlowItemEntity itemEntity = new GatewayParamFlowItemEntity();
- entity.setParamItem(itemEntity);
-
- // 参数属性 0-ClientIP 1-Remote Host 2-Header 3-URL参数 4-Cookie
- Integer parseStrategy = paramItem.getParseStrategy();
- if (!Arrays.asList(PARAM_PARSE_STRATEGY_CLIENT_IP, PARAM_PARSE_STRATEGY_HOST, PARAM_PARSE_STRATEGY_HEADER
- , PARAM_PARSE_STRATEGY_URL_PARAM, PARAM_PARSE_STRATEGY_COOKIE).contains(parseStrategy)) {
- return Result.ofFail(-1, "invalid parseStrategy: " + parseStrategy);
- }
- itemEntity.setParseStrategy(paramItem.getParseStrategy());
-
- // 当参数属性为2-Header 3-URL参数 4-Cookie时,参数名称必填
- if (Arrays.asList(PARAM_PARSE_STRATEGY_HEADER, PARAM_PARSE_STRATEGY_URL_PARAM, PARAM_PARSE_STRATEGY_COOKIE).contains(parseStrategy)) {
- // 参数名称
- String fieldName = paramItem.getFieldName();
- if (StringUtil.isBlank(fieldName)) {
- return Result.ofFail(-1, "fieldName can't be null or empty");
- }
- itemEntity.setFieldName(paramItem.getFieldName());
- }
-
- String pattern = paramItem.getPattern();
- // 如果匹配串不为空,验证匹配模式
- if (StringUtil.isNotEmpty(pattern)) {
- itemEntity.setPattern(pattern);
- Integer matchStrategy = paramItem.getMatchStrategy();
- if (!Arrays.asList(PARAM_MATCH_STRATEGY_EXACT, PARAM_MATCH_STRATEGY_CONTAINS, PARAM_MATCH_STRATEGY_REGEX).contains(matchStrategy)) {
- return Result.ofFail(-1, "invalid matchStrategy: " + matchStrategy);
- }
- itemEntity.setMatchStrategy(matchStrategy);
- }
- } else {
- entity.setParamItem(null);
- }
-
- // 阈值类型 0-线程数 1-QPS
- Integer grade = reqVo.getGrade();
- if (grade == null) {
- return Result.ofFail(-1, "grade can't be null");
- }
- if (!Arrays.asList(FLOW_GRADE_THREAD, FLOW_GRADE_QPS).contains(grade)) {
- return Result.ofFail(-1, "invalid grade: " + grade);
- }
- entity.setGrade(grade);
-
- // QPS阈值
- Double count = reqVo.getCount();
- if (count == null) {
- return Result.ofFail(-1, "count can't be null");
- }
- if (count < 0) {
- return Result.ofFail(-1, "count should be at lease zero");
- }
- entity.setCount(count);
-
- // 间隔
- Long interval = reqVo.getInterval();
- if (interval == null) {
- return Result.ofFail(-1, "interval can't be null");
- }
- if (interval <= 0) {
- return Result.ofFail(-1, "interval should be greater than zero");
- }
- entity.setInterval(interval);
-
- // 间隔单位
- Integer intervalUnit = reqVo.getIntervalUnit();
- if (intervalUnit == null) {
- return Result.ofFail(-1, "intervalUnit can't be null");
- }
- if (!Arrays.asList(INTERVAL_UNIT_SECOND, INTERVAL_UNIT_MINUTE, INTERVAL_UNIT_HOUR, INTERVAL_UNIT_DAY).contains(intervalUnit)) {
- return Result.ofFail(-1, "Invalid intervalUnit: " + intervalUnit);
- }
- entity.setIntervalUnit(intervalUnit);
-
- // 流控方式 0-快速失败 2-匀速排队
- Integer controlBehavior = reqVo.getControlBehavior();
- if (controlBehavior == null) {
- return Result.ofFail(-1, "controlBehavior can't be null");
- }
- if (!Arrays.asList(CONTROL_BEHAVIOR_DEFAULT, CONTROL_BEHAVIOR_RATE_LIMITER).contains(controlBehavior)) {
- return Result.ofFail(-1, "invalid controlBehavior: " + controlBehavior);
- }
- entity.setControlBehavior(controlBehavior);
-
- if (CONTROL_BEHAVIOR_DEFAULT == controlBehavior) {
- // 0-快速失败, 则Burst size必填
- Integer burst = reqVo.getBurst();
- if (burst == null) {
- return Result.ofFail(-1, "burst can't be null");
- }
- if (burst < 0) {
- return Result.ofFail(-1, "invalid burst: " + burst);
- }
- entity.setBurst(burst);
- } else if (CONTROL_BEHAVIOR_RATE_LIMITER == controlBehavior) {
- // 2-匀速排队, 则超时时间必填
- Integer maxQueueingTimeoutMs = reqVo.getMaxQueueingTimeoutMs();
- if (maxQueueingTimeoutMs == null) {
- return Result.ofFail(-1, "maxQueueingTimeoutMs can't be null");
- }
- if (maxQueueingTimeoutMs < 0) {
- return Result.ofFail(-1, "invalid maxQueueingTimeoutMs: " + maxQueueingTimeoutMs);
- }
- entity.setMaxQueueingTimeoutMs(maxQueueingTimeoutMs);
- }
-
- Date date = new Date();
- entity.setGmtModified(date);
-
- try {
- entity = repository.save(entity);
- } catch (Throwable throwable) {
- logger.error("update gateway flow rule error:", throwable);
- return Result.ofThrowable(-1, throwable);
- }
-
- if (!publishRules(app, entity.getIp(), entity.getPort())) {
- logger.warn("publish gateway flow rules fail after update");
- }
-
- return Result.ofSuccess(entity);
- }
-
-
- @PostMapping("/delete.json")
- @AuthAction(AuthService.PrivilegeType.DELETE_RULE)
- public Result deleteFlowRule(Long id) {
-
- if (id == null) {
- return Result.ofFail(-1, "id can't be null");
- }
-
- GatewayFlowRuleEntity oldEntity = repository.findById(id);
- if (oldEntity == null) {
- return Result.ofSuccess(null);
- }
-
- try {
- repository.delete(id);
- } catch (Throwable throwable) {
- logger.error("delete gateway flow rule error:", throwable);
- return Result.ofThrowable(-1, throwable);
- }
-
- if (!publishRules(oldEntity.getApp(), oldEntity.getIp(), oldEntity.getPort())) {
- logger.warn("publish gateway flow rules fail after delete");
- }
-
- return Result.ofSuccess(id);
- }
-
- private boolean publishRules(String app, String ip, Integer port) {
- List rules = repository.findAllByApp(app);
- try {
- rulePublisher.publish(app, rules);
- //延迟加载
- delayTime();
- return true;
- } catch (Exception e) {
- logger.error("publish rules error!");
- e.printStackTrace();
- return false;
- }
- }
-}
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/controller/v2/FlowControllerV2.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/controller/v2/FlowControllerV2.java
deleted file mode 100644
index 74f58d1ac..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/controller/v2/FlowControllerV2.java
+++ /dev/null
@@ -1,230 +0,0 @@
-/*
- * Copyright 1999-2018 Alibaba Group Holding Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.alibaba.csp.sentinel.dashboard.controller.v2;
-
-import java.util.Date;
-import java.util.List;
-
-import com.alibaba.csp.sentinel.dashboard.auth.AuthAction;
-import com.alibaba.csp.sentinel.dashboard.auth.AuthService;
-import com.alibaba.csp.sentinel.dashboard.auth.AuthService.PrivilegeType;
-import com.alibaba.csp.sentinel.dashboard.controller.base.BaseRuleController;
-import com.alibaba.csp.sentinel.util.StringUtil;
-
-import com.alibaba.csp.sentinel.dashboard.datasource.entity.rule.FlowRuleEntity;
-import com.alibaba.csp.sentinel.dashboard.repository.rule.InMemoryRuleRepositoryAdapter;
-import com.alibaba.csp.sentinel.dashboard.rule.DynamicRuleProvider;
-import com.alibaba.csp.sentinel.dashboard.rule.DynamicRulePublisher;
-import com.alibaba.csp.sentinel.dashboard.domain.Result;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.util.ObjectUtils;
-import org.springframework.web.bind.annotation.DeleteMapping;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.PutMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * 流控规则控制器
- *
- * @author zyf
- * @date 2022-04-13
- */
-@RestController
-@RequestMapping(value = "/v2/flow")
-public class FlowControllerV2 extends BaseRuleController {
-
- private final Logger logger = LoggerFactory.getLogger(FlowControllerV2.class);
-
- @Autowired
- private InMemoryRuleRepositoryAdapter repository;
-
- @Autowired
- @Qualifier("flowRuleNacosProvider")
- private DynamicRuleProvider> ruleProvider;
- @Autowired
- @Qualifier("flowRuleNacosPublisher")
- private DynamicRulePublisher> rulePublisher;
-
- @GetMapping("/rules")
- @AuthAction(PrivilegeType.READ_RULE)
- public Result> apiQueryMachineRules(@RequestParam String app) {
-
- if (StringUtil.isEmpty(app)) {
- return Result.ofFail(-1, "app can't be null or empty");
- }
- try {
- List rules = ruleProvider.getRules(app);
- if (rules != null && !rules.isEmpty()) {
- for (FlowRuleEntity entity : rules) {
- entity.setApp(app);
- if (entity.getClusterConfig() != null && entity.getClusterConfig().getFlowId() != null) {
- entity.setId(entity.getClusterConfig().getFlowId());
- }
- }
- }
- rules = repository.saveAll(rules);
- return Result.ofSuccess(rules);
- } catch (Throwable throwable) {
- logger.error("Error when querying flow rules", throwable);
- return Result.ofThrowable(-1, throwable);
- }
- }
-
- private Result checkEntityInternal(FlowRuleEntity entity) {
- if (entity == null) {
- return Result.ofFail(-1, "invalid body");
- }
- if (StringUtil.isBlank(entity.getApp())) {
- return Result.ofFail(-1, "app can't be null or empty");
- }
- if (StringUtil.isBlank(entity.getLimitApp())) {
- return Result.ofFail(-1, "limitApp can't be null or empty");
- }
- if (StringUtil.isBlank(entity.getResource())) {
- return Result.ofFail(-1, "resource can't be null or empty");
- }
- if (entity.getGrade() == null) {
- return Result.ofFail(-1, "grade can't be null");
- }
- if (entity.getGrade() != 0 && entity.getGrade() != 1) {
- return Result.ofFail(-1, "grade must be 0 or 1, but " + entity.getGrade() + " got");
- }
- if (entity.getCount() == null || entity.getCount() < 0) {
- return Result.ofFail(-1, "count should be at lease zero");
- }
- if (entity.getStrategy() == null) {
- return Result.ofFail(-1, "strategy can't be null");
- }
- if (entity.getStrategy() != 0 && StringUtil.isBlank(entity.getRefResource())) {
- return Result.ofFail(-1, "refResource can't be null or empty when strategy!=0");
- }
- if (entity.getControlBehavior() == null) {
- return Result.ofFail(-1, "controlBehavior can't be null");
- }
- int controlBehavior = entity.getControlBehavior();
- if (controlBehavior == 1 && entity.getWarmUpPeriodSec() == null) {
- return Result.ofFail(-1, "warmUpPeriodSec can't be null when controlBehavior==1");
- }
- if (controlBehavior == 2 && entity.getMaxQueueingTimeMs() == null) {
- return Result.ofFail(-1, "maxQueueingTimeMs can't be null when controlBehavior==2");
- }
- if (entity.isClusterMode() && entity.getClusterConfig() == null) {
- return Result.ofFail(-1, "cluster config should be valid");
- }
- return null;
- }
-
- @PostMapping("/rule")
- @AuthAction(value = AuthService.PrivilegeType.WRITE_RULE)
- public Result apiAddFlowRule(@RequestBody FlowRuleEntity entity) {
-
- Result checkResult = checkEntityInternal(entity);
- if (checkResult != null) {
- return checkResult;
- }
- entity.setId(null);
- Date date = new Date();
- entity.setGmtCreate(date);
- entity.setGmtModified(date);
- entity.setLimitApp(entity.getLimitApp().trim());
- entity.setResource(entity.getResource().trim());
- try {
- entity = repository.save(entity);
- publishRules(entity.getApp());
- } catch (Throwable throwable) {
- logger.error("Failed to add flow rule", throwable);
- return Result.ofThrowable(-1, throwable);
- }
- return Result.ofSuccess(entity);
- }
-
- @PutMapping("/rule/{id}")
- @AuthAction(AuthService.PrivilegeType.WRITE_RULE)
-
- public Result apiUpdateFlowRule(@PathVariable("id") Long id,
- @RequestBody FlowRuleEntity entity) {
- if (id == null || id <= 0) {
- return Result.ofFail(-1, "Invalid id");
- }
- FlowRuleEntity oldEntity = repository.findById(id);
- if (oldEntity == null) {
- return Result.ofFail(-1, "id " + id + " does not exist");
- }
- if (entity == null) {
- return Result.ofFail(-1, "invalid body");
- }
-
- entity.setApp(oldEntity.getApp());
- entity.setIp(oldEntity.getIp());
- entity.setPort(oldEntity.getPort());
- Result checkResult = checkEntityInternal(entity);
- if (checkResult != null) {
- return checkResult;
- }
-
- entity.setId(id);
- Date date = new Date();
- entity.setGmtCreate(oldEntity.getGmtCreate());
- entity.setGmtModified(date);
- try {
- entity = repository.save(entity);
- if (entity == null) {
- return Result.ofFail(-1, "save entity fail");
- }
- publishRules(oldEntity.getApp());
- } catch (Throwable throwable) {
- logger.error("Failed to update flow rule", throwable);
- return Result.ofThrowable(-1, throwable);
- }
- return Result.ofSuccess(entity);
- }
-
- @DeleteMapping("/rule/{id}")
- @AuthAction(PrivilegeType.DELETE_RULE)
- public Result apiDeleteRule(@PathVariable("id") Long id) {
- if (id == null || id <= 0) {
- return Result.ofFail(-1, "Invalid id");
- }
- FlowRuleEntity oldEntity = repository.findById(id);
- if (ObjectUtils.isEmpty(oldEntity)) {
- return Result.ofSuccess(null);
- }
-
- try {
- repository.delete(id);
- publishRules(oldEntity.getApp());
- } catch (Exception e) {
- return Result.ofFail(-1, e.getMessage());
- }
- return Result.ofSuccess(id);
- }
-
- private void publishRules(/*@NonNull*/ String app) throws Exception {
- List rules = repository.findAllByApp(app);
- rulePublisher.publish(app, rules);
- //延迟加载
- delayTime();
- }
-}
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/NacosConfigProperties.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/NacosConfigProperties.java
deleted file mode 100644
index c6f8a5dcf..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/NacosConfigProperties.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package com.alibaba.csp.sentinel.dashboard.rule.nacos;
-
-/**
- * @Description: nacos配置
- * @author: zyf
- * @date: 2022/03/01$
- * @version: V1.0
- */
-import lombok.Data;
-import org.springframework.boot.context.properties.ConfigurationProperties;
-import org.springframework.stereotype.Component;
-
-@Component
-@ConfigurationProperties(prefix = "nacos.server")
-@Data
-public class NacosConfigProperties {
-
- private String ip;
-
- private String namespace;
-
- private String username;
-
- private String password;
-
- private String groupId;
-
- public String getServerAddr() {
- return this.getIp();
- }
-
-}
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/SentinelConfig.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/SentinelConfig.java
deleted file mode 100644
index de9450e0d..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/SentinelConfig.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
- * Copyright 1999-2018 Alibaba Group Holding Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.alibaba.csp.sentinel.dashboard.rule.nacos;
-
-import java.util.List;
-import java.util.Properties;
-
-import com.alibaba.csp.sentinel.dashboard.datasource.entity.gateway.ApiDefinitionEntity;
-import com.alibaba.csp.sentinel.dashboard.datasource.entity.gateway.GatewayFlowRuleEntity;
-import com.alibaba.csp.sentinel.dashboard.datasource.entity.rule.*;
-import com.alibaba.csp.sentinel.dashboard.rule.nacos.entity.AuthorityRuleCorrectEntity;
-import com.alibaba.csp.sentinel.dashboard.rule.nacos.entity.ParamFlowRuleCorrectEntity;
-import com.alibaba.nacos.api.PropertyKeyConst;
-import org.apache.commons.lang.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-
-import com.alibaba.csp.sentinel.datasource.Converter;
-import com.alibaba.fastjson.JSON;
-import com.alibaba.nacos.api.config.ConfigFactory;
-import com.alibaba.nacos.api.config.ConfigService;
-
-/**
- * sentinel配置类
- *
- * @author zyf
- * @date 2022-04-13
- */
-@Configuration
-public class SentinelConfig {
-
- @Autowired
- private NacosConfigProperties nacosConfigProperties;
-
-
- /**
- * 流控规则
- * @return
- */
- @Bean
- public Converter, String> flowRuleEntityEncoder() {
- return JSON::toJSONString;
- }
-
- @Bean
- public Converter> flowRuleEntityDecoder() {
- return s -> JSON.parseArray(s, FlowRuleEntity.class);
- }
- /**
- * 降级规则
- * @return
- */
- @Bean
- public Converter, String> degradeRuleEntityEncoder() {
- return JSON::toJSONString;
- }
-
- @Bean
- public Converter> degradeRuleEntityDecoder() {
- return s -> JSON.parseArray(s, DegradeRuleEntity.class);
- }
-
- /**
- * 热点参数 规则
- * @return
- */
- @Bean
- public Converter, String> paramFlowRuleEntityEncoder() {
- return JSON::toJSONString;
- }
-
- @Bean
- public Converter> paramFlowRuleEntityDecoder() {
- return s -> JSON.parseArray(s, ParamFlowRuleCorrectEntity.class);
- }
-
- /**
- * 系统规则
- * @return
- */
- @Bean
- public Converter, String> systemRuleRuleEntityEncoder() {
- return JSON::toJSONString;
- }
-
- @Bean
- public Converter> systemRuleRuleEntityDecoder() {
- return s -> JSON.parseArray(s, SystemRuleEntity.class);
- }
- /**
- * 授权规则
- * @return
- */
- @Bean
- public Converter, String> authorityRuleRuleEntityEncoder() {
- return JSON::toJSONString;
- }
-
- @Bean
- public Converter> authorityRuleRuleEntityDecoder() {
- return s -> JSON.parseArray(s, AuthorityRuleCorrectEntity.class);
- }
-
- /**
- * 网关API
- *
- * @return
- * @throws Exception
- */
- @Bean
- public Converter, String> apiDefinitionEntityEncoder() {
- return JSON::toJSONString;
- }
-
- @Bean
- public Converter> apiDefinitionEntityDecoder() {
- return s -> JSON.parseArray(s, ApiDefinitionEntity.class);
- }
-
- /**
- * 网关flowRule
- *
- * @return
- * @throws Exception
- */
- @Bean
- public Converter, String> gatewayFlowRuleEntityEncoder() {
- return JSON::toJSONString;
- }
-
- @Bean
- public Converter> gatewayFlowRuleEntityDecoder() {
- return s -> JSON.parseArray(s, GatewayFlowRuleEntity.class);
- }
-
- @Bean
- public ConfigService nacosConfigService() throws Exception {
- Properties properties=new Properties();
- properties.put(PropertyKeyConst.SERVER_ADDR,nacosConfigProperties.getServerAddr());
- if(StringUtils.isNotBlank(nacosConfigProperties.getUsername())){
- properties.put(PropertyKeyConst.USERNAME,nacosConfigProperties.getUsername());
- }
- if(StringUtils.isNotBlank(nacosConfigProperties.getPassword())){
- properties.put(PropertyKeyConst.PASSWORD,nacosConfigProperties.getPassword());
- }
- if(StringUtils.isNotBlank(nacosConfigProperties.getNamespace())){
- properties.put(PropertyKeyConst.NAMESPACE,nacosConfigProperties.getNamespace());
- }
- return ConfigFactory.createConfigService(properties);
- }
-}
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/authority/AuthorityRuleNacosProvider.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/authority/AuthorityRuleNacosProvider.java
deleted file mode 100644
index a37c0b41c..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/authority/AuthorityRuleNacosProvider.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package com.alibaba.csp.sentinel.dashboard.rule.nacos.authority;
-
-
-import com.alibaba.csp.sentinel.dashboard.constants.SentinelConStants;
-import com.alibaba.csp.sentinel.dashboard.datasource.entity.rule.AuthorityRuleEntity;
-import com.alibaba.csp.sentinel.dashboard.rule.DynamicRuleProvider;
-import com.alibaba.csp.sentinel.dashboard.rule.nacos.entity.AuthorityRuleCorrectEntity;
-import com.alibaba.csp.sentinel.datasource.Converter;
-import com.alibaba.csp.sentinel.slots.block.authority.AuthorityRule;
-import com.alibaba.csp.sentinel.util.StringUtil;
-import com.alibaba.nacos.api.config.ConfigService;
-import org.springframework.beans.BeanUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.stream.Collectors;
-
-/**
- * 授权规则拉取(黑名单白名单)
- *
- * @author zyf
- * @date 2022-04-13
- */
-@Component("authorityRuleNacosProvider")
-public class AuthorityRuleNacosProvider implements DynamicRuleProvider> {
- @Autowired
- private ConfigService configService;
- @Autowired
- private Converter> converter;
-
- @Override
- public List getRules(String appName) throws Exception {
- String rules = configService.getConfig(appName + SentinelConStants.AUTHORITY_DATA_ID_POSTFIX,
- SentinelConStants.GROUP_ID, 3000);
- if (StringUtil.isEmpty(rules)) {
- return new ArrayList<>();
- }
- List entityList = converter.convert(rules);
- return entityList.stream().map(rule -> {
- AuthorityRule authorityRule = new AuthorityRule();
- BeanUtils.copyProperties(rule, authorityRule);
- AuthorityRuleEntity entity = AuthorityRuleEntity.fromAuthorityRule(rule.getApp(), rule.getIp(), rule.getPort(), authorityRule);
- entity.setId(rule.getId());
- entity.setGmtCreate(rule.getGmtCreate());
- return entity;
- }).collect(Collectors.toList());
- }
-}
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/authority/AuthorityRuleNacosPublisher.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/authority/AuthorityRuleNacosPublisher.java
deleted file mode 100644
index 0c673b209..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/authority/AuthorityRuleNacosPublisher.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package com.alibaba.csp.sentinel.dashboard.rule.nacos.authority;
-
-import com.alibaba.csp.sentinel.dashboard.constants.SentinelConStants;
-import com.alibaba.csp.sentinel.dashboard.datasource.entity.rule.AuthorityRuleEntity;
-import com.alibaba.csp.sentinel.dashboard.rule.DynamicRulePublisher;
-import com.alibaba.csp.sentinel.dashboard.rule.nacos.entity.AuthorityRuleCorrectEntity;
-import com.alibaba.csp.sentinel.datasource.Converter;
-import com.alibaba.csp.sentinel.util.AssertUtil;
-import com.alibaba.nacos.api.config.ConfigService;
-import org.springframework.beans.BeanUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-import java.util.List;
-import java.util.stream.Collectors;
-
-/**
- * 授权规则持久化(黑名单白名单)
- *
- * @author zyf
- * @date 2022-04-13
- */
-@Component("authorityRuleNacosPublisher")
-public class AuthorityRuleNacosPublisher implements DynamicRulePublisher> {
- @Autowired
- private ConfigService configService;
- @Autowired
- private Converter, String> converter;
-
- @Override
- public void publish(String app, List rules) throws Exception {
- AssertUtil.notEmpty(app, "app name cannot be empty");
- if (rules == null) {
- return;
- }
- // 转换
- List list = rules.stream().map(rule -> {
- AuthorityRuleCorrectEntity entity = new AuthorityRuleCorrectEntity();
- BeanUtils.copyProperties(rule, entity);
- return entity;
- }).collect(Collectors.toList());
-
- configService.publishConfig(app + SentinelConStants.AUTHORITY_DATA_ID_POSTFIX,
- SentinelConStants.GROUP_ID, converter.convert(list));
- }
-}
-
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/degrade/DegradeRuleNacosProvider.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/degrade/DegradeRuleNacosProvider.java
deleted file mode 100644
index 6f425a204..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/degrade/DegradeRuleNacosProvider.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package com.alibaba.csp.sentinel.dashboard.rule.nacos.degrade;
-
-import com.alibaba.csp.sentinel.dashboard.constants.SentinelConStants;
-import com.alibaba.csp.sentinel.dashboard.datasource.entity.rule.DegradeRuleEntity;
-import com.alibaba.csp.sentinel.dashboard.rule.DynamicRuleProvider;
-import com.alibaba.csp.sentinel.dashboard.rule.nacos.SentinelConfig;
-import com.alibaba.csp.sentinel.datasource.Converter;
-import com.alibaba.csp.sentinel.util.StringUtil;
-import com.alibaba.nacos.api.config.ConfigService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * 降级规则拉取
- *
- * @author zyf
- * @date 2022-04-13
- */
-@Component("degradeRuleNacosProvider")
-public class DegradeRuleNacosProvider implements DynamicRuleProvider> {
-
- @Autowired
- private ConfigService configService;
- @Autowired
- private Converter> converter;
-
- @Override
- public List getRules(String appName) throws Exception {
- String rules = configService.getConfig(appName + SentinelConStants.DEGRADE_DATA_ID_POSTFIX,
- SentinelConStants.GROUP_ID, 3000);
- if (StringUtil.isEmpty(rules)) {
- return new ArrayList<>();
- }
- return converter.convert(rules);
- }
-}
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/degrade/DegradeRuleNacosPublisher.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/degrade/DegradeRuleNacosPublisher.java
deleted file mode 100644
index a0e844bd7..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/degrade/DegradeRuleNacosPublisher.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package com.alibaba.csp.sentinel.dashboard.rule.nacos.degrade;
-
-import com.alibaba.csp.sentinel.dashboard.constants.SentinelConStants;
-import com.alibaba.csp.sentinel.dashboard.datasource.entity.rule.DegradeRuleEntity;
-import com.alibaba.csp.sentinel.dashboard.rule.DynamicRulePublisher;
-import com.alibaba.csp.sentinel.dashboard.rule.nacos.SentinelConfig;
-import com.alibaba.csp.sentinel.datasource.Converter;
-import com.alibaba.csp.sentinel.util.AssertUtil;
-import com.alibaba.nacos.api.config.ConfigService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-import java.util.List;
-
-/**
- * 降级规则推送
- *
- * @author zyf
- * @date 2022-04-13
- */
-@Component("degradeRuleNacosPublisher")
-public class DegradeRuleNacosPublisher implements DynamicRulePublisher> {
-
- @Autowired
- private ConfigService configService;
- @Autowired
- private Converter, String> converter;
-
- @Override
- public void publish(String app, List rules) throws Exception {
- AssertUtil.notEmpty(app, "app name cannot be empty");
- if (rules == null) {
- return;
- }
- configService.publishConfig(app + SentinelConStants.DEGRADE_DATA_ID_POSTFIX,
- SentinelConStants.GROUP_ID, converter.convert(rules));
- }
-}
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/entity/AuthorityRuleCorrectEntity.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/entity/AuthorityRuleCorrectEntity.java
deleted file mode 100644
index 92bcaca32..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/entity/AuthorityRuleCorrectEntity.java
+++ /dev/null
@@ -1,110 +0,0 @@
-package com.alibaba.csp.sentinel.dashboard.rule.nacos.entity;
-
-import com.alibaba.csp.sentinel.dashboard.datasource.entity.rule.RuleEntity;
-import com.alibaba.csp.sentinel.slots.block.Rule;
-import com.alibaba.csp.sentinel.slots.block.authority.AuthorityRule;
-
-import java.util.Date;
-
-/**
- * @author zyf
- * @description 重写授权规则实体类,原因同热点规则
- * @date 2022-04-13
- */
-public class AuthorityRuleCorrectEntity implements RuleEntity {
-
- private Long id;
- private String app;
- private String ip;
- private Integer port;
- private String limitApp;
- private String resource;
- private Date gmtCreate;
- private Date gmtModified;
-
- private int strategy;
-
- @Override
- public Long getId() {
- return id;
- }
-
- @Override
- public void setId(Long id) {
- this.id = id;
- }
-
- @Override
- public String getApp() {
- return app;
- }
-
- public void setApp(String app) {
- this.app = app;
- }
-
- @Override
- public String getIp() {
- return ip;
- }
-
- public void setIp(String ip) {
- this.ip = ip;
- }
-
- @Override
- public Integer getPort() {
- return port;
- }
-
- public void setPort(Integer port) {
- this.port = port;
- }
-
- public String getLimitApp() {
- return limitApp;
- }
-
- public void setLimitApp(String limitApp) {
- this.limitApp = limitApp;
- }
-
- public String getResource() {
- return resource;
- }
-
- public void setResource(String resource) {
- this.resource = resource;
- }
-
- @Override
- public Date getGmtCreate() {
- return gmtCreate;
- }
-
- public void setGmtCreate(Date gmtCreate) {
- this.gmtCreate = gmtCreate;
- }
-
- public Date getGmtModified() {
- return gmtModified;
- }
-
- public void setGmtModified(Date gmtModified) {
- this.gmtModified = gmtModified;
- }
-
- public int getStrategy() {
- return strategy;
- }
-
- public void setStrategy(int strategy) {
- this.strategy = strategy;
- }
-
- @Override
- public Rule toRule(){
- AuthorityRule rule=new AuthorityRule();
- return rule;
- }
-}
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/entity/ParamFlowRuleCorrectEntity.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/entity/ParamFlowRuleCorrectEntity.java
deleted file mode 100644
index f7bb4b886..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/entity/ParamFlowRuleCorrectEntity.java
+++ /dev/null
@@ -1,194 +0,0 @@
-package com.alibaba.csp.sentinel.dashboard.rule.nacos.entity;
-
-import com.alibaba.csp.sentinel.dashboard.datasource.entity.rule.RuleEntity;
-import com.alibaba.csp.sentinel.slots.block.Rule;
-import com.alibaba.csp.sentinel.slots.block.flow.param.ParamFlowClusterConfig;
-import com.alibaba.csp.sentinel.slots.block.flow.param.ParamFlowItem;
-import com.alibaba.csp.sentinel.slots.block.flow.param.ParamFlowRule;
-
-import java.util.*;
-
-/**
- * @author zyf
- * @description 重写热点规则实体类,。查看sentinel-dashboard在自定义ParamFlowRuleNacosPublisher时候 推送的数据是ParamFlowRuleEntity。 客户端接收的ParamFlowRule类
- * @date 2022-04-13
- */
-public class ParamFlowRuleCorrectEntity implements RuleEntity {
-
- private Long id;
- private String app;
- private String ip;
- private Integer port;
- private String limitApp;
- private String resource;
- private Date gmtCreate;
-
- private int grade = 1;
- private Integer paramIdx;
- private double count;
- private int controlBehavior = 0;
- private int maxQueueingTimeMs = 0;
- private int burstCount = 0;
- private long durationInSec = 1L;
- private List paramFlowItemList = new ArrayList();
- private Map hotItems = new HashMap();
- private boolean clusterMode = false;
- private ParamFlowClusterConfig clusterConfig;
-
- public int getGrade() {
- return grade;
- }
-
- public void setGrade(int grade) {
- this.grade = grade;
- }
-
- public Integer getParamIdx() {
- return paramIdx;
- }
-
- public void setParamIdx(Integer paramIdx) {
- this.paramIdx = paramIdx;
- }
-
- public double getCount() {
- return count;
- }
-
- public void setCount(double count) {
- this.count = count;
- }
-
- public int getControlBehavior() {
- return controlBehavior;
- }
-
- public void setControlBehavior(int controlBehavior) {
- this.controlBehavior = controlBehavior;
- }
-
- public int getMaxQueueingTimeMs() {
- return maxQueueingTimeMs;
- }
-
- public void setMaxQueueingTimeMs(int maxQueueingTimeMs) {
- this.maxQueueingTimeMs = maxQueueingTimeMs;
- }
-
- public int getBurstCount() {
- return burstCount;
- }
-
- public void setBurstCount(int burstCount) {
- this.burstCount = burstCount;
- }
-
- public long getDurationInSec() {
- return durationInSec;
- }
-
- public void setDurationInSec(long durationInSec) {
- this.durationInSec = durationInSec;
- }
-
- public List getParamFlowItemList() {
- return paramFlowItemList;
- }
-
- public void setParamFlowItemList(List paramFlowItemList) {
- this.paramFlowItemList = paramFlowItemList;
- }
-
- public Map getHotItems() {
- return hotItems;
- }
-
- public void setHotItems(Map hotItems) {
- this.hotItems = hotItems;
- }
-
- public boolean isClusterMode() {
- return clusterMode;
- }
-
- public void setClusterMode(boolean clusterMode) {
- this.clusterMode = clusterMode;
- }
-
- public ParamFlowClusterConfig getClusterConfig() {
- return clusterConfig;
- }
-
- public void setClusterConfig(ParamFlowClusterConfig clusterConfig) {
- this.clusterConfig = clusterConfig;
- }
-
- @Override
- public Date getGmtCreate() {
- return gmtCreate;
- }
-
- public void setGmtCreate(Date gmtCreate) {
- this.gmtCreate = gmtCreate;
- }
-
- @Override
- public Long getId() {
- return id;
- }
-
- @Override
- public void setId(Long id) {
- this.id = id;
- }
-
- @Override
- public String getApp() {
- return app;
- }
-
- public void setApp(String app) {
- this.app = app;
- }
-
- @Override
- public String getIp() {
- return ip;
- }
-
- public void setIp(String ip) {
- this.ip = ip;
- }
-
- @Override
- public Integer getPort() {
- return port;
- }
-
- public void setPort(Integer port) {
- this.port = port;
- }
-
- public String getLimitApp() {
- return limitApp;
- }
-
- public void setLimitApp(String limitApp) {
- this.limitApp = limitApp;
- }
-
- public String getResource() {
- return resource;
- }
-
- public void setResource(String resource) {
- this.resource = resource;
- }
-
- @Override
- public Rule toRule() {
- ParamFlowRule rule = new ParamFlowRule();
- return rule;
- }
-}
-
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/flow/FlowRuleNacosProvider.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/flow/FlowRuleNacosProvider.java
deleted file mode 100644
index 52876733c..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/flow/FlowRuleNacosProvider.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright 1999-2018 Alibaba Group Holding Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.alibaba.csp.sentinel.dashboard.rule.nacos.flow;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import com.alibaba.csp.sentinel.dashboard.constants.SentinelConStants;
-import com.alibaba.csp.sentinel.dashboard.rule.nacos.SentinelConfig;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-import com.alibaba.csp.sentinel.dashboard.datasource.entity.rule.FlowRuleEntity;
-import com.alibaba.csp.sentinel.dashboard.rule.DynamicRuleProvider;
-import com.alibaba.csp.sentinel.datasource.Converter;
-import com.alibaba.csp.sentinel.util.StringUtil;
-import com.alibaba.nacos.api.config.ConfigService;
-
-/**
- * 流控规则拉取
- *
- * @author zyf
- * @date 2022-04-13
- */
-@Component("flowRuleNacosProvider")
-public class FlowRuleNacosProvider implements DynamicRuleProvider> {
-
- @Autowired
- private ConfigService configService;
- @Autowired
- private Converter> converter;
-
- @Override
- public List getRules(String appName) throws Exception {
- String rules = configService.getConfig(appName + SentinelConStants.FLOW_DATA_ID_POSTFIX,
- SentinelConStants.GROUP_ID, 3000);
- if (StringUtil.isEmpty(rules)) {
- return new ArrayList<>();
- }
- return converter.convert(rules);
- }
-}
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/flow/FlowRuleNacosPublisher.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/flow/FlowRuleNacosPublisher.java
deleted file mode 100644
index 87c233556..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/flow/FlowRuleNacosPublisher.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright 1999-2018 Alibaba Group Holding Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.alibaba.csp.sentinel.dashboard.rule.nacos.flow;
-
-import java.util.List;
-
-import com.alibaba.csp.sentinel.dashboard.constants.SentinelConStants;
-import com.alibaba.csp.sentinel.dashboard.rule.nacos.SentinelConfig;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-import com.alibaba.csp.sentinel.dashboard.datasource.entity.rule.FlowRuleEntity;
-import com.alibaba.csp.sentinel.dashboard.rule.DynamicRulePublisher;
-import com.alibaba.csp.sentinel.datasource.Converter;
-import com.alibaba.csp.sentinel.util.AssertUtil;
-import com.alibaba.nacos.api.config.ConfigService;
-
-/**
- * 流控规则推送
- *
- * @author zyf
- * @date 2022-04-13
- */
-@Component("flowRuleNacosPublisher")
-public class FlowRuleNacosPublisher implements DynamicRulePublisher> {
-
- @Autowired
- private ConfigService configService;
- @Autowired
- private Converter, String> converter;
-
- @Override
- public void publish(String app, List rules) throws Exception {
- AssertUtil.notEmpty(app, "app name cannot be empty");
- if (rules == null) {
- return;
- }
- configService.publishConfig(app + SentinelConStants.FLOW_DATA_ID_POSTFIX,
- SentinelConStants.GROUP_ID, converter.convert(rules));
- }
-}
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/gateway/GateWayApiNacosProvider.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/gateway/GateWayApiNacosProvider.java
deleted file mode 100644
index 319c0616e..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/gateway/GateWayApiNacosProvider.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package com.alibaba.csp.sentinel.dashboard.rule.nacos.gateway;
-
-import com.alibaba.csp.sentinel.dashboard.constants.SentinelConStants;
-import com.alibaba.csp.sentinel.dashboard.datasource.entity.gateway.ApiDefinitionEntity;
-import com.alibaba.csp.sentinel.dashboard.rule.DynamicRuleProvider;
-import com.alibaba.csp.sentinel.datasource.Converter;
-import com.alibaba.csp.sentinel.util.StringUtil;
-import com.alibaba.nacos.api.config.ConfigService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-import java.util.ArrayList;
-import java.util.List;
-/**
- * 网关API规则拉取
- *
- * @author zyf
- * @date 2022-04-13
- */
-@Component("gateWayApiNacosProvider")
-public class GateWayApiNacosProvider implements DynamicRuleProvider> {
- @Autowired
- private ConfigService configService;
- @Autowired
- private Converter> converter;
- @Override
- public List getRules(String appName) throws Exception {
- String rules = configService.getConfig(appName+ SentinelConStants.GETEWAY_API_DATA_ID_POSTFIX
- , SentinelConStants.GROUP_ID,3000);
- if(StringUtil.isEmpty(rules)){
- return new ArrayList<>();
- }
- return converter.convert(rules);
- }
-}
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/gateway/GateWayApiNacosPublisher.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/gateway/GateWayApiNacosPublisher.java
deleted file mode 100644
index 955ae3bbb..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/gateway/GateWayApiNacosPublisher.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package com.alibaba.csp.sentinel.dashboard.rule.nacos.gateway;
-
-
-import com.alibaba.csp.sentinel.dashboard.constants.SentinelConStants;
-import com.alibaba.csp.sentinel.dashboard.datasource.entity.gateway.ApiDefinitionEntity;
-import com.alibaba.csp.sentinel.dashboard.rule.DynamicRulePublisher;
-import com.alibaba.csp.sentinel.datasource.Converter;
-import com.alibaba.csp.sentinel.util.AssertUtil;
-import com.alibaba.nacos.api.config.ConfigService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-import java.util.List;
-/**
- * 网关API规则推送
- *
- * @author zyf
- * @date 2022-04-13
- */
-@Component("gateWayApiNacosPublisher")
-public class GateWayApiNacosPublisher implements DynamicRulePublisher> {
- @Autowired
- private ConfigService configService;
- @Autowired
- private Converter, String> converter;
- @Override
- public void publish(String app, List rules) throws Exception {
- AssertUtil.notEmpty(app, "app name cannot be empty");
- if (rules == null) {
- return;
- }
- configService.publishConfig(app+ SentinelConStants.GETEWAY_API_DATA_ID_POSTFIX,
- SentinelConStants.GROUP_ID,converter.convert(rules));
- }
-}
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/gateway/GateWayFlowRulesNacosProvider.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/gateway/GateWayFlowRulesNacosProvider.java
deleted file mode 100644
index 5bbe7851b..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/gateway/GateWayFlowRulesNacosProvider.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package com.alibaba.csp.sentinel.dashboard.rule.nacos.gateway;
-
-import com.alibaba.csp.sentinel.dashboard.constants.SentinelConStants;
-import com.alibaba.csp.sentinel.dashboard.datasource.entity.gateway.GatewayFlowRuleEntity;
-import com.alibaba.csp.sentinel.dashboard.rule.DynamicRuleProvider;
-import com.alibaba.csp.sentinel.dashboard.rule.nacos.SentinelConfig;
-import com.alibaba.csp.sentinel.datasource.Converter;
-import com.alibaba.csp.sentinel.util.StringUtil;
-import com.alibaba.nacos.api.config.ConfigService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * 网关流控规则拉取
- *
- * @author zyf
- * @date 2022-04-13
- */
-@Component("gateWayFlowRulesNacosProvider")
-public class GateWayFlowRulesNacosProvider implements DynamicRuleProvider> {
-
- @Autowired
- private ConfigService configService;
- @Autowired
- private Converter> converter;
-
- @Override
- public List getRules(String appName) throws Exception {
- String rules = configService.getConfig(appName + SentinelConStants.GETEWAY_FLOW_DATA_ID_POSTFIX,
- SentinelConStants.GROUP_ID, 3000);
- if (StringUtil.isEmpty(rules)) {
- return new ArrayList<>();
- }
- return converter.convert(rules);
- }
-
-}
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/gateway/GateWayFlowRulesNacosPublisher.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/gateway/GateWayFlowRulesNacosPublisher.java
deleted file mode 100644
index 8b7defd8e..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/gateway/GateWayFlowRulesNacosPublisher.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package com.alibaba.csp.sentinel.dashboard.rule.nacos.gateway;
-
-
-import java.util.List;
-
-import com.alibaba.csp.sentinel.dashboard.constants.SentinelConStants;
-import com.alibaba.csp.sentinel.dashboard.rule.nacos.SentinelConfig;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-import com.alibaba.csp.sentinel.dashboard.datasource.entity.gateway.GatewayFlowRuleEntity;
-import com.alibaba.csp.sentinel.dashboard.rule.DynamicRulePublisher;
-import com.alibaba.csp.sentinel.datasource.Converter;
-import com.alibaba.csp.sentinel.util.AssertUtil;
-import com.alibaba.nacos.api.config.ConfigService;
-
-/**
- * 网关流控规则推送
- *
- * @author zyf
- * @date 2022-04-13
- */
-@Component("gateWayFlowRulesNacosPublisher")
-public class GateWayFlowRulesNacosPublisher implements DynamicRulePublisher> {
-
- @Autowired
- private ConfigService configService;
- @Autowired
- private Converter, String> converter;
-
-
- @Override
- public void publish(String app, List rules) throws Exception {
- AssertUtil.notEmpty(app, "app name cannot be empty");
- if (rules == null) {
- return;
- }
- configService.publishConfig(app + SentinelConStants.GETEWAY_FLOW_DATA_ID_POSTFIX,
- SentinelConStants.GROUP_ID, converter.convert(rules));
- }
-}
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/paramflow/ParamFlowRuleNacosProvider.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/paramflow/ParamFlowRuleNacosProvider.java
deleted file mode 100644
index 140d6362f..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/paramflow/ParamFlowRuleNacosProvider.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package com.alibaba.csp.sentinel.dashboard.rule.nacos.paramflow;
-
-
-import com.alibaba.csp.sentinel.dashboard.constants.SentinelConStants;
-import com.alibaba.csp.sentinel.dashboard.datasource.entity.rule.ParamFlowRuleEntity;
-import com.alibaba.csp.sentinel.dashboard.rule.DynamicRuleProvider;
-import com.alibaba.csp.sentinel.dashboard.rule.nacos.SentinelConfig;
-import com.alibaba.csp.sentinel.dashboard.rule.nacos.entity.ParamFlowRuleCorrectEntity;
-import com.alibaba.csp.sentinel.datasource.Converter;
-import com.alibaba.csp.sentinel.slots.block.flow.param.ParamFlowRule;
-import com.alibaba.csp.sentinel.util.StringUtil;
-import com.alibaba.nacos.api.config.ConfigService;
-import org.springframework.beans.BeanUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.stream.Collectors;
-
-/**
- * 加载热点参数规则
- *
- * @author zyf
- * @date 2022-04-13
- */
-@Component("paramFlowRuleNacosProvider")
-public class ParamFlowRuleNacosProvider implements DynamicRuleProvider> {
-
- @Autowired
- private ConfigService configService;
- @Autowired
- private Converter> converter;
-
- @Override
- public List getRules(String appName) throws Exception {
- String rules = configService.getConfig(appName + SentinelConStants.PARAM_FLOW_DATA_ID_POSTFIX,
- SentinelConStants.GROUP_ID, 3000);
- if (StringUtil.isEmpty(rules)) {
- return new ArrayList<>();
- }
- List entityList = converter.convert(rules);
- return entityList.stream().map(rule -> {
- ParamFlowRule paramFlowRule = new ParamFlowRule();
- BeanUtils.copyProperties(rule, paramFlowRule);
- ParamFlowRuleEntity entity = ParamFlowRuleEntity.fromParamFlowRule(rule.getApp(), rule.getIp(), rule.getPort(), paramFlowRule);
- entity.setId(rule.getId());
- entity.setGmtCreate(rule.getGmtCreate());
- return entity;
- }).collect(Collectors.toList());
- }
-}
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/paramflow/ParamFlowRuleNacosPublisher.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/paramflow/ParamFlowRuleNacosPublisher.java
deleted file mode 100644
index b00319b9f..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/paramflow/ParamFlowRuleNacosPublisher.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package com.alibaba.csp.sentinel.dashboard.rule.nacos.paramflow;
-
-import com.alibaba.csp.sentinel.dashboard.constants.SentinelConStants;
-import com.alibaba.csp.sentinel.dashboard.datasource.entity.rule.ParamFlowRuleEntity;
-import com.alibaba.csp.sentinel.dashboard.rule.DynamicRulePublisher;
-import com.alibaba.csp.sentinel.dashboard.rule.nacos.SentinelConfig;
-import com.alibaba.csp.sentinel.dashboard.rule.nacos.entity.ParamFlowRuleCorrectEntity;
-import com.alibaba.csp.sentinel.datasource.Converter;
-import com.alibaba.csp.sentinel.util.AssertUtil;
-import com.alibaba.nacos.api.config.ConfigService;
-import org.springframework.beans.BeanUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-import java.util.List;
-import java.util.stream.Collectors;
-
-/**
- * 持久化热点参数规则
- *
- * @author zyf
- * @date 2022-04-13
- */
-@Component("paramFlowRuleNacosPublisher")
-public class ParamFlowRuleNacosPublisher implements DynamicRulePublisher> {
-
- @Autowired
- private ConfigService configService;
- @Autowired
- private Converter, String> converter;
-
- @Override
- public void publish(String app, List rules) throws Exception {
- AssertUtil.notEmpty(app, "app name cannot be empty");
- if (rules == null) {
- return;
- }
- rules.forEach(e -> e.setApp(app));
-
- // 转换
- List list = rules.stream().map(rule -> {
- ParamFlowRuleCorrectEntity entity = new ParamFlowRuleCorrectEntity();
- BeanUtils.copyProperties(rule, entity);
- return entity;
- }).collect(Collectors.toList());
-
- configService.publishConfig(app + SentinelConStants.PARAM_FLOW_DATA_ID_POSTFIX,
- SentinelConStants.GROUP_ID, converter.convert(list));
-
- }
-}
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/system/SystemRuleNacosProvider.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/system/SystemRuleNacosProvider.java
deleted file mode 100644
index c24242602..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/system/SystemRuleNacosProvider.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package com.alibaba.csp.sentinel.dashboard.rule.nacos.system;
-
-import com.alibaba.csp.sentinel.dashboard.constants.SentinelConStants;
-import com.alibaba.csp.sentinel.dashboard.datasource.entity.rule.SystemRuleEntity;
-import com.alibaba.csp.sentinel.dashboard.rule.DynamicRuleProvider;
-import com.alibaba.csp.sentinel.datasource.Converter;
-import com.alibaba.csp.sentinel.util.StringUtil;
-import com.alibaba.nacos.api.config.ConfigService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * 加载系统规则
- *
- * @author zyf
- * @date 2022-04-13
- */
-@Component("systemRuleNacosProvider")
-public class SystemRuleNacosProvider implements DynamicRuleProvider> {
- @Autowired
- private ConfigService configService;
- @Autowired
- private Converter> converter;
-
- @Override
- public List getRules(String appName) throws Exception {
- String rules = configService.getConfig(appName + SentinelConStants.SYSTEM_DATA_ID_POSTFIX,
- SentinelConStants.GROUP_ID, 3000);
- if (StringUtil.isEmpty(rules)) {
- return new ArrayList<>();
- }
- return converter.convert(rules);
- }
-}
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/system/SystemRuleNacosPublisher.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/system/SystemRuleNacosPublisher.java
deleted file mode 100644
index 1617ebc81..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/java/com/alibaba/csp/sentinel/dashboard/rule/nacos/system/SystemRuleNacosPublisher.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package com.alibaba.csp.sentinel.dashboard.rule.nacos.system;
-
-import com.alibaba.csp.sentinel.dashboard.constants.SentinelConStants;
-import com.alibaba.csp.sentinel.dashboard.datasource.entity.rule.SystemRuleEntity;
-import com.alibaba.csp.sentinel.dashboard.rule.DynamicRulePublisher;
-import com.alibaba.csp.sentinel.datasource.Converter;
-import com.alibaba.csp.sentinel.util.AssertUtil;
-import com.alibaba.nacos.api.config.ConfigService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-import java.util.List;
-
-/**
- * 持久化系统规则
- *
- * @author zyf
- * @date 2022-04-13
- */
-@Component("systemRuleNacosPublisher")
-public class SystemRuleNacosPublisher implements DynamicRulePublisher> {
-
- @Autowired
- private ConfigService configService;
- @Autowired
- private Converter, String> converter;
-
- @Override
- public void publish(String app, List rules) throws Exception {
- AssertUtil.notEmpty(app, "app name cannot be empty");
- if (rules == null) {
- return;
- }
- configService.publishConfig(app + SentinelConStants.SYSTEM_DATA_ID_POSTFIX,
- SentinelConStants.GROUP_ID, converter.convert(rules));
- }
-}
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/resources/application.yml b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/resources/application.yml
deleted file mode 100644
index 190bcb29f..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-sentinel/src/main/resources/application.yml
+++ /dev/null
@@ -1,38 +0,0 @@
-server:
- port: 9000
- servlet:
- session:
- cookie:
- name: sentinel_dashboard_cookie
- encoding:
- charset: UTF-8
- enabled: true
- force: true
-spring:
- mvc:
- #Spring Boot 2.6+\u540E\u6620\u5C04\u5339\u914D\u7684\u9ED8\u8BA4\u7B56\u7565\u5DF2\u4ECEAntPathMatcher\u66F4\u6539\u4E3APathPatternParser,\u9700\u8981\u624B\u52A8\u6307\u5B9A\u4E3Aant-path-matcher
- pathmatch:
- matching-strategy: ant_path_matcher
-#auth settings
-auth:
- filter:
- exclude-url-suffixes: htm,html,js,css,map,ico,ttf,woff,png
- exclude-urls: /,/auth/login,/auth/logout,/registry/machine,/version
-logging:
- level:
- org:
- springframework:
- web: INFO
- pattern:
- file: '%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n'
- file:
- name: ${user.home}/logs/csp/sentinel-dashboard.log
-nacos:
- server:
- ip: @config.server-addr@
-sentinel:
- dashboard:
- version: 1.8.2
- auth:
- username: sentinel
- password: sentinel
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-more/pom.xml b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-more/pom.xml
deleted file mode 100644
index 37d9b83d2..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-more/pom.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-
-
-
- jeecg-cloud-test
- org.jeecgframework.boot3
- 3.9.0
-
- 4.0.0
- 公共测试模块
- jeecg-cloud-test-more
-
-
-
-
- org.jeecgframework.boot3
- jeecg-boot-starter-cloud
-
-
-
- org.jeecgframework.boot3
- jeecg-system-cloud-api
-
-
-
-
-
- org.jeecgframework.boot3
- jeecg-boot-starter-job
-
-
-
- org.jeecgframework.boot3
- jeecg-boot-starter-rabbitmq
-
-
-
- org.jeecgframework.boot3
- jeecg-boot-starter-lock
-
-
-
-
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-more/src/main/java/org/jeecg/modules/test/constant/CloudConstant.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-more/src/main/java/org/jeecg/modules/test/constant/CloudConstant.java
deleted file mode 100644
index 17f9f494a..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-more/src/main/java/org/jeecg/modules/test/constant/CloudConstant.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package org.jeecg.modules.test.constant;
-
-/**
- * 微服务单元测试常量定义
- * @author: zyf
- * @date: 2022/04/21
- */
-public interface CloudConstant {
-
- /**
- * MQ测试队列名字
- */
- public final static String MQ_JEECG_PLACE_ORDER = "jeecg_place_order";
-
- /**
- * MQ测试消息总线
- */
- public final static String MQ_DEMO_BUS_EVENT = "demoBusEvent";
-
- /**
- * 分布式锁lock key
- */
- public final static String REDISSON_DEMO_LOCK_KEY1 = "demoLockKey1";
- public final static String REDISSON_DEMO_LOCK_KEY2 = "demoLockKey2";
-
-}
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-more/src/main/java/org/jeecg/modules/test/feign/client/JeecgTestClient.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-more/src/main/java/org/jeecg/modules/test/feign/client/JeecgTestClient.java
deleted file mode 100644
index 340a9518c..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-more/src/main/java/org/jeecg/modules/test/feign/client/JeecgTestClient.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.jeecg.modules.test.feign.client;
-
-import org.jeecg.common.api.vo.Result;
-
-import org.jeecg.common.constant.ServiceNameConstants;
-import org.jeecg.config.FeignConfig;
-import org.jeecg.modules.test.constant.CloudConstant;
-import org.jeecg.modules.test.feign.factory.JeecgTestClientFactory;
-import org.springframework.cloud.openfeign.FeignClient;
-import org.springframework.stereotype.Component;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-
-/**
- * 常规feign接口定义
- * @author: zyf
- * @date: 2022/04/21
- */
-@FeignClient(value = ServiceNameConstants.SERVICE_DEMO, configuration = FeignConfig.class,fallbackFactory = JeecgTestClientFactory.class)
-@Component
-public interface JeecgTestClient {
-
- /**
- * feign测试方法
- * @param name
- * @return
- */
- @GetMapping(value = "/test/getMessage")
- String getMessage(@RequestParam(value = "name",required = false) String name);
-}
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-more/src/main/java/org/jeecg/modules/test/feign/client/JeecgTestClientDyn.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-more/src/main/java/org/jeecg/modules/test/feign/client/JeecgTestClientDyn.java
deleted file mode 100644
index 3a3169052..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-more/src/main/java/org/jeecg/modules/test/feign/client/JeecgTestClientDyn.java
+++ /dev/null
@@ -1,15 +0,0 @@
-//package org.jeecg.modules.test.feign.client;
-//
-//import org.jeecg.common.api.vo.Result;
-//import org.springframework.web.bind.annotation.GetMapping;
-//import org.springframework.web.bind.annotation.PostMapping;
-//import org.springframework.web.bind.annotation.RequestParam;
-//
-///**
-// * 动态feign接口定义
-// */
-//public interface JeecgTestClientDyn {
-//
-// @GetMapping(value = "/test/getMessage")
-// Result getMessage(@RequestParam(value = "name",required = false) String name);
-//}
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-more/src/main/java/org/jeecg/modules/test/feign/controller/JeecgTestFeignController.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-more/src/main/java/org/jeecg/modules/test/feign/controller/JeecgTestFeignController.java
deleted file mode 100644
index cf7ae626d..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-more/src/main/java/org/jeecg/modules/test/feign/controller/JeecgTestFeignController.java
+++ /dev/null
@@ -1,78 +0,0 @@
-package org.jeecg.modules.test.feign.controller;
-
-
-import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang3.StringUtils;
-import org.jeecg.common.api.vo.Result;
-import org.jeecg.modules.test.feign.client.JeecgTestClient;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-import com.alibaba.csp.sentinel.annotation.SentinelResource;
-import io.swagger.v3.oas.annotations.tags.Tag;
-import io.swagger.v3.oas.annotations.Operation;
-
-/**
- * 微服务单元测试
- * @author: zyf
- * @date: 2022/04/21
- */
-@Slf4j
-@RestController
-@RequestMapping("/sys/test")
-@Tag(name = "【微服务】单元测试")
-public class JeecgTestFeignController {
-
- @Autowired
- private JeecgTestClient jeecgTestClient;
-
- /**
- * 熔断: fallbackFactory优先于 @SentinelResource
- *
- * @param name
- * @return
- */
- @GetMapping("/getMessage")
- @Operation(summary = "测试feign调用demo服务1")
- @SentinelResource(value = "test_more_getMessage", fallback = "getDefaultUser")
- public Result getMessage(@RequestParam(value = "name", required = false) String name) {
- log.info("---------Feign fallbackFactory优先级高于@SentinelResource-----------------");
- String resultMsg = jeecgTestClient.getMessage(" I am jeecg-system 服务节点,呼叫 jeecg-demo!");
- return Result.OK(null, resultMsg);
- }
-
- /**
- * 测试方法:关闭demo服务,访问请求 http://127.0.0.1:9999/sys/test/getMessage
- *
- * @param name
- * @return
- */
- @GetMapping("/getMessage2")
- @Operation(summary = "测试feign调用demo服务2")
- public Result getMessage2(@RequestParam(value = "name", required = false) String name) {
- log.info("---------测试 Feign fallbackFactory-----------------");
- String resultMsg = jeecgTestClient.getMessage(" I am jeecg-system 服务节点,呼叫 jeecg-demo!");
- return Result.OK(null, resultMsg);
- }
-
-
- @GetMapping("/fallback")
- @Operation(summary = "测试熔断")
- @SentinelResource(value = "test_more_fallback", fallback = "getDefaultUser")
- public Result test(@RequestParam(value = "name", required = false) String name) {
- if (StringUtils.isEmpty(name)) {
- throw new IllegalArgumentException("name param is empty");
- }
- return Result.OK();
- }
-
- /**
- * 熔断,默认回调函数
- *
- * @param name
- * @return
- */
- public Result getDefaultUser(String name) {
- log.info("熔断,默认回调函数");
- return Result.error(null, "访问超时, 自定义 @SentinelResource Fallback");
- }
-}
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-more/src/main/java/org/jeecg/modules/test/feign/factory/JeecgTestClientFactory.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-more/src/main/java/org/jeecg/modules/test/feign/factory/JeecgTestClientFactory.java
deleted file mode 100644
index 9db197446..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-more/src/main/java/org/jeecg/modules/test/feign/factory/JeecgTestClientFactory.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package org.jeecg.modules.test.feign.factory;
-
-
-
-
-import org.springframework.cloud.openfeign.FallbackFactory;
-import org.jeecg.modules.test.feign.client.JeecgTestClient;
-import org.jeecg.modules.test.feign.fallback.JeecgTestFallback;
-import org.springframework.stereotype.Component;
-
-/**
- * @author qinfeng
- */
-@Component
-public class JeecgTestClientFactory implements FallbackFactory {
-
- @Override
- public JeecgTestClient create(Throwable throwable) {
- JeecgTestFallback fallback = new JeecgTestFallback();
- fallback.setCause(throwable);
- return fallback;
- }
-}
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-more/src/main/java/org/jeecg/modules/test/feign/fallback/JeecgTestFallback.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-more/src/main/java/org/jeecg/modules/test/feign/fallback/JeecgTestFallback.java
deleted file mode 100644
index 62441cbc7..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-more/src/main/java/org/jeecg/modules/test/feign/fallback/JeecgTestFallback.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package org.jeecg.modules.test.feign.fallback;
-
-import org.jeecg.common.api.vo.Result;
-
-import lombok.Setter;
-import org.jeecg.modules.test.feign.client.JeecgTestClient;
-
-
-/**
-* 接口fallback实现
-*
-* @author: scott
-* @date: 2022/4/11 19:41
-*/
-public class JeecgTestFallback implements JeecgTestClient {
-
- @Setter
- private Throwable cause;
-
-
- @Override
- public String getMessage(String name) {
- return "访问超时, 自定义FallbackFactory";
- }
-}
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-more/src/main/java/org/jeecg/modules/test/lock/DemoLockTest.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-more/src/main/java/org/jeecg/modules/test/lock/DemoLockTest.java
deleted file mode 100644
index 68c8d999b..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-more/src/main/java/org/jeecg/modules/test/lock/DemoLockTest.java
+++ /dev/null
@@ -1,69 +0,0 @@
-package org.jeecg.modules.test.lock;
-
-import lombok.extern.slf4j.Slf4j;
-import org.jeecg.boot.starter.lock.annotation.JLock;
-import org.jeecg.boot.starter.lock.client.RedissonLockClient;
-import org.jeecg.modules.test.constant.CloudConstant;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.scheduling.annotation.Scheduled;
-import org.springframework.stereotype.Component;
-
-import java.util.Map;
-
-/**
- * 分布式锁测试demo
- * @author: zyf
- * @date: 2022/04/21
- */
-@Slf4j
-@Component
-public class DemoLockTest {
- @Autowired
- RedissonLockClient redissonLock;
-// @Autowired
-// RabbitMqClient rabbitMqClient;
-
- /**
- * 测试方法:
- * @Scheduled(cron = "0/5 * * * * ?") 表示每5秒执行一次
- * @JLock(lockKey = CloudConstant.REDISSON_DEMO_LOCK_KEY1)分布式锁,10秒钟才释放
- * 结果:每10秒钟输出一次 “执行 分布式锁 业务逻辑1” 就说明锁成功了
- *
- * 测试分布式锁【注解方式】
- */
- @Scheduled(cron = "0/5 * * * * ?")
- @JLock(lockKey = CloudConstant.REDISSON_DEMO_LOCK_KEY1)
- public void execute() throws InterruptedException {
- log.info("执行execute任务开始,休眠十秒开始,当前系统时间戳(秒):"+ System.currentTimeMillis()/1000);
- Thread.sleep(10000);
- log.info("========执行 分布式锁 业务逻辑1=============");
-// Map map = new BaseMap();
-// map.put("orderId", "BJ0001");
-// rabbitMqClient.sendMessage(CloudConstant.MQ_JEECG_PLACE_ORDER, map);
-// //延迟10秒发送
-// map.put("orderId", "NJ0002");
-// rabbitMqClient.sendMessage(CloudConstant.MQ_JEECG_PLACE_ORDER, map, 10000);
-
- log.info("execute任务结束,休眠十秒完成,当前系统时间戳(秒):"+ System.currentTimeMillis()/1000);
- }
-
-
- /**
- * 测试分布式锁【编码方式】
- * @Scheduled(cron = "0/5 * * * * ?")
- */
- public void execute2() throws InterruptedException {
- int expireSeconds=6000;
- if (redissonLock.tryLock(CloudConstant.REDISSON_DEMO_LOCK_KEY2, -1, expireSeconds)) {
- log.info("执行任务execute2开始,休眠十秒");
- Thread.sleep(10000);
- log.info("=============业务逻辑2===================");
- log.info("定时execute2结束,休眠十秒");
-
- redissonLock.unlock(CloudConstant.REDISSON_DEMO_LOCK_KEY2);
- } else {
- log.info("execute2获取锁失败");
- }
- }
-
-}
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-more/src/main/java/org/jeecg/modules/test/xxljob/DemoJobHandler.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-more/src/main/java/org/jeecg/modules/test/xxljob/DemoJobHandler.java
deleted file mode 100644
index 2ca491515..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-more/src/main/java/org/jeecg/modules/test/xxljob/DemoJobHandler.java
+++ /dev/null
@@ -1,235 +0,0 @@
-
-package org.jeecg.modules.test.xxljob;
-
-
-import com.xxl.job.core.biz.model.ReturnT;
-import com.xxl.job.core.context.XxlJobHelper;
-import com.xxl.job.core.handler.IJobHandler;
-import com.xxl.job.core.handler.annotation.XxlJob;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.stereotype.Component;
-import java.io.BufferedInputStream;
-import java.io.BufferedReader;
-import java.io.DataOutputStream;
-import java.io.InputStreamReader;
-import java.net.HttpURLConnection;
-import java.net.URL;
-import java.util.Arrays;
-import com.xxl.job.core.context.XxlJobHelper;
-
-/**
- * xxl-job定时任务测试
- * @author: zyf
- * @date: 2022/04/21
- */
-@Component
-@Slf4j
-public class DemoJobHandler {
-
-
- /**
- * 简单任务
- *
- * @param params
- * @return
- */
- @XxlJob(value = "demoJob")
- public ReturnT demoJobHandler(String params) {
- log.info("我是 jeecg-system 服务里的定时任务 demoJob,我执行了...............................");
- return ReturnT.SUCCESS;
- }
-
- /**
- * 2、分片广播任务
- */
- @XxlJob("shardingJobHandler")
- public ReturnT shardingJobHandler(String param) throws Exception {
-
- // 获取分片序号和总分片数
- int shardIndex = XxlJobHelper.getShardIndex();
- int shardTotal = XxlJobHelper.getShardTotal();
- log.info("分片参数:当前分片序号 = {}, 总分片数 = {}", shardIndex, shardTotal);
-
- // 业务逻辑
- for (int i = 0; i < shardTotal; i++) {
- if (i == shardIndex) {
- log.info("第 {} 片, 命中分片开始处理", i);
- } else {
- log.info("第 {} 片, 忽略", i);
- }
- }
-
- return ReturnT.SUCCESS;
- }
-
-
- /**
- * 3、命令行任务
- *
- * 输入参数:ipconfig /all
- */
- @XxlJob("commandJobHandler")
- public ReturnT commandJobHandler(String param) throws Exception {
- String command = param;
- int exitValue = -1;
-
- BufferedReader bufferedReader = null;
- try {
- // command process
- Process process = Runtime.getRuntime().exec(command);
- BufferedInputStream bufferedInputStream = new BufferedInputStream(process.getInputStream());
- bufferedReader = new BufferedReader(new InputStreamReader(bufferedInputStream));
-
- // command log
- String line;
- while ((line = bufferedReader.readLine()) != null) {
- log.info(line);
- }
-
- // command exit
- process.waitFor();
- exitValue = process.exitValue();
- } catch (Exception e) {
- log.info(e.getMessage(),e);
- } finally {
- if (bufferedReader != null) {
- bufferedReader.close();
- }
- }
-
- if (exitValue == 0) {
- return ReturnT.SUCCESS;
- } else {
- return new ReturnT(ReturnT.FAIL_CODE, "command exit value(" + exitValue + ") is failed");
- }
- }
-
-
- /**
- * 4、跨平台Http任务
- *
- * 输入参数:
- * url: https://www.baidu.com
- * method: get
- * data: content
- */
- @XxlJob("httpJobHandler")
- public ReturnT httpJobHandler(String param) throws Exception {
- String[] methodArray=new String[]{"GET","POST"};
- int okState=200;
- // param parse
- if (param == null || param.trim().length() == 0) {
- log.info("param[" + param + "] invalid.");
- return ReturnT.FAIL;
- }
- String[] httpParams = param.split("\n");
- String url = null;
- String method = null;
- String data = null;
- for (String httpParam : httpParams) {
- if (httpParam.startsWith("url:")) {
- url = httpParam.substring(httpParam.indexOf("url:") + 4).trim();
- }
- if (httpParam.startsWith("method:")) {
- method = httpParam.substring(httpParam.indexOf("method:") + 7).trim().toUpperCase();
- }
- if (httpParam.startsWith("data:")) {
- data = httpParam.substring(httpParam.indexOf("data:") + 5).trim();
- }
- }
-
- // param valid
- if (url == null || url.trim().length() == 0) {
- log.info("url[" + url + "] invalid.");
- return ReturnT.FAIL;
- }
- if (method == null || !Arrays.asList(methodArray).contains(method)) {
- log.info("method[" + method + "] invalid.");
- return ReturnT.FAIL;
- }
-
- // request
- HttpURLConnection connection = null;
- BufferedReader bufferedReader = null;
- try {
- // connection
- URL realUrl = new URL(url);
- connection = (HttpURLConnection) realUrl.openConnection();
-
- // connection setting
- connection.setRequestMethod(method);
- connection.setDoOutput(true);
- connection.setDoInput(true);
- connection.setUseCaches(false);
- connection.setReadTimeout(5 * 1000);
- connection.setConnectTimeout(3 * 1000);
- connection.setRequestProperty("connection", "Keep-Alive");
- connection.setRequestProperty("Content-Type", "application/json;charset=UTF-8");
- connection.setRequestProperty("Accept-Charset", "application/json;charset=UTF-8");
-
- // do connection
- connection.connect();
-
- // data
- if (data != null && data.trim().length() > 0) {
- DataOutputStream dataOutputStream = new DataOutputStream(connection.getOutputStream());
- dataOutputStream.write(data.getBytes("UTF-8"));
- dataOutputStream.flush();
- dataOutputStream.close();
- }
-
- // valid StatusCode
- int statusCode = connection.getResponseCode();
- if (statusCode != okState) {
- throw new RuntimeException("Http Request StatusCode(" + statusCode + ") Invalid.");
- }
-
- // result
- bufferedReader = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8"));
- StringBuilder result = new StringBuilder();
- String line;
- while ((line = bufferedReader.readLine()) != null) {
- result.append(line);
- }
- String responseMsg = result.toString();
-
- log.info(responseMsg);
- return ReturnT.SUCCESS;
- } catch (Exception e) {
- log.info(e.getMessage(),e);
- return ReturnT.FAIL;
- } finally {
- try {
- if (bufferedReader != null) {
- bufferedReader.close();
- }
- if (connection != null) {
- connection.disconnect();
- }
- } catch (Exception e2) {
- log.info(e2.getMessage(),e2);
- }
- }
-
- }
-
-
- /**
- * 5、生命周期任务示例:任务初始化与销毁时,支持自定义相关逻辑;
- */
- @XxlJob(value = "demoJobHandler2", init = "init", destroy = "destroy")
- public ReturnT demoJobHandler2(String param) throws Exception {
- log.info("XXL-JOB, Hello World.");
- return ReturnT.SUCCESS;
- }
-
- public void init() {
- log.info("init");
- }
-
- public void destroy() {
- log.info("destory");
- }
-
-}
-
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-more/src/main/java/org/jeecg/modules/test/xxljob/XxclJobTest.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-more/src/main/java/org/jeecg/modules/test/xxljob/XxclJobTest.java
deleted file mode 100644
index 1e5a84a3d..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-more/src/main/java/org/jeecg/modules/test/xxljob/XxclJobTest.java
+++ /dev/null
@@ -1,41 +0,0 @@
-
-package org.jeecg.modules.test.xxljob;
-
-import com.xxl.job.core.biz.model.ReturnT;
-import com.xxl.job.core.handler.annotation.XxlJob;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.stereotype.Component;
-
-/**
- * xxl-job定时任务测试
- * @author: zyf
- * @date: 2022/04/21
- */
-@Component
-@Slf4j
-public class XxclJobTest {
-
-
- /**
- * 简单任务
- *
- * @param params
- * @return
- */
-
- @XxlJob(value = "xxclJobTest")
- public ReturnT demoJobHandler(String params) {
- log.info("我是 jeecg-system 服务里的定时任务 xxclJobTest , 我执行了...............................");
- return ReturnT.SUCCESS;
- }
-
- public void init() {
- log.info("init");
- }
-
- public void destroy() {
- log.info("destory");
- }
-
-}
-
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-rabbitmq/pom.xml b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-rabbitmq/pom.xml
deleted file mode 100644
index c1ef85cb2..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-rabbitmq/pom.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
- jeecg-cloud-test
- org.jeecgframework.boot3
- 3.9.0
-
- 4.0.0
- 消息队列测试模块
- jeecg-cloud-test-rabbitmq
-
-
-
-
- org.jeecgframework.boot3
- jeecg-boot-starter-rabbitmq
-
-
-
-
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-rabbitmq/src/main/java/org/jeecg/modules/test/rabbitmq/constant/CloudConstant.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-rabbitmq/src/main/java/org/jeecg/modules/test/rabbitmq/constant/CloudConstant.java
deleted file mode 100644
index c29f497df..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-rabbitmq/src/main/java/org/jeecg/modules/test/rabbitmq/constant/CloudConstant.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package org.jeecg.modules.test.rabbitmq.constant;
-
-/**
- * 微服务单元测试常量定义
- * @author: zyf
- * @date: 2022/04/21
- */
-public interface CloudConstant {
-
-
- /**
- * MQ测试队列名字
- */
- public final static String MQ_JEECG_PLACE_ORDER = "jeecg_place_order";
- public final static String MQ_JEECG_PLACE_ORDER_TIME = "jeecg_place_order_time";
-
- /**
- * MQ测试消息总线
- */
- public final static String MQ_DEMO_BUS_EVENT = "demoBusEvent";
-
- /**
- * 分布式锁lock key
- */
- public final static String REDISSON_DEMO_LOCK_KEY1 = "demoLockKey1";
- public final static String REDISSON_DEMO_LOCK_KEY2 = "demoLockKey2";
-
-}
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-rabbitmq/src/main/java/org/jeecg/modules/test/rabbitmq/controller/JeecgMqTestController.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-rabbitmq/src/main/java/org/jeecg/modules/test/rabbitmq/controller/JeecgMqTestController.java
deleted file mode 100644
index 9b88ed739..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-rabbitmq/src/main/java/org/jeecg/modules/test/rabbitmq/controller/JeecgMqTestController.java
+++ /dev/null
@@ -1,64 +0,0 @@
-package org.jeecg.modules.test.rabbitmq.controller;
-
-
-import io.swagger.v3.oas.annotations.Operation;
-import io.swagger.v3.oas.annotations.tags.Tag;
-import jakarta.servlet.http.HttpServletRequest;
-
-import org.jeecg.boot.starter.rabbitmq.client.RabbitMqClient;
-import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.base.BaseMap;
-import org.jeecg.modules.test.rabbitmq.constant.CloudConstant;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import cn.hutool.core.util.RandomUtil;
-import io.swagger.v3.oas.annotations.tags.Tag;
-import io.swagger.v3.oas.annotations.Operation;
-
-
-/**
- * RabbitMqClient发送消息
- * @author: zyf
- * @date: 2022/04/21
- */
-@RestController
-@RequestMapping("/sys/test")
-@Tag(name = "【微服务】MQ单元测试")
-public class JeecgMqTestController {
-
- @Autowired
- private RabbitMqClient rabbitMqClient;
-
-
- /**
- * 测试方法:快速点击发送MQ消息
- * 观察三个接受者如何分配处理消息:HelloReceiver1、HelloReceiver2、HelloReceiver3,会均衡分配
- *
- * @param req
- * @return
- */
- @GetMapping(value = "/rabbitmq")
- @Operation(summary = "测试rabbitmq")
- public Result> rabbitMqClientTest(HttpServletRequest req) {
- //rabbitmq消息队列测试
- BaseMap map = new BaseMap();
- map.put("orderId", RandomUtil.randomNumbers(10));
- rabbitMqClient.sendMessage(CloudConstant.MQ_JEECG_PLACE_ORDER, map);
- rabbitMqClient.sendMessage(CloudConstant.MQ_JEECG_PLACE_ORDER_TIME, map,10);
- return Result.OK("MQ发送消息成功");
- }
-
- @GetMapping(value = "/rabbitmq2")
- @Operation(summary = "rabbitmq消息总线测试")
- public Result> rabbitmq2(HttpServletRequest req) {
-
- //rabbitmq消息总线测试
- BaseMap params = new BaseMap();
- params.put("orderId", "123456");
- rabbitMqClient.publishEvent(CloudConstant.MQ_DEMO_BUS_EVENT, params);
- return Result.OK("MQ发送消息成功");
- }
-}
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-rabbitmq/src/main/java/org/jeecg/modules/test/rabbitmq/event/DemoBusEvent.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-rabbitmq/src/main/java/org/jeecg/modules/test/rabbitmq/event/DemoBusEvent.java
deleted file mode 100644
index ac2001bab..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-rabbitmq/src/main/java/org/jeecg/modules/test/rabbitmq/event/DemoBusEvent.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.jeecg.modules.test.rabbitmq.event;
-
-import org.jeecg.boot.starter.rabbitmq.event.EventObj;
-import org.jeecg.boot.starter.rabbitmq.event.JeecgBusEventHandler;
-import org.jeecg.common.base.BaseMap;
-import org.jeecg.modules.test.rabbitmq.constant.CloudConstant;
-import org.springframework.stereotype.Component;
-
-import cn.hutool.core.util.ObjectUtil;
-import lombok.extern.slf4j.Slf4j;
-
-/**
- * 消息处理器【发布订阅】
- * @author: zyf
- * @date: 2022/04/21
- */
-@Slf4j
-@Component(CloudConstant.MQ_DEMO_BUS_EVENT)
-public class DemoBusEvent implements JeecgBusEventHandler {
-
-
- @Override
- public void onMessage(EventObj obj) {
- if (ObjectUtil.isNotEmpty(obj)) {
- BaseMap baseMap = obj.getBaseMap();
- String orderId = baseMap.get("orderId");
- log.info("业务处理----订单ID:" + orderId);
- }
- }
-}
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-rabbitmq/src/main/java/org/jeecg/modules/test/rabbitmq/listener/HelloReceiver1.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-rabbitmq/src/main/java/org/jeecg/modules/test/rabbitmq/listener/HelloReceiver1.java
deleted file mode 100644
index 77ff14ff9..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-rabbitmq/src/main/java/org/jeecg/modules/test/rabbitmq/listener/HelloReceiver1.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package org.jeecg.modules.test.rabbitmq.listener;
-
-import org.jeecg.boot.starter.rabbitmq.core.BaseRabbiMqHandler;
-import org.jeecg.boot.starter.rabbitmq.listenter.MqListener;
-import org.jeecg.common.annotation.RabbitComponent;
-import org.jeecg.common.base.BaseMap;
-import org.jeecg.modules.test.rabbitmq.constant.CloudConstant;
-import org.springframework.amqp.rabbit.annotation.RabbitHandler;
-import org.springframework.amqp.rabbit.annotation.RabbitListener;
-import org.springframework.amqp.support.AmqpHeaders;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.messaging.handler.annotation.Header;
-import org.springframework.web.client.RestTemplate;
-
-import com.rabbitmq.client.Channel;
-
-import lombok.extern.slf4j.Slf4j;
-
-/**
- * 定义接收者(可以定义N个接受者,消息会均匀的发送到N个接收者中)
- *
- * RabbitMq接受者1
- * (@RabbitListener声明类上,一个类只能监听一个队列)
- * @author: zyf
- * @date: 2022/04/21
- */
-@Slf4j
-@RabbitListener(queues = CloudConstant.MQ_JEECG_PLACE_ORDER)
-@RabbitComponent(value = "helloReceiver1")
-public class HelloReceiver1 extends BaseRabbiMqHandler {
-
- @Autowired
- private RestTemplate restTemplate;
-
- @RabbitHandler
- public void onMessage(BaseMap baseMap, Channel channel, @Header(AmqpHeaders.DELIVERY_TAG) long deliveryTag) {
- super.onMessage(baseMap, deliveryTag, channel, new MqListener() {
- @Override
- public void handler(BaseMap map, Channel channel) {
- //业务处理
- String orderId = map.get("orderId").toString();
- log.info("【我是处理人1】 MQ Receiver1,orderId : " + orderId);
- // jeecgTestClient.getMessage("JEECG");
- try{
-// HttpHeaders requestHeaders = new HttpHeaders();
-// requestHeaders.add("X-Access-Token", "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE2MzExOTcyOTEsInVzZXJuYW1lIjoiYWRtaW4ifQ.N8mJvwzb4G0i3vYF9A2Bmf5cDKb1LDnOp1RwtpYEu1E");
-// requestHeaders.add("content-type", MediaType.APPLICATION_JSON_UTF8.toString());
-// MultiValueMap requestBody = new LinkedMultiValueMap<>();
-// requestBody.add("name", "test");
-// HttpEntity< MultiValueMap > requestEntity = new HttpEntity(requestBody, requestHeaders);
-// //post
-// ResponseEntity responseEntity = restTemplate.postForEntity("http://localhost:7002/test/getMessage", requestEntity, String.class);
-// System.out.println(" responseEntity :"+responseEntity.getBody());
- }catch (Exception e){
- e.printStackTrace();
- }
-
- }
- });
- }
-
-}
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-rabbitmq/src/main/java/org/jeecg/modules/test/rabbitmq/listener/HelloReceiver2.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-rabbitmq/src/main/java/org/jeecg/modules/test/rabbitmq/listener/HelloReceiver2.java
deleted file mode 100644
index e5601e340..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-rabbitmq/src/main/java/org/jeecg/modules/test/rabbitmq/listener/HelloReceiver2.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package org.jeecg.modules.test.rabbitmq.listener;//package org.jeecg.modules.cloud.rabbitmq;
-
-import com.rabbitmq.client.Channel;
-import lombok.extern.slf4j.Slf4j;
-import org.jeecg.boot.starter.rabbitmq.core.BaseRabbiMqHandler;
-import org.jeecg.boot.starter.rabbitmq.listenter.MqListener;
-import org.jeecg.common.annotation.RabbitComponent;
-import org.jeecg.common.base.BaseMap;
-import org.jeecg.modules.test.rabbitmq.constant.CloudConstant;
-import org.springframework.amqp.rabbit.annotation.RabbitHandler;
-import org.springframework.amqp.rabbit.annotation.RabbitListener;
-import org.springframework.amqp.support.AmqpHeaders;
-import org.springframework.messaging.handler.annotation.Header;
-
-/**
- * 定义接收者(可以定义N个接受者,消息会均匀的发送到N个接收者中)
- *
- * RabbitMq接受者2
- * (@RabbitListener声明类上,一个类只能监听一个队列)
- * @author: zyf
- * @date: 2022/04/21
- */
-@Slf4j
-@RabbitListener(queues = CloudConstant.MQ_JEECG_PLACE_ORDER)
-@RabbitComponent(value = "helloReceiver2")
-public class HelloReceiver2 extends BaseRabbiMqHandler {
-
- @RabbitHandler
- public void onMessage(BaseMap baseMap, Channel channel, @Header(AmqpHeaders.DELIVERY_TAG) long deliveryTag) {
- super.onMessage(baseMap, deliveryTag, channel, new MqListener() {
- @Override
- public void handler(BaseMap map, Channel channel) {
- //业务处理
- String orderId = map.get("orderId").toString();
- log.info("【我是处理人2】 MQ Receiver2,orderId : " + orderId);
- }
- });
- }
-
-}
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-rabbitmq/src/main/java/org/jeecg/modules/test/rabbitmq/listener/HelloReceiver3.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-rabbitmq/src/main/java/org/jeecg/modules/test/rabbitmq/listener/HelloReceiver3.java
deleted file mode 100644
index c70cb0015..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-rabbitmq/src/main/java/org/jeecg/modules/test/rabbitmq/listener/HelloReceiver3.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package org.jeecg.modules.test.rabbitmq.listener;//package org.jeecg.modules.cloud.rabbitmq;
-
-import com.rabbitmq.client.Channel;
-import lombok.extern.slf4j.Slf4j;
-import org.jeecg.boot.starter.rabbitmq.core.BaseRabbiMqHandler;
-import org.jeecg.boot.starter.rabbitmq.listenter.MqListener;
-import org.jeecg.common.annotation.RabbitComponent;
-import org.jeecg.common.base.BaseMap;
-import org.jeecg.modules.test.rabbitmq.constant.CloudConstant;
-import org.springframework.amqp.rabbit.annotation.RabbitListener;
-import org.springframework.amqp.support.AmqpHeaders;
-import org.springframework.messaging.handler.annotation.Header;
-
-/**
- * 定义接收者(可以定义N个接受者,消息会均匀的发送到N个接收者中)
- *
- * RabbitMq接受者3【我是处理人3】
- * (@RabbitListener声明类方法上,一个类可以多监听多个队列)
- * @author: zyf
- * @date: 2022/04/21
- */
-@Slf4j
-@RabbitComponent(value = "helloReceiver3")
-public class HelloReceiver3 extends BaseRabbiMqHandler {
-
- @RabbitListener(queues = CloudConstant.MQ_JEECG_PLACE_ORDER)
- public void onMessage(BaseMap baseMap, Channel channel, @Header(AmqpHeaders.DELIVERY_TAG) long deliveryTag) {
- super.onMessage(baseMap, deliveryTag, channel, new MqListener() {
- @Override
- public void handler(BaseMap map, Channel channel) {
- //业务处理
- String orderId = map.get("orderId").toString();
- log.info("【我是处理人3】MQ Receiver3,orderId : " + orderId);
- }
- });
- }
-
-}
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-rabbitmq/src/main/java/org/jeecg/modules/test/rabbitmq/listener/HelloTimeReceiver.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-rabbitmq/src/main/java/org/jeecg/modules/test/rabbitmq/listener/HelloTimeReceiver.java
deleted file mode 100644
index 2404a924d..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-rabbitmq/src/main/java/org/jeecg/modules/test/rabbitmq/listener/HelloTimeReceiver.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package org.jeecg.modules.test.rabbitmq.listener;
-
-import org.jeecg.boot.starter.rabbitmq.core.BaseRabbiMqHandler;
-import org.jeecg.boot.starter.rabbitmq.listenter.MqListener;
-import org.jeecg.common.annotation.RabbitComponent;
-import org.jeecg.common.base.BaseMap;
-import org.jeecg.modules.test.rabbitmq.constant.CloudConstant;
-import org.springframework.amqp.rabbit.annotation.RabbitHandler;
-import org.springframework.amqp.rabbit.annotation.RabbitListener;
-import org.springframework.amqp.support.AmqpHeaders;
-import org.springframework.messaging.handler.annotation.Header;
-
-import com.rabbitmq.client.Channel;
-
-import lombok.extern.slf4j.Slf4j;
-
-/**
- * 定义接收者(可以定义N个接受者,消息会均匀的发送到N个接收者中)
- * @author: zyf
- * @date: 2022/04/21
- */
-@Slf4j
-@RabbitListener(queues = CloudConstant.MQ_JEECG_PLACE_ORDER_TIME)
-@RabbitComponent(value = "helloTimeReceiver")
-public class HelloTimeReceiver extends BaseRabbiMqHandler {
-
- @RabbitHandler
- public void onMessage(BaseMap baseMap, Channel channel, @Header(AmqpHeaders.DELIVERY_TAG) long deliveryTag) {
- super.onMessage(baseMap, deliveryTag, channel, new MqListener() {
- @Override
- public void handler(BaseMap map, Channel channel) {
- //业务处理
- String orderId = map.get("orderId").toString();
- log.info("Time Receiver1,orderId : " + orderId);
- }
- });
- }
-
-}
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-rocketmq/pom.xml b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-rocketmq/pom.xml
deleted file mode 100644
index 1a67d5856..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-rocketmq/pom.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
- org.jeecgframework.boot3
- jeecg-cloud-test
- 3.9.0
-
- 4.0.0
- 消息队列测试模块
- jeecg-cloud-test-rocketmq
-
-
-
-
- org.jeecgframework.boot3
- jeecg-boot-starter-rocketmq
-
-
-
-
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-rocketmq/src/main/java/org/jeecg/modules/test/rocketmq/constant/CloudConstant.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-rocketmq/src/main/java/org/jeecg/modules/test/rocketmq/constant/CloudConstant.java
deleted file mode 100644
index bb60ac959..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-rocketmq/src/main/java/org/jeecg/modules/test/rocketmq/constant/CloudConstant.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package org.jeecg.modules.test.rocketmq.constant;
-
-/**
- * 微服务单元测试常量定义
- * @author: zyf
- * @date: 2022/04/21
- */
-public interface CloudConstant {
-
-
- /**
- * MQ测试队列名字
- */
- public final static String MQ_JEECG_PLACE_ORDER = "jeecg_place_order";
- public final static String MQ_JEECG_PLACE_ORDER_TIME = "jeecg_place_order_time";
-
- /**
- * MQ测试消息总线
- */
- public final static String MQ_DEMO_BUS_EVENT = "demoBusEvent";
-
- /**
- * 分布式锁lock key
- */
- public final static String REDISSON_DEMO_LOCK_KEY1 = "demoLockKey1";
- public final static String REDISSON_DEMO_LOCK_KEY2 = "demoLockKey2";
-
-}
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-rocketmq/src/main/java/org/jeecg/modules/test/rocketmq/controller/JeecgMqTestController.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-rocketmq/src/main/java/org/jeecg/modules/test/rocketmq/controller/JeecgMqTestController.java
deleted file mode 100644
index 69d25e6b1..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-rocketmq/src/main/java/org/jeecg/modules/test/rocketmq/controller/JeecgMqTestController.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package org.jeecg.modules.test.rocketmq.controller;
-
-
-import cn.hutool.core.util.RandomUtil;
-import io.swagger.v3.oas.annotations.tags.Tag;
-import io.swagger.v3.oas.annotations.Operation;
-import org.jeecg.boot.starter.rabbitmq.client.RabbitMqClient;
-import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.base.BaseMap;
-import org.jeecg.modules.test.rocketmq.constant.CloudConstant;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import jakarta.servlet.http.HttpServletRequest;
-
-
-/**
- * RocketMqClient发送消息
- * @author: zyf
- * @date: 2022/04/21
- */
-@RestController
-@RequestMapping("/sys/test")
-@Tag(name = "【微服务】MQ单元测试")
-public class JeecgMqTestController {
-
- @Autowired
- private RabbitMqClient rabbitMqClient;
-
-
- /**
- * 测试方法:快速点击发送MQ消息
- * 观察三个接受者如何分配处理消息:HelloReceiver1、HelloReceiver2、HelloReceiver3,会均衡分配
- *
- * @param req
- * @return
- */
- @GetMapping(value = "/rocketmq")
- @Operation(summary = "测试rocketmq")
- public Result> rabbitMqClientTest(HttpServletRequest req) {
- //rabbitmq消息队列测试
- BaseMap map = new BaseMap();
- map.put("orderId", RandomUtil.randomNumbers(10));
- rabbitMqClient.sendMessage(CloudConstant.MQ_JEECG_PLACE_ORDER, map);
- rabbitMqClient.sendMessage(CloudConstant.MQ_JEECG_PLACE_ORDER_TIME, map,2);
- return Result.OK("MQ发送消息成功");
- }
-
- @GetMapping(value = "/rocketmq2")
- @Operation(summary = "rocketmq消息总线测试")
- public Result> rabbitmq2(HttpServletRequest req) {
-
- //rabbitmq消息总线测试
- BaseMap params = new BaseMap();
- params.put("orderId", "123456");
- rabbitMqClient.publishEvent(CloudConstant.MQ_DEMO_BUS_EVENT, params);
- return Result.OK("MQ发送消息成功");
- }
-}
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-rocketmq/src/main/java/org/jeecg/modules/test/rocketmq/event/DemoBusEvent.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-rocketmq/src/main/java/org/jeecg/modules/test/rocketmq/event/DemoBusEvent.java
deleted file mode 100644
index 76d248d49..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-rocketmq/src/main/java/org/jeecg/modules/test/rocketmq/event/DemoBusEvent.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package org.jeecg.modules.test.rocketmq.event;
-
-import cn.hutool.core.util.ObjectUtil;
-import lombok.extern.slf4j.Slf4j;
-import org.jeecg.boot.starter.rabbitmq.event.EventObj;
-import org.jeecg.boot.starter.rabbitmq.event.JeecgBusEventHandler;
-import org.jeecg.common.base.BaseMap;
-import org.jeecg.modules.test.rocketmq.constant.CloudConstant;
-import org.springframework.stereotype.Component;
-
-/**
- * 消息处理器【发布订阅】
- * @author: zyf
- * @date: 2022/04/21
- */
-@Slf4j
-@Component(CloudConstant.MQ_DEMO_BUS_EVENT)
-public class DemoBusEvent implements JeecgBusEventHandler {
-
-
- @Override
- public void onMessage(EventObj obj) {
- if (ObjectUtil.isNotEmpty(obj)) {
- BaseMap baseMap = obj.getBaseMap();
- String orderId = baseMap.get("orderId");
- log.info("业务处理----订单ID:" + orderId);
- }
- }
-}
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-rocketmq/src/main/java/org/jeecg/modules/test/rocketmq/listener/HelloReceiver1.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-rocketmq/src/main/java/org/jeecg/modules/test/rocketmq/listener/HelloReceiver1.java
deleted file mode 100644
index 2a3b07c0e..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-rocketmq/src/main/java/org/jeecg/modules/test/rocketmq/listener/HelloReceiver1.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package org.jeecg.modules.test.rocketmq.listener;
-
-import lombok.extern.slf4j.Slf4j;
-import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
-import org.apache.rocketmq.spring.core.RocketMQListener;
-import org.jeecg.common.base.BaseMap;
-import org.jeecg.modules.test.rocketmq.constant.CloudConstant;
-import org.springframework.stereotype.Component;
-
-/**
- * 定义接收者(可以定义N个接受者,消息会均匀的发送到N个接收者中)
- *
- * RabbitMq接受者1
- * (@RabbitListener声明类上,一个类只能监听一个队列)
- * @author: zyf
- * @date: 2022/04/21
- */
-@Slf4j
-@Component
-@RocketMQMessageListener(topic = CloudConstant.MQ_JEECG_PLACE_ORDER, consumerGroup = "helloReceiver1")
-public class HelloReceiver1 implements RocketMQListener {
-
- public void onMessage(BaseMap baseMap) {
- log.info("helloReceiver1接收消息:" + baseMap);
- }
-
-}
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-rocketmq/src/main/java/org/jeecg/modules/test/rocketmq/listener/HelloReceiver2.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-rocketmq/src/main/java/org/jeecg/modules/test/rocketmq/listener/HelloReceiver2.java
deleted file mode 100644
index c9fb1b134..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-rocketmq/src/main/java/org/jeecg/modules/test/rocketmq/listener/HelloReceiver2.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package org.jeecg.modules.test.rocketmq.listener;//package org.jeecg.modules.cloud.rabbitmq;
-
-import lombok.extern.slf4j.Slf4j;
-import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
-import org.apache.rocketmq.spring.core.RocketMQListener;
-import org.jeecg.common.base.BaseMap;
-import org.jeecg.modules.test.rocketmq.constant.CloudConstant;
-import org.springframework.stereotype.Component;
-
-/**
- * 定义接收者(可以定义N个接受者,消息会均匀的发送到N个接收者中)
- *
- * RabbitMq接受者2
- * (@RabbitListener声明类上,一个类只能监听一个队列)
- * @author: zyf
- * @date: 2022/04/21
- */
-@Slf4j
-@Component
-@RocketMQMessageListener(topic = CloudConstant.MQ_JEECG_PLACE_ORDER, consumerGroup = "helloReceiver2")
-public class HelloReceiver2 implements RocketMQListener {
-
- public void onMessage(BaseMap baseMap) {
- log.info("helloReceiver2接收消息:" + baseMap);
- }
-
-}
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-rocketmq/src/main/java/org/jeecg/modules/test/rocketmq/listener/HelloReceiver3.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-rocketmq/src/main/java/org/jeecg/modules/test/rocketmq/listener/HelloReceiver3.java
deleted file mode 100644
index 3362b796e..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-rocketmq/src/main/java/org/jeecg/modules/test/rocketmq/listener/HelloReceiver3.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package org.jeecg.modules.test.rocketmq.listener;//package org.jeecg.modules.cloud.rabbitmq;
-
-import lombok.extern.slf4j.Slf4j;
-import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
-import org.apache.rocketmq.spring.core.RocketMQListener;
-import org.jeecg.common.base.BaseMap;
-import org.jeecg.modules.test.rocketmq.constant.CloudConstant;
-import org.springframework.stereotype.Component;
-
-/**
- * 定义接收者(可以定义N个接受者,消息会均匀的发送到N个接收者中)
- *
- * RabbitMq接受者3【我是处理人3】
- * (@RabbitListener声明类方法上,一个类可以多监听多个队列)
- * @author: zyf
- * @date: 2022/04/21
- */
-@Slf4j
-@Component
-@RocketMQMessageListener(topic = CloudConstant.MQ_JEECG_PLACE_ORDER, consumerGroup = "helloReceiver3")
-public class HelloReceiver3 implements RocketMQListener {
-
- public void onMessage(BaseMap baseMap) {
- log.info("helloReceiver3接收消息:" + baseMap);
- }
-
-}
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-rocketmq/src/main/java/org/jeecg/modules/test/rocketmq/listener/HelloTimeReceiver.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-rocketmq/src/main/java/org/jeecg/modules/test/rocketmq/listener/HelloTimeReceiver.java
deleted file mode 100644
index 3e6dfe78a..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-rocketmq/src/main/java/org/jeecg/modules/test/rocketmq/listener/HelloTimeReceiver.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.jeecg.modules.test.rocketmq.listener;
-
-import lombok.extern.slf4j.Slf4j;
-import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
-import org.apache.rocketmq.spring.core.RocketMQListener;
-import org.jeecg.common.base.BaseMap;
-import org.jeecg.modules.test.rocketmq.constant.CloudConstant;
-import org.springframework.stereotype.Component;
-
-/**
- * 定义接收者(可以定义N个接受者,消息会均匀的发送到N个接收者中)
- * @author: zyf
- * @date: 2022/04/21
- */
-@Slf4j
-@Component
-@RocketMQMessageListener(topic = CloudConstant.MQ_JEECG_PLACE_ORDER_TIME, consumerGroup = "helloTimeReceiver")
-public class HelloTimeReceiver implements RocketMQListener {
-
- public void onMessage(BaseMap baseMap) {
- log.info("helloTimeReceiver接收消息:" + baseMap);
- }
-
-}
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/db/seata.sql b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/db/seata.sql
deleted file mode 100644
index eab85b2d6..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/db/seata.sql
+++ /dev/null
@@ -1,77 +0,0 @@
--- -------------------------------- The script used when storeMode is 'db' --------------------------------
--- the table to store GlobalSession data
-DROP TABLE IF EXISTS `global_table`;
-CREATE TABLE IF NOT EXISTS `global_table`
-(
- `xid` VARCHAR(128) NOT NULL,
- `transaction_id` BIGINT,
- `status` TINYINT NOT NULL,
- `application_id` VARCHAR(32),
- `transaction_service_group` VARCHAR(32),
- `transaction_name` VARCHAR(128),
- `timeout` INT,
- `begin_time` BIGINT,
- `application_data` VARCHAR(2000),
- `gmt_create` DATETIME,
- `gmt_modified` DATETIME,
- PRIMARY KEY (`xid`),
- KEY `idx_status_gmt_modified` (`status` , `gmt_modified`),
- KEY `idx_transaction_id` (`transaction_id`)
-) ENGINE = InnoDB
- DEFAULT CHARSET = utf8mb4;
-
--- the table to store BranchSession data
-DROP TABLE IF EXISTS `branch_table`;
-CREATE TABLE IF NOT EXISTS `branch_table`
-(
- `branch_id` BIGINT NOT NULL,
- `xid` VARCHAR(128) NOT NULL,
- `transaction_id` BIGINT,
- `resource_group_id` VARCHAR(32),
- `resource_id` VARCHAR(256),
- `branch_type` VARCHAR(8),
- `status` TINYINT,
- `client_id` VARCHAR(64),
- `application_data` VARCHAR(2000),
- `gmt_create` DATETIME(6),
- `gmt_modified` DATETIME(6),
- PRIMARY KEY (`branch_id`),
- KEY `idx_xid` (`xid`)
-) ENGINE = InnoDB
- DEFAULT CHARSET = utf8mb4;
-
--- the table to store lock data
-DROP TABLE IF EXISTS `lock_table`;
-CREATE TABLE IF NOT EXISTS `lock_table`
-(
- `row_key` VARCHAR(128) NOT NULL,
- `xid` VARCHAR(128),
- `transaction_id` BIGINT,
- `branch_id` BIGINT NOT NULL,
- `resource_id` VARCHAR(256),
- `table_name` VARCHAR(32),
- `pk` VARCHAR(36),
- `status` TINYINT NOT NULL DEFAULT '0' COMMENT '0:locked ,1:rollbacking',
- `gmt_create` DATETIME,
- `gmt_modified` DATETIME,
- PRIMARY KEY (`row_key`),
- KEY `idx_status` (`status`),
- KEY `idx_branch_id` (`branch_id`),
- KEY `idx_xid` (`xid`)
-) ENGINE = InnoDB
- DEFAULT CHARSET = utf8mb4;
-
-DROP TABLE IF EXISTS `distributed_lock`;
-CREATE TABLE IF NOT EXISTS `distributed_lock`
-(
- `lock_key` CHAR(20) NOT NULL,
- `lock_value` VARCHAR(20) NOT NULL,
- `expire` BIGINT,
- primary key (`lock_key`)
-) ENGINE = InnoDB
- DEFAULT CHARSET = utf8mb4;
-
-INSERT INTO `distributed_lock` (lock_key, lock_value, expire) VALUES ('AsyncCommitting', ' ', 0);
-INSERT INTO `distributed_lock` (lock_key, lock_value, expire) VALUES ('RetryCommitting', ' ', 0);
-INSERT INTO `distributed_lock` (lock_key, lock_value, expire) VALUES ('RetryRollbacking', ' ', 0);
-INSERT INTO `distributed_lock` (lock_key, lock_value, expire) VALUES ('TxTimeoutCheck', ' ', 0);
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-account/pom.xml b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-account/pom.xml
deleted file mode 100644
index 984d9e597..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-account/pom.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
- jeecg-cloud-test-seata
- org.jeecgframework.boot3
- 3.9.0
-
- 4.0.0
- 分布式事务测试模块
- jeecg-cloud-test-seata-account
-
-
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-account/src/main/java/org/jeecg/SeataAccountApplication.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-account/src/main/java/org/jeecg/SeataAccountApplication.java
deleted file mode 100644
index 2e944e634..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-account/src/main/java/org/jeecg/SeataAccountApplication.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package org.jeecg;
-
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-
-/**
- * 分布式事务-账户服务
- * @author zyf
- */
-@SpringBootApplication
-public class SeataAccountApplication {
-
- public static void main(String[] args) {
- SpringApplication.run(SeataAccountApplication.class, args);
- }
-
-}
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-account/src/main/java/org/jeecg/modules/test/seata/account/controller/SeataAccountController.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-account/src/main/java/org/jeecg/modules/test/seata/account/controller/SeataAccountController.java
deleted file mode 100644
index 2653a0897..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-account/src/main/java/org/jeecg/modules/test/seata/account/controller/SeataAccountController.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package org.jeecg.modules.test.seata.account.controller;
-
-import lombok.extern.slf4j.Slf4j;
-import org.jeecg.modules.test.seata.account.service.SeataAccountService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import java.math.BigDecimal;
-
-/**
- * @author zyf
- */
-@RestController
-@RequestMapping("/test/seata/account")
-public class SeataAccountController {
-
- @Autowired
- private SeataAccountService accountService;
-
- @PostMapping("/reduceBalance")
- public void reduceBalance(Long userId, BigDecimal amount) {
- accountService.reduceBalance(userId, amount);
- }
-}
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-account/src/main/java/org/jeecg/modules/test/seata/account/entity/SeataAccount.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-account/src/main/java/org/jeecg/modules/test/seata/account/entity/SeataAccount.java
deleted file mode 100644
index 52f8525ac..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-account/src/main/java/org/jeecg/modules/test/seata/account/entity/SeataAccount.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package org.jeecg.modules.test.seata.account.entity;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import lombok.Builder;
-import lombok.Data;
-
-import java.math.BigDecimal;
-import java.util.Date;
-
-/**
- * @Description: 账户
- * @author: zyf
- * @date: 2022/01/24
- * @version: V1.0
- */
-@Data
-@Builder
-@TableName("account")
-public class SeataAccount {
- @TableId(type = IdType.AUTO)
- private Long id;
-
- /**
- * 余额
- */
- private BigDecimal balance;
-
- private Date lastUpdateTime;
-}
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-account/src/main/java/org/jeecg/modules/test/seata/account/mapper/SeataAccountMapper.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-account/src/main/java/org/jeecg/modules/test/seata/account/mapper/SeataAccountMapper.java
deleted file mode 100644
index 1da0e165f..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-account/src/main/java/org/jeecg/modules/test/seata/account/mapper/SeataAccountMapper.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package org.jeecg.modules.test.seata.account.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import org.apache.ibatis.annotations.Mapper;
-import org.jeecg.modules.test.seata.account.entity.SeataAccount;
-
-
-/**
- * @Description: TODO
- * @author: zyf
- * @date: 2022/01/24
- * @version: V1.0
- */
-@Mapper
-public interface SeataAccountMapper extends BaseMapper {
-
-}
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-account/src/main/java/org/jeecg/modules/test/seata/account/service/SeataAccountService.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-account/src/main/java/org/jeecg/modules/test/seata/account/service/SeataAccountService.java
deleted file mode 100644
index 008b0b6c5..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-account/src/main/java/org/jeecg/modules/test/seata/account/service/SeataAccountService.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package org.jeecg.modules.test.seata.account.service;
-
-import java.math.BigDecimal;
-
-/**
- * @Description: 账户接口
- * @author: zyf
- * @date: 2022/01/24
- * @version: V1.0
- */
-public interface SeataAccountService {
- /**
- * 扣减金额
- * @param userId 用户 ID
- * @param amount 扣减金额
- */
- void reduceBalance(Long userId, BigDecimal amount);
-}
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-account/src/main/java/org/jeecg/modules/test/seata/account/service/impl/SeataAccountServiceImpl.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-account/src/main/java/org/jeecg/modules/test/seata/account/service/impl/SeataAccountServiceImpl.java
deleted file mode 100644
index fd5c2f14a..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-account/src/main/java/org/jeecg/modules/test/seata/account/service/impl/SeataAccountServiceImpl.java
+++ /dev/null
@@ -1,56 +0,0 @@
-package org.jeecg.modules.test.seata.account.service.impl;
-
-
-import com.baomidou.dynamic.datasource.annotation.DS;
-import io.seata.core.context.RootContext;
-import lombok.extern.slf4j.Slf4j;
-
-import org.jeecg.modules.test.seata.account.entity.SeataAccount;
-import org.jeecg.modules.test.seata.account.mapper.SeataAccountMapper;
-import org.jeecg.modules.test.seata.account.service.SeataAccountService;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Propagation;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.util.Assert;
-
-import jakarta.annotation.Resource;
-import java.math.BigDecimal;
-
-/**
- * @Description: TODO
- * @author: zyf
- * @date: 2022/01/24
- * @version: V1.0
- */
-@Slf4j
-@Service
-public class SeataAccountServiceImpl implements SeataAccountService {
- @Resource
- private SeataAccountMapper accountMapper;
-
- /**
- * 事务传播特性设置为 REQUIRES_NEW 开启新的事务
- */
- @DS("account")
- @Override
- @Transactional(propagation = Propagation.REQUIRES_NEW,rollbackFor = Exception.class)
- public void reduceBalance(Long userId, BigDecimal amount) {
- log.info("xid:"+ RootContext.getXID());
- log.info("=============ACCOUNT START=================");
- SeataAccount account = accountMapper.selectById(userId);
- Assert.notNull(account, "用户不存在");
- BigDecimal balance = account.getBalance();
- log.info("下单用户{}余额为 {},商品总价为{}", userId, balance, amount);
-
- if (balance.compareTo(amount)==-1) {
- log.warn("用户 {} 余额不足,当前余额:{}", userId, balance);
- throw new RuntimeException("余额不足");
- }
- log.info("开始扣减用户 {} 余额", userId);
- BigDecimal currentBalance = account.getBalance().subtract(amount);
- account.setBalance(currentBalance);
- accountMapper.updateById(account);
- log.info("扣减用户 {} 余额成功,扣减后用户账户余额为{}", userId, currentBalance);
- log.info("=============ACCOUNT END=================");
- }
-}
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-account/src/main/resources/application.yml b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-account/src/main/resources/application.yml
deleted file mode 100644
index e494597ce..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-account/src/main/resources/application.yml
+++ /dev/null
@@ -1,44 +0,0 @@
-server:
- port: 5002
-spring:
- data:
- redis:
- ##redis 单机环境配置
- host: localhost
- port: 6379
- database: 0
- password:
- ssl:
- enabled: false
- application:
- name: seata-account
- cloud:
- nacos:
- config:
- import-check:
- enabled: false
- main:
- allow-bean-definition-overriding: true
- autoconfigure:
- exclude: com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration
- datasource:
- url: jdbc:mysql://127.0.0.1:3306/jeecg_account?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&rewriteBatchedStatements=true
- username: root
- password: root
- driver-class-name: com.mysql.cj.jdbc.Driver
- sql:
- init:
- schema-locations: classpath:sql/schema-account.sql
-seata:
- enable-auto-data-source-proxy: false
- service:
- grouplist:
- default: 127.0.0.1:8091
- vgroup-mapping:
- springboot-seata-group: default
- # seata 事务组编号 用于TC集群名
- tx-service-group: springboot-seata-group
-
-# 无用配置,为了避免扫码全代码导致启动慢
-minidao:
- base-package: org.jeecg.modules.jmreport.*
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-account/src/main/resources/sql/schema-account.sql b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-account/src/main/resources/sql/schema-account.sql
deleted file mode 100644
index 152963a88..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-account/src/main/resources/sql/schema-account.sql
+++ /dev/null
@@ -1,37 +0,0 @@
-SET NAMES utf8mb4;
-SET FOREIGN_KEY_CHECKS = 0;
-
--- ----------------------------
--- Table structure for account
--- ----------------------------
-DROP TABLE IF EXISTS `account`;
-CREATE TABLE `account` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
- `balance` decimal(10, 2) NULL DEFAULT NULL,
- `last_update_time` timestamp NULL DEFAULT current_timestamp() ON UPDATE CURRENT_TIMESTAMP,
- PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-
--- ----------------------------
--- Records of account
--- ----------------------------
-INSERT INTO `account` VALUES (1, 50.00, '2022-03-16 17:02:53');
-
--- ----------------------------
--- Table structure for undo_log
--- ----------------------------
-DROP TABLE IF EXISTS `undo_log`;
-CREATE TABLE `undo_log` (
- `id` bigint(20) NOT NULL AUTO_INCREMENT,
- `branch_id` bigint(20) NOT NULL,
- `xid` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
- `context` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
- `rollback_info` longblob NOT NULL,
- `log_status` int(11) NOT NULL,
- `log_created` datetime(0) NOT NULL,
- `log_modified` datetime(0) NOT NULL,
- PRIMARY KEY (`id`) USING BTREE,
- UNIQUE INDEX `ux_undo_log`(`xid`, `branch_id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-
-SET FOREIGN_KEY_CHECKS = 1;
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-order/pom.xml b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-order/pom.xml
deleted file mode 100644
index e9c4df7e5..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-order/pom.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
- jeecg-cloud-test-seata
- org.jeecgframework.boot3
- 3.9.0
-
- 4.0.0
- 分布式事务测试模块
- jeecg-cloud-test-seata-order
-
-
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-order/src/main/java/org/jeecg/SeataOrderApplication.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-order/src/main/java/org/jeecg/SeataOrderApplication.java
deleted file mode 100644
index a01c9b4e3..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-order/src/main/java/org/jeecg/SeataOrderApplication.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package org.jeecg;
-
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.cloud.openfeign.EnableFeignClients;
-
-/**
- * @author zyf
- */
-@SpringBootApplication
-@EnableFeignClients
-public class SeataOrderApplication {
-
- public static void main(String[] args) {
- SpringApplication.run(SeataOrderApplication.class, args);
- }
-
-}
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-order/src/main/java/org/jeecg/modules/test/seata/order/controller/SeataOrderController.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-order/src/main/java/org/jeecg/modules/test/seata/order/controller/SeataOrderController.java
deleted file mode 100644
index 922c8ff4c..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-order/src/main/java/org/jeecg/modules/test/seata/order/controller/SeataOrderController.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package org.jeecg.modules.test.seata.order.controller;
-
-/**
- * @Description: TODO
- * @author: zyf
- * @date: 2022/01/24
- * @version: V1.0
- */
-import io.swagger.v3.oas.annotations.tags.Tag;
-import io.swagger.v3.oas.annotations.Operation;
-
-import org.jeecg.modules.test.seata.order.dto.PlaceOrderRequest;
-import org.jeecg.modules.test.seata.order.service.SeataOrderService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-@RestController
-@RequestMapping("/test/seata/order")
-@Tag(name = "seata测试")
-public class SeataOrderController {
-
- @Autowired
- private SeataOrderService orderService;
-
- /**
- * 自由下单
- */
- @PostMapping("/placeOrder")
- @Operation(summary = "自由下单")
- public String placeOrder(@Validated @RequestBody PlaceOrderRequest request) {
- orderService.placeOrder(request);
- return "下单成功";
- }
-
- /**
- * 测试商品库存不足-异常回滚
- */
- @PostMapping("/test1")
- @Operation(summary = "测试商品库存不足")
- public String test1() {
- //商品单价10元,库存20个,用户余额50元,模拟一次性购买22个。 期望异常回滚
- orderService.placeOrder(new PlaceOrderRequest(1L, 1L, 22));
- return "下单成功";
- }
-
- /**
- * 测试用户账户余额不足-异常回滚
- */
- @PostMapping("/test2")
- @Operation(summary = "测试用户账户余额不足")
- public String test2() {
- //商品单价10元,库存20个,用户余额50元,模拟一次性购买6个。 期望异常回滚
- orderService.placeOrder(new PlaceOrderRequest(1L, 1L, 6));
- return "下单成功";
- }
-}
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-order/src/main/java/org/jeecg/modules/test/seata/order/dto/PlaceOrderRequest.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-order/src/main/java/org/jeecg/modules/test/seata/order/dto/PlaceOrderRequest.java
deleted file mode 100644
index 359b8c853..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-order/src/main/java/org/jeecg/modules/test/seata/order/dto/PlaceOrderRequest.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package org.jeecg.modules.test.seata.order.dto;
-import lombok.AllArgsConstructor;
-import lombok.Builder;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-
-import jakarta.validation.constraints.NotNull;
-/**
- * @Description: 订单请求对象
- * @author: zyf
- * @date: 2022/01/24
- * @version: V1.0
- */
-@Data
-@Builder
-@AllArgsConstructor
-@NoArgsConstructor
-public class PlaceOrderRequest {
-
- @NotNull
- private Long userId;
-
- @NotNull
- private Long productId;
-
- @NotNull
- private Integer count;
-}
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-order/src/main/java/org/jeecg/modules/test/seata/order/dto/ReduceBalanceRequest.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-order/src/main/java/org/jeecg/modules/test/seata/order/dto/ReduceBalanceRequest.java
deleted file mode 100644
index 3041f189d..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-order/src/main/java/org/jeecg/modules/test/seata/order/dto/ReduceBalanceRequest.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package org.jeecg.modules.test.seata.order.dto;
-import lombok.AllArgsConstructor;
-import lombok.Builder;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-
-/**
- * @Description: 余额请求对象
- * @author: zyf
- * @date: 2022/01/24
- * @version: V1.0
- */
-@Data
-@Builder
-@AllArgsConstructor
-@NoArgsConstructor
-public class ReduceBalanceRequest {
-
- private Long userId;
- private Integer price;
-}
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-order/src/main/java/org/jeecg/modules/test/seata/order/dto/ReduceStockRequest.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-order/src/main/java/org/jeecg/modules/test/seata/order/dto/ReduceStockRequest.java
deleted file mode 100644
index 46f2419eb..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-order/src/main/java/org/jeecg/modules/test/seata/order/dto/ReduceStockRequest.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package org.jeecg.modules.test.seata.order.dto;
-
-import lombok.AllArgsConstructor;
-import lombok.Builder;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-/**
- * @Description: 库存请求对象
- * @author: zyf
- * @date: 2022/01/24
- * @version: V1.0
- */
-@Data
-@Builder
-@AllArgsConstructor
-@NoArgsConstructor
-public class ReduceStockRequest {
-
- private Long productId;
- private Integer amount;
-}
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-order/src/main/java/org/jeecg/modules/test/seata/order/entity/SeataOrder.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-order/src/main/java/org/jeecg/modules/test/seata/order/entity/SeataOrder.java
deleted file mode 100644
index 1193435b1..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-order/src/main/java/org/jeecg/modules/test/seata/order/entity/SeataOrder.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package org.jeecg.modules.test.seata.order.entity;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import lombok.Builder;
-import lombok.Data;
-import org.jeecg.modules.test.seata.order.enums.OrderStatus;
-
-import java.math.BigDecimal;
-
-/**
- * @Description: 订单
- * @author: zyf
- * @date: 2022/01/24
- * @version: V1.0
- */
-@Builder
-@Data
-@TableName("p_order")
-public class SeataOrder {
-
- @TableId(type = IdType.AUTO)
- private Integer id;
-
- /**
- * 用户ID
- */
- private Long userId;
- /**
- * 商品ID
- */
- private Long productId;
- /**
- * 订单状态
- */
- private OrderStatus status;
- /**
- * 数量
- */
- private Integer count;
- /**
- * 总金额
- */
- private BigDecimal totalPrice;
-}
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-order/src/main/java/org/jeecg/modules/test/seata/order/enums/OrderStatus.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-order/src/main/java/org/jeecg/modules/test/seata/order/enums/OrderStatus.java
deleted file mode 100644
index a2431b1ec..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-order/src/main/java/org/jeecg/modules/test/seata/order/enums/OrderStatus.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package org.jeecg.modules.test.seata.order.enums;
-
-/**
- * @Description: 订单状态
- * @author: zyf
- * @date: 2022/01/24
- * @version: V1.0
- */
-public enum OrderStatus {
- /**
- * INIT
- */
- INIT,
- /**
- * SUCCESS
- */
- SUCCESS,
- /**
- * FAIL
- */
- FAIL
-}
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-order/src/main/java/org/jeecg/modules/test/seata/order/feign/AccountClient.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-order/src/main/java/org/jeecg/modules/test/seata/order/feign/AccountClient.java
deleted file mode 100644
index bff3d030a..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-order/src/main/java/org/jeecg/modules/test/seata/order/feign/AccountClient.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package org.jeecg.modules.test.seata.order.feign;
-
-import org.springframework.cloud.openfeign.FeignClient;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-
-import java.math.BigDecimal;
-
-/**
- * @author zyf
- */
-@FeignClient(value ="seata-account")
-public interface AccountClient {
-
- /**
- * 扣减余额
- * @param userId
- * @param amount
- * @return
- */
- @PostMapping("/test/seata/account/reduceBalance")
- String reduceBalance(@RequestParam("userId") Long userId, @RequestParam("amount") BigDecimal amount);
-}
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-order/src/main/java/org/jeecg/modules/test/seata/order/feign/ProductClient.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-order/src/main/java/org/jeecg/modules/test/seata/order/feign/ProductClient.java
deleted file mode 100644
index ffc8d7ef8..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-order/src/main/java/org/jeecg/modules/test/seata/order/feign/ProductClient.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package org.jeecg.modules.test.seata.order.feign;
-
-import org.springframework.cloud.openfeign.FeignClient;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-
-import java.math.BigDecimal;
-
-/**
- * 分布式事务产品feign客户端
- * @author: zyf
- * @date: 2022/04/21
- */
-@FeignClient(value ="seata-product")
-public interface ProductClient {
- /**
- * 扣减库存
- *
- * @param productId
- * @param count
- * @return
- */
- @PostMapping("/test/seata/product/reduceStock")
- BigDecimal reduceStock(@RequestParam("productId") Long productId, @RequestParam("count") Integer count);
-}
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-order/src/main/java/org/jeecg/modules/test/seata/order/mapper/SeataOrderMapper.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-order/src/main/java/org/jeecg/modules/test/seata/order/mapper/SeataOrderMapper.java
deleted file mode 100644
index b595f473a..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-order/src/main/java/org/jeecg/modules/test/seata/order/mapper/SeataOrderMapper.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package org.jeecg.modules.test.seata.order.mapper;
-
-/**
- * @Description: TODO
- * @author: zyf
- * @date: 2022/01/24
- * @version: V1.0
- */
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import org.apache.ibatis.annotations.Mapper;
-import org.jeecg.modules.test.seata.order.entity.SeataOrder;
-
-@Mapper
-public interface SeataOrderMapper extends BaseMapper {
-
-}
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-order/src/main/java/org/jeecg/modules/test/seata/order/service/SeataOrderService.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-order/src/main/java/org/jeecg/modules/test/seata/order/service/SeataOrderService.java
deleted file mode 100644
index bbbc803fa..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-order/src/main/java/org/jeecg/modules/test/seata/order/service/SeataOrderService.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package org.jeecg.modules.test.seata.order.service;
-
-
-import org.jeecg.modules.test.seata.order.dto.PlaceOrderRequest;
-
-/**
- * @Description: 订单接口
- * @author: zyf
- * @date: 2022/01/24
- * @version: V1.0
- */
-public interface SeataOrderService {
- /**
- * 下单
- *
- * @param placeOrderRequest 订单请求参数
- */
- void placeOrder(PlaceOrderRequest placeOrderRequest);
-}
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-order/src/main/java/org/jeecg/modules/test/seata/order/service/impl/SeataOrderServiceImpl.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-order/src/main/java/org/jeecg/modules/test/seata/order/service/impl/SeataOrderServiceImpl.java
deleted file mode 100644
index 8c68dedc9..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-order/src/main/java/org/jeecg/modules/test/seata/order/service/impl/SeataOrderServiceImpl.java
+++ /dev/null
@@ -1,77 +0,0 @@
-package org.jeecg.modules.test.seata.order.service.impl;
-import com.alibaba.fastjson.JSONObject;
-import com.baomidou.dynamic.datasource.annotation.DS;
-
-import io.seata.core.context.RootContext;
-import io.seata.spring.annotation.GlobalTransactional;
-import lombok.extern.slf4j.Slf4j;
-import org.jeecg.modules.test.seata.order.dto.PlaceOrderRequest;
-import org.jeecg.modules.test.seata.order.entity.SeataOrder;
-import org.jeecg.modules.test.seata.order.enums.OrderStatus;
-import org.jeecg.modules.test.seata.order.feign.AccountClient;
-import org.jeecg.modules.test.seata.order.feign.ProductClient;
-import org.jeecg.modules.test.seata.order.mapper.SeataOrderMapper;
-import org.jeecg.modules.test.seata.order.service.SeataOrderService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import jakarta.annotation.Resource;
-import java.math.BigDecimal;
-
-/**
- * @Description: 订单服务类
- * @author: zyf
- * @date: 2022/01/24
- * @version: V1.0
- */
-@Slf4j
-@Service
-public class SeataOrderServiceImpl implements SeataOrderService {
-
- @Resource
- private SeataOrderMapper orderMapper;
- @Resource
- private AccountClient accountClient;
- @Resource
- private ProductClient productClient;
-
- @DS("order")
- @Override
- @Transactional(rollbackFor = Exception.class)
- @GlobalTransactional
- public void placeOrder(PlaceOrderRequest request) {
- log.info("xid:"+RootContext.getXID());
- log.info("=============ORDER START=================");
- Long userId = request.getUserId();
- Long productId = request.getProductId();
- Integer count = request.getCount();
- log.info("收到下单请求,用户:{}, 商品:{},数量:{}", userId, productId, count);
-
-
- SeataOrder order = SeataOrder.builder()
- .userId(userId)
- .productId(productId)
- .status(OrderStatus.INIT)
- .count(count)
- .build();
-
- orderMapper.insert(order);
- log.info("订单一阶段生成,等待扣库存付款中");
- // 扣减库存并计算总价
- BigDecimal amount = productClient.reduceStock(productId, count);
- // 扣减余额
- String str = accountClient.reduceBalance(userId, amount);
- // feign响应被二次封装,判断使主事务回滚
- JSONObject jsonObject = JSONObject.parseObject(str);
- if (jsonObject.getInteger("code") != 200) {
- throw new RuntimeException();
- }
-
- order.setStatus(OrderStatus.SUCCESS);
- order.setTotalPrice(amount);
- orderMapper.updateById(order);
- log.info("订单已成功下单");
- log.info("=============ORDER END=================");
- }
-}
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-order/src/main/resources/application.yml b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-order/src/main/resources/application.yml
deleted file mode 100644
index 0443d879b..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-order/src/main/resources/application.yml
+++ /dev/null
@@ -1,44 +0,0 @@
-server:
- port: 5001
-spring:
- data:
- redis:
- ##redis 单机环境配置
- host: localhost
- port: 6379
- database: 0
- password:
- ssl:
- enabled: false
- application:
- name: seata-order
- cloud:
- nacos:
- config:
- import-check:
- enabled: false
- main:
- allow-bean-definition-overriding: true
- autoconfigure:
- exclude: com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration
- datasource:
- driver-class-name: com.mysql.cj.jdbc.Driver
- url: jdbc:mysql://127.0.0.1:3306/jeecg_order?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useSSL=false
- username: root
- password: root
- sql:
- init:
- schema-locations: classpath:sql/schema-order.sql
-seata:
- enable-auto-data-source-proxy: false
- service:
- grouplist:
- default: 127.0.0.1:8091
- vgroup-mapping:
- springboot-seata-group: default
- # seata 事务组编号 用于TC集群名
- tx-service-group: springboot-seata-group
-
-# 无用配置,为了避免扫码全代码导致启动慢
-minidao:
- base-package: org.jeecg.modules.jmreport.*
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-order/src/main/resources/sql/schema-order.sql b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-order/src/main/resources/sql/schema-order.sql
deleted file mode 100644
index 4f16e3c9f..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-order/src/main/resources/sql/schema-order.sql
+++ /dev/null
@@ -1,37 +0,0 @@
-SET NAMES utf8mb4;
-SET FOREIGN_KEY_CHECKS = 0;
-
--- ----------------------------
--- Table structure for p_order
--- ----------------------------
-DROP TABLE IF EXISTS `p_order`;
-CREATE TABLE `p_order` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
- `user_id` int(11) NULL DEFAULT NULL,
- `product_id` int(11) NULL DEFAULT NULL,
- `count` int(11) NULL DEFAULT NULL,
- `total_price` decimal(10, 2) NULL DEFAULT NULL,
- `status` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
- `add_time` timestamp NULL DEFAULT current_timestamp(),
- `last_update_time` timestamp NULL DEFAULT current_timestamp() ON UPDATE CURRENT_TIMESTAMP,
- PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-
--- ----------------------------
--- Table structure for undo_log
--- ----------------------------
-DROP TABLE IF EXISTS `undo_log`;
-CREATE TABLE `undo_log` (
- `id` bigint(20) NOT NULL AUTO_INCREMENT,
- `branch_id` bigint(20) NOT NULL,
- `xid` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
- `context` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
- `rollback_info` longblob NOT NULL,
- `log_status` int(11) NOT NULL,
- `log_created` datetime(0) NOT NULL,
- `log_modified` datetime(0) NOT NULL,
- PRIMARY KEY (`id`) USING BTREE,
- UNIQUE INDEX `ux_undo_log`(`xid`, `branch_id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-
-SET FOREIGN_KEY_CHECKS = 1;
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-product/pom.xml b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-product/pom.xml
deleted file mode 100644
index 0acb87578..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-product/pom.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
- jeecg-cloud-test-seata
- org.jeecgframework.boot3
- 3.9.0
-
- 4.0.0
- 分布式事务测试模块
- jeecg-cloud-test-seata-product
-
-
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-product/src/main/java/org/jeecg/SeataProductApplication.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-product/src/main/java/org/jeecg/SeataProductApplication.java
deleted file mode 100644
index 60bfbb8db..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-product/src/main/java/org/jeecg/SeataProductApplication.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package org.jeecg;
-
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-
-/**
- * @author zyf
- */
-@SpringBootApplication
-public class SeataProductApplication {
-
- public static void main(String[] args) {
- SpringApplication.run(SeataProductApplication.class, args);
- }
-
-}
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-product/src/main/java/org/jeecg/modules/test/seata/product/controller/SeataProductController.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-product/src/main/java/org/jeecg/modules/test/seata/product/controller/SeataProductController.java
deleted file mode 100644
index c858a207e..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-product/src/main/java/org/jeecg/modules/test/seata/product/controller/SeataProductController.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package org.jeecg.modules.test.seata.product.controller;
-
-import org.jeecg.modules.test.seata.product.service.SeataProductService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import jakarta.servlet.http.HttpServletRequest;
-import java.math.BigDecimal;
-
-/**
- * @author zyf
- */
-@RestController
-@RequestMapping("/test/seata/product")
-public class SeataProductController {
-
- @Autowired
- private SeataProductService seataProductService;
-
- @PostMapping("/reduceStock")
- public BigDecimal reduceStock(Long productId, Integer count, HttpServletRequest request) {
- return seataProductService.reduceStock(productId, count);
- }
-}
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-product/src/main/java/org/jeecg/modules/test/seata/product/entity/SeataProduct.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-product/src/main/java/org/jeecg/modules/test/seata/product/entity/SeataProduct.java
deleted file mode 100644
index 9fdfefad1..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-product/src/main/java/org/jeecg/modules/test/seata/product/entity/SeataProduct.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package org.jeecg.modules.test.seata.product.entity;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import lombok.Builder;
-import lombok.Data;
-
-import java.math.BigDecimal;
-import java.util.Date;
-/**
- * @Description: 产品
- * @author: zyf
- * @date: 2022/01/24
- * @version: V1.0
- */
-@Data
-@Builder
-@TableName("product")
-public class SeataProduct {
-
- @TableId(type = IdType.AUTO)
- private Integer id;
- /**
- * 价格
- */
- private BigDecimal price;
- /**
- * 库存
- */
- private Integer stock;
-
- private Date lastUpdateTime;
-}
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-product/src/main/java/org/jeecg/modules/test/seata/product/mapper/SeataProductMapper.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-product/src/main/java/org/jeecg/modules/test/seata/product/mapper/SeataProductMapper.java
deleted file mode 100644
index 03b4e11d5..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-product/src/main/java/org/jeecg/modules/test/seata/product/mapper/SeataProductMapper.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package org.jeecg.modules.test.seata.product.mapper;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import org.apache.ibatis.annotations.Mapper;
-import org.jeecg.modules.test.seata.product.entity.SeataProduct;
-
-
-/**
- * @Description: TODO
- * @author: zyf
- * @date: 2022/01/24
- * @version: V1.0
- */
-@Mapper
-public interface SeataProductMapper extends BaseMapper {
-
-}
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-product/src/main/java/org/jeecg/modules/test/seata/product/service/SeataProductService.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-product/src/main/java/org/jeecg/modules/test/seata/product/service/SeataProductService.java
deleted file mode 100644
index a2cba391d..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-product/src/main/java/org/jeecg/modules/test/seata/product/service/SeataProductService.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package org.jeecg.modules.test.seata.product.service;
-
-import java.math.BigDecimal;
-
-/**
- * @Description: 产品接口
- * @author: zyf
- * @date: 2022/01/24
- * @version: V1.0
- */
-public interface SeataProductService {
- /**
- * 扣减库存
- *
- * @param productId 商品 ID
- * @param count 扣减数量
- * @return 商品总价
- */
- BigDecimal reduceStock(Long productId, Integer count);
-}
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-product/src/main/java/org/jeecg/modules/test/seata/product/service/impl/SeataProductServiceImpl.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-product/src/main/java/org/jeecg/modules/test/seata/product/service/impl/SeataProductServiceImpl.java
deleted file mode 100644
index 3c50042df..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-product/src/main/java/org/jeecg/modules/test/seata/product/service/impl/SeataProductServiceImpl.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package org.jeecg.modules.test.seata.product.service.impl;
-
-import com.baomidou.dynamic.datasource.annotation.DS;
-import io.seata.core.context.RootContext;
-import lombok.extern.slf4j.Slf4j;
-
-
-import org.jeecg.modules.test.seata.product.entity.SeataProduct;
-import org.jeecg.modules.test.seata.product.mapper.SeataProductMapper;
-import org.jeecg.modules.test.seata.product.service.SeataProductService;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Propagation;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.util.Assert;
-
-import jakarta.annotation.Resource;
-import java.math.BigDecimal;
-
-/**
- * @Description: 产品服务类
- * @author: zyf
- * @date: 2022/01/24
- * @version: V1.0
- */
-@Slf4j
-@Service
-public class SeataProductServiceImpl implements SeataProductService {
-
- @Resource
- private SeataProductMapper productMapper;
-
- /**
- * 事务传播特性设置为 REQUIRES_NEW 开启新的事务
- */
- @DS("product")
- @Transactional(propagation = Propagation.REQUIRES_NEW,rollbackFor = Exception.class)
- @Override
- public BigDecimal reduceStock(Long productId, Integer count) {
- log.info("xid:"+ RootContext.getXID());
- log.info("=============PRODUCT START=================");
- // 检查库存
- SeataProduct product = productMapper.selectById(productId);
- Assert.notNull(product, "商品不存在");
- Integer stock = product.getStock();
- log.info("商品编号为 {} 的库存为{},订单商品数量为{}", productId, stock, count);
-
- if (stock < count) {
- log.warn("商品编号为{} 库存不足,当前库存:{}", productId, stock);
- throw new RuntimeException("库存不足");
- }
- log.info("开始扣减商品编号为 {} 库存,单价商品价格为{}", productId, product.getPrice());
- // 扣减库存
- int currentStock = stock - count;
- product.setStock(currentStock);
- productMapper.updateById(product);
- BigDecimal totalPrice = product.getPrice().multiply(new BigDecimal(count));
- log.info("扣减商品编号为 {} 库存成功,扣减后库存为{}, {} 件商品总价为 {} ", productId, currentStock, count, totalPrice);
- log.info("=============PRODUCT END=================");
- return totalPrice;
- }
-}
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-product/src/main/resources/application.yml b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-product/src/main/resources/application.yml
deleted file mode 100644
index 15b765e95..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-product/src/main/resources/application.yml
+++ /dev/null
@@ -1,35 +0,0 @@
-server:
- port: 5003
-spring:
- application:
- name: seata-product
- cloud:
- nacos:
- config:
- import-check:
- enabled: false
- main:
- allow-bean-definition-overriding: true
- autoconfigure:
- exclude: com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration
- datasource:
- driver-class-name: com.mysql.cj.jdbc.Driver
- url: jdbc:mysql://127.0.0.1:3306/jeecg_product?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useSSL=false
- username: root
- password: root
- sql:
- init:
- schema-locations: classpath:sql/schema-product.sql
-seata:
- enable-auto-data-source-proxy: false
- service:
- grouplist:
- default: 127.0.0.1:8091
- vgroup-mapping:
- springboot-seata-group: default
- # seata 事务组编号 用于TC集群名
- tx-service-group: springboot-seata-group
-
-# 无用配置,为了避免扫码全代码导致启动慢
-minidao:
- base-package: org.jeecg.modules.jmreport.*
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-product/src/main/resources/sql/schema-product.sql b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-product/src/main/resources/sql/schema-product.sql
deleted file mode 100644
index 9ef8f5b12..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/jeecg-cloud-test-seata-product/src/main/resources/sql/schema-product.sql
+++ /dev/null
@@ -1,38 +0,0 @@
-SET NAMES utf8mb4;
-SET FOREIGN_KEY_CHECKS = 0;
-
--- ----------------------------
--- Table structure for product
--- ----------------------------
-DROP TABLE IF EXISTS `product`;
-CREATE TABLE `product` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
- `price` decimal(10, 2) NULL DEFAULT NULL,
- `stock` int(11) NULL DEFAULT NULL,
- `last_update_time` timestamp NULL DEFAULT current_timestamp() ON UPDATE CURRENT_TIMESTAMP,
- PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-
--- ----------------------------
--- Records of product
--- ----------------------------
-INSERT INTO `product` VALUES (1, 10.00, 20, '2022-01-13 09:52:50');
-
--- ----------------------------
--- Table structure for undo_log
--- ----------------------------
-DROP TABLE IF EXISTS `undo_log`;
-CREATE TABLE `undo_log` (
- `id` bigint(20) NOT NULL AUTO_INCREMENT,
- `branch_id` bigint(20) NOT NULL,
- `xid` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
- `context` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
- `rollback_info` longblob NOT NULL,
- `log_status` int(11) NOT NULL,
- `log_created` datetime(0) NOT NULL,
- `log_modified` datetime(0) NOT NULL,
- PRIMARY KEY (`id`) USING BTREE,
- UNIQUE INDEX `ux_undo_log`(`xid`, `branch_id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-
-SET FOREIGN_KEY_CHECKS = 1;
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/pom.xml b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/pom.xml
deleted file mode 100644
index dcc9cbd73..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-seata/pom.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
- jeecg-cloud-test
- org.jeecgframework.boot3
- 3.9.0
-
- 4.0.0
- jeecg-cloud-test-seata
- pom
-
- jeecg-cloud-test-seata-account
- jeecg-cloud-test-seata-product
- jeecg-cloud-test-seata-order
-
-
-
- org.jeecgframework.boot3
- jeecg-boot-starter-cloud
- ${jeecgboot.version}
-
-
- org.jeecgframework.boot3
- jeecg-boot-starter-seata
- ${jeecgboot.version}
-
-
-
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-shardingsphere/README-ShardingSphere配置说明.md b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-shardingsphere/README-ShardingSphere配置说明.md
deleted file mode 100644
index e5f3d150c..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-shardingsphere/README-ShardingSphere配置说明.md
+++ /dev/null
@@ -1,176 +0,0 @@
-# JeecgBoot ShardingSphere配置使用说明
-
-## 项目中的ShardingSphere配置
-
-本项目使用ShardingSphere实现分库分表功能,主要涉及以下配置文件和组件:
-
-## 1. 配置文件说明
-
-### sharding.yaml - 基础分表配置
-```yaml
-databaseName: sharding-db # 重要:必须与@DS注解中的名称一致
-
-dataSources:
- ds0:
- dataSourceClassName: com.zaxxer.hikari.HikariDataSource
- driverClassName: com.mysql.cj.jdbc.Driver
- jdbcUrl: jdbc:mysql://localhost:3306/jeecg-boot?useSSL=false&useUnicode=true&characterEncoding=utf-8
- username: root
- password: root
-
-rules:
- - !SHARDING
- tables:
- sys_log: # 分表的逻辑表名
- actualDataNodes: ds0.sys_log$->{0..1} # 实际表:sys_log0, sys_log1
- tableStrategy:
- standard:
- shardingColumn: log_type # 分片字段
- shardingAlgorithmName: table_inline
-
- shardingAlgorithms:
- table_inline:
- type: INLINE
- props:
- algorithm-expression: sys_log$->{log_type % 2} # 根据log_type取模分表
-```
-
-### sharding-multi.yaml - 分库分表+读写分离配置
-```yaml
-databaseName: sharding-db # 与@DS注解保持一致
-
-dataSources:
- ds0: # 主库
- jdbcUrl: jdbc:mysql://localhost:3306/jeecg-boot?...
- ds1: # 从库
- jdbcUrl: jdbc:mysql://localhost:3306/jeecg-boot2?...
-
-rules:
- - !SHARDING
- tables:
- sys_log:
- actualDataNodes: ds$->{0..1}.sys_log$->{0..1} # 2库2表
- databaseStrategy: # 分库策略
- standard:
- shardingColumn: operate_type
- shardingAlgorithmName: database-inline
- tableStrategy: # 分表策略
- standard:
- shardingColumn: log_type
- shardingAlgorithmName: table-classbased
-
- - !READWRITE_SPLITTING # 读写分离
- dataSources:
- prds:
- writeDataSourceName: ds0 # 写库
- readDataSourceNames: [ds1] # 读库
-```
-
-## 2. Spring Boot配置
-
-### application-dev.yml中的数据源配置
-
-```yaml
-spring:
- datasource:
- dynamic:
- datasource:
- # 普通数据源
- master:
- url: jdbc:mysql://localhost:3306/jeecg-boot
- username: root
- password: root
-
- # ShardingSphere分片数据源
- sharding-db: # 数据源名称,对应@DS("sharding-db")
- driver-class-name: org.apache.shardingsphere.driver.ShardingSphereDriver
- # 本地配置文件方式
- url: jdbc:shardingsphere:classpath:sharding.yaml
- # 或者Nacos配置方式
- url: jdbc:shardingsphere:nacos:sharding.yaml?serverAddr=${spring.cloud.nacos.config.server-addr}&namespace=${spring.cloud.nacos.config.namespace}&group=${spring.cloud.nacos.config.group}
-```
-
-**关键点:**
-- `sharding-db` 是数据源的名称标识
-- 这个名称必须与Service类上的`@DS("sharding-db")`注解保持一致
-
-## 3. Service层使用
-
-### ShardingSysLogServiceImpl类配置
-
-```java
-@Service
-@DS("sharding-db") // 指定使用sharding-db数据源
-public class ShardingSysLogServiceImpl extends ServiceImpl
- implements IShardingSysLogService {
-}
-```
-
-**配置关系说明:**
-1. `@DS("sharding-db")` 注解告诉MyBatis-Plus使用名为`sharding-db`的数据源
-2. `sharding-db`对应application-dev.yml中配置的数据源名称
-3. 该数据源使用ShardingSphere驱动,会根据sharding.yaml中的规则进行分片
-
-## 4. 使用步骤
-
-### 步骤1:准备数据库表
-```sql
--- 在jeecg-boot数据库中创建分表
-CREATE TABLE sys_log0 LIKE sys_log;
-CREATE TABLE sys_log1 LIKE sys_log;
-```
-
-### 步骤2:配置application-dev.yml
-```yaml
-spring:
- datasource:
- dynamic:
- datasource:
- sharding-db:
- driver-class-name: org.apache.shardingsphere.driver.ShardingSphereDriver
- url: jdbc:shardingsphere:classpath:sharding.yaml
-```
-
-### 步骤3:配置sharding.yaml
-- 将配置文件放在`src/main/resources/`目录下
-- 确保`databaseName: sharding-db`与数据源名称一致
-
-### 步骤4:在Service上添加注解
-```java
-@DS("sharding-db") // 使用分片数据源
-public class ShardingSysLogServiceImpl {
- // 业务代码
-}
-```
-
-### 步骤5:正常使用MyBatis-Plus
-```java
-// 插入数据时会自动根据log_type字段进行分表
-shardingSysLogService.save(sysLog);
-
-// 查询时也会根据分片规则路由到正确的表
-shardingSysLogService.list();
-```
-
-## 5. 配置验证
-
-启动项目后查看日志,如果看到类似输出说明配置成功:
-```
-Logic SQL: INSERT INTO sys_log (log_type, content) VALUES (?, ?)
-Actual SQL: ds0 ::: INSERT INTO sys_log0 (log_type, content) VALUES (?, ?)
-```
-
-## 6. 注意事项
-
-1. **名称一致性**:确保以下三处名称完全一致
- - application-dev.yml中的数据源名称:`sharding-db`
- - sharding.yaml中的databaseName:`sharding-db`
- - Service类注解:`@DS("sharding-db")`
-
-2. **表结构一致**:所有分片表的结构必须完全一致
-
-3. **分片键选择**:选择分布均匀的字段作为分片键,避免数据倾斜
-
-4. **事务支持**:单表事务正常,跨表事务需要注意
-
-这样配置后,通过ShardingSysLogServiceImpl操作的数据会自动根据分片规则分布到不同的表中。
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-shardingsphere/doc/db.sql b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-shardingsphere/doc/db.sql
deleted file mode 100644
index ea2b720b5..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-shardingsphere/doc/db.sql
+++ /dev/null
@@ -1,47 +0,0 @@
-CREATE TABLE `sys_log0` (
- `id` varchar(32) NOT NULL,
- `log_type` int(2) DEFAULT NULL COMMENT '日志类型(1登录日志,2操作日志)',
- `log_content` varchar(1000) DEFAULT NULL COMMENT '日志内容',
- `operate_type` int(2) DEFAULT NULL COMMENT '操作类型',
- `userid` varchar(32) DEFAULT NULL COMMENT '操作用户账号',
- `username` varchar(100) DEFAULT NULL COMMENT '操作用户名称',
- `ip` varchar(100) DEFAULT NULL COMMENT 'IP',
- `method` varchar(500) DEFAULT NULL COMMENT '请求java方法',
- `request_url` varchar(255) DEFAULT NULL COMMENT '请求路径',
- `request_param` longtext DEFAULT NULL COMMENT '请求参数',
- `request_type` varchar(10) DEFAULT NULL COMMENT '请求类型',
- `cost_time` bigint(20) DEFAULT NULL COMMENT '耗时',
- `create_by` varchar(32) DEFAULT NULL COMMENT '创建人',
- `create_time` datetime DEFAULT NULL COMMENT '创建时间',
- `update_by` varchar(32) DEFAULT NULL COMMENT '更新人',
- `update_time` datetime DEFAULT NULL COMMENT '更新时间',
- PRIMARY KEY (`id`) USING BTREE,
- KEY `index_table_userid` (`userid`) USING BTREE,
- KEY `index_logt_ype` (`log_type`) USING BTREE,
- KEY `index_operate_type` (`operate_type`) USING BTREE,
- KEY `index_createtime` (`create_time`) USING BTREE
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='系统日志表';
-
-CREATE TABLE `sys_log1` (
- `id` varchar(32) NOT NULL,
- `log_type` int(2) DEFAULT NULL COMMENT '日志类型(1登录日志,2操作日志)',
- `log_content` varchar(1000) DEFAULT NULL COMMENT '日志内容',
- `operate_type` int(2) DEFAULT NULL COMMENT '操作类型',
- `userid` varchar(32) DEFAULT NULL COMMENT '操作用户账号',
- `username` varchar(100) DEFAULT NULL COMMENT '操作用户名称',
- `ip` varchar(100) DEFAULT NULL COMMENT 'IP',
- `method` varchar(500) DEFAULT NULL COMMENT '请求java方法',
- `request_url` varchar(255) DEFAULT NULL COMMENT '请求路径',
- `request_param` longtext DEFAULT NULL COMMENT '请求参数',
- `request_type` varchar(10) DEFAULT NULL COMMENT '请求类型',
- `cost_time` bigint(20) DEFAULT NULL COMMENT '耗时',
- `create_by` varchar(32) DEFAULT NULL COMMENT '创建人',
- `create_time` datetime DEFAULT NULL COMMENT '创建时间',
- `update_by` varchar(32) DEFAULT NULL COMMENT '更新人',
- `update_time` datetime DEFAULT NULL COMMENT '更新时间',
- PRIMARY KEY (`id`) USING BTREE,
- KEY `index_table_userid` (`userid`) USING BTREE,
- KEY `index_logt_ype` (`log_type`) USING BTREE,
- KEY `index_operate_type` (`operate_type`) USING BTREE,
- KEY `index_createtime` (`create_time`) USING BTREE
-) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='系统日志表';
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-shardingsphere/pom.xml b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-shardingsphere/pom.xml
deleted file mode 100644
index 934ccbe44..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-shardingsphere/pom.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
- jeecg-cloud-test
- org.jeecgframework.boot3
- 3.9.0
-
- 4.0.0
-
- jeecg-cloud-test-shardingsphere
-
-
-
- org.jeecgframework.boot3
- jeecg-boot-starter-shardingsphere
-
-
-
-
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-shardingsphere/src/main/java/org/jeecg/modules/test/sharding/algorithm/StandardModTableShardAlgorithm.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-shardingsphere/src/main/java/org/jeecg/modules/test/sharding/algorithm/StandardModTableShardAlgorithm.java
deleted file mode 100644
index efda75635..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-shardingsphere/src/main/java/org/jeecg/modules/test/sharding/algorithm/StandardModTableShardAlgorithm.java
+++ /dev/null
@@ -1,64 +0,0 @@
-package org.jeecg.modules.test.sharding.algorithm;
-
-
-import org.apache.shardingsphere.sharding.api.sharding.standard.PreciseShardingValue;
-import org.apache.shardingsphere.sharding.api.sharding.standard.RangeShardingValue;
-import org.apache.shardingsphere.sharding.api.sharding.standard.StandardShardingAlgorithm;
-
-import java.util.Collection;
-import java.util.Properties;
-
-/**
- * 用于处理使用单一键
- * 根据分片字段的值和sharding-count进行取模运算
- * SQL 语句中有>,>=, <=,<,=,IN 和 BETWEEN AND 操作符,都可以应用此分片策略。
- *
- * @author zyf
- */
-public class StandardModTableShardAlgorithm implements StandardShardingAlgorithm {
- private Properties props = new Properties();
-
-
- /**
- * 用于处理=和IN的分片
- *
- * @param collection 目标分片的集合(表名)
- * @param preciseShardingValue 逻辑表相关信息
- * @return
- */
- @Override
- public String doSharding(Collection collection, PreciseShardingValue preciseShardingValue) {
-
- for (String name : collection) {
- Integer value = preciseShardingValue.getValue();
- //根据值进行取模,得到一个目标值
- if (name.indexOf(value % 2+"") > -1) {
- return name;
- }
- }
- throw new UnsupportedOperationException();
- }
-
- /**
- * 用于处理BETWEEN AND分片,如果不配置RangeShardingAlgorithm,SQL中的BETWEEN AND将按照全库路由处理
- *
- * @param collection
- * @param rangeShardingValue
- * @return
- */
- @Override
- public Collection doSharding(Collection collection, RangeShardingValue rangeShardingValue) {
-
- return collection;
- }
-
- /**
- * 对应分片算法(sharding-algorithms)的类型
- *
- * @return
- */
- @Override
- public String getType() {
- return "STANDARD_MOD";
- }
-}
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-shardingsphere/src/main/java/org/jeecg/modules/test/sharding/controller/JeecgShardingDemoController.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-shardingsphere/src/main/java/org/jeecg/modules/test/sharding/controller/JeecgShardingDemoController.java
deleted file mode 100644
index 2aa93b58d..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-shardingsphere/src/main/java/org/jeecg/modules/test/sharding/controller/JeecgShardingDemoController.java
+++ /dev/null
@@ -1,89 +0,0 @@
-package org.jeecg.modules.test.sharding.controller;
-
-import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.aspect.annotation.AutoLog;
-import org.jeecg.common.system.base.controller.JeecgController;
-import org.jeecg.modules.test.sharding.entity.ShardingSysLog;
-import org.jeecg.modules.test.sharding.service.IShardingSysLogService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import io.swagger.v3.oas.annotations.tags.Tag;
-import io.swagger.v3.oas.annotations.Operation;
-import lombok.extern.slf4j.Slf4j;
-
-/**
- * @Description: 分库分表测试
- * @author: zyf
- * @date: 2022/01/24
- * @version: V1.0
- */
-@Slf4j
-@Tag(name = "分库分表测试")
-@RestController
-@RequestMapping("/demo/sharding")
-public class JeecgShardingDemoController extends JeecgController {
- @Autowired
- private IShardingSysLogService shardingSysLogService;
-
- /**
- * 单库分表 —— 插入
- * @return
- */
- @PostMapping(value = "/insert")
- @Operation(summary = "单库分表插入")
- public Result> insert() {
- log.info("---------------------------------单库分表插入--------------------------------");
- int size = 10;
- for (int i = 0; i < size; i++) {
- ShardingSysLog shardingSysLog = new ShardingSysLog();
- shardingSysLog.setLogContent("采用shardingsphere实现分库分表,插入测试!");
- shardingSysLog.setLogType(i);
- shardingSysLog.setOperateType(i);
- shardingSysLogService.save(shardingSysLog);
- }
- return Result.OK("单库分表插入10条数据完成!");
- }
-
- /**
- * 单库分表 —— 查询
- * @return
- */
- @PostMapping(value = "/list")
- @Operation(summary = "单库分表查询")
- public Result> list() {
- return Result.OK(shardingSysLogService.list());
- }
-
- /**
- * 分库分表 - 插入
- * @return
- */
- @PostMapping(value = "/insert2")
- @Operation(summary = "分库分表插入")
- public Result> insert2() {
- int start=20;
- int size=30;
- for (int i = start; i <= size; i++) {
- ShardingSysLog shardingSysLog = new ShardingSysLog();
- shardingSysLog.setLogContent("分库分表测试");
- shardingSysLog.setLogType(0);
- shardingSysLog.setOperateType(i);
- shardingSysLogService.save(shardingSysLog);
- }
- return Result.OK("分库分表插入10条数据完成!");
- }
-
- /**
- * 分库分表 - 查询
- * @return
- */
- @PostMapping(value = "/list2")
- @Operation(summary = "分库分表查询")
- public Result> list2() {
- return Result.OK(shardingSysLogService.list());
- }
-
-}
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-shardingsphere/src/main/java/org/jeecg/modules/test/sharding/entity/ShardingSysLog.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-shardingsphere/src/main/java/org/jeecg/modules/test/sharding/entity/ShardingSysLog.java
deleted file mode 100644
index c32cff2fb..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-shardingsphere/src/main/java/org/jeecg/modules/test/sharding/entity/ShardingSysLog.java
+++ /dev/null
@@ -1,109 +0,0 @@
-package org.jeecg.modules.test.sharding.entity;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import lombok.experimental.Accessors;
-import org.jeecg.common.aspect.annotation.Dict;
-import org.springframework.format.annotation.DateTimeFormat;
-
-import java.io.Serializable;
-import java.util.Date;
-
-/**
- * 系统日志表
- * @author: zyf
- * @date: 2022/04/21
- */
-@Data
-@TableName("sys_log")
-public class ShardingSysLog implements Serializable {
-
- private static final long serialVersionUID = 1L;
-
- /**
- * id
- */
- @TableId(type = IdType.ASSIGN_ID)
- private String id;
-
- /**
- * 创建人
- */
- private String createBy;
-
- /**
- * 创建时间
- */
- @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
- @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- private Date createTime;
-
- /**
- * 更新人
- */
- private String updateBy;
-
- /**
- * 更新时间
- */
- private Date updateTime;
-
- /**
- * 耗时
- */
- private Long costTime;
-
- /**
- * IP
- */
- private String ip;
-
- /**
- * 请求参数
- */
- private String requestParam;
-
- /**
- * 请求类型
- */
- private String requestType;
-
- /**
- * 请求路径
- */
- private String requestUrl;
- /**
- * 请求方法
- */
- private String method;
-
- /**
- * 操作人用户名称
- */
- private String username;
- /**
- * 操作人用户账户
- */
- private String userid;
- /**
- * 操作详细日志
- */
- private String logContent;
-
- /**
- * 日志类型(1登录日志,2操作日志)
- */
- @Dict(dicCode = "log_type")
- private Integer logType;
-
- /**
- * 操作类型(1查询,2添加,3修改,4删除,5导入,6导出)
- */
- @Dict(dicCode = "operate_type")
- private Integer operateType;
-
-}
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-shardingsphere/src/main/java/org/jeecg/modules/test/sharding/mapper/ShardingSysLogMapper.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-shardingsphere/src/main/java/org/jeecg/modules/test/sharding/mapper/ShardingSysLogMapper.java
deleted file mode 100644
index b9e576e1e..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-shardingsphere/src/main/java/org/jeecg/modules/test/sharding/mapper/ShardingSysLogMapper.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package org.jeecg.modules.test.sharding.mapper;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import org.jeecg.modules.test.sharding.entity.ShardingSysLog;
-
-
-/**
- * @Description: 系统日志表 Mapper 接口
- * @author: zyf
- * @date: 2022/01/24
- * @version: V1.0
- */
-public interface ShardingSysLogMapper extends BaseMapper {
-
-}
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-shardingsphere/src/main/java/org/jeecg/modules/test/sharding/mapper/xml/ShardingSysLogMapper.xml b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-shardingsphere/src/main/java/org/jeecg/modules/test/sharding/mapper/xml/ShardingSysLogMapper.xml
deleted file mode 100644
index 136d53a22..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-shardingsphere/src/main/java/org/jeecg/modules/test/sharding/mapper/xml/ShardingSysLogMapper.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-shardingsphere/src/main/java/org/jeecg/modules/test/sharding/service/IShardingSysLogService.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-shardingsphere/src/main/java/org/jeecg/modules/test/sharding/service/IShardingSysLogService.java
deleted file mode 100644
index 337dafc30..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-shardingsphere/src/main/java/org/jeecg/modules/test/sharding/service/IShardingSysLogService.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package org.jeecg.modules.test.sharding.service;
-
-import com.baomidou.mybatisplus.extension.service.IService;
-import org.jeecg.modules.test.sharding.entity.ShardingSysLog;
-
-/**
- * @Description: 系统日志表 服务类
- * @author: zyf
- * @date: 2022/01/24
- * @version: V1.0
- */
-public interface IShardingSysLogService extends IService {
-
-}
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-shardingsphere/src/main/java/org/jeecg/modules/test/sharding/service/impl/ShardingSysLogServiceImpl.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-shardingsphere/src/main/java/org/jeecg/modules/test/sharding/service/impl/ShardingSysLogServiceImpl.java
deleted file mode 100644
index b174ca09b..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-shardingsphere/src/main/java/org/jeecg/modules/test/sharding/service/impl/ShardingSysLogServiceImpl.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package org.jeecg.modules.test.sharding.service.impl;
-
-import com.baomidou.dynamic.datasource.annotation.DS;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.jeecg.modules.test.sharding.entity.ShardingSysLog;
-import org.jeecg.modules.test.sharding.mapper.ShardingSysLogMapper;
-import org.jeecg.modules.test.sharding.service.IShardingSysLogService;
-import org.springframework.stereotype.Service;
-
-/**
- * 系统日志表 服务实现类
- * @author: zyf
- * @date: 2022/04/21
- */
-@Service
-@DS("sharding-db")
-public class ShardingSysLogServiceImpl extends ServiceImpl implements IShardingSysLogService {
-
-}
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-shardingsphere/src/main/resources/sharding-multi.yaml b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-shardingsphere/src/main/resources/sharding-multi.yaml
deleted file mode 100644
index a604db7a2..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-shardingsphere/src/main/resources/sharding-multi.yaml
+++ /dev/null
@@ -1,67 +0,0 @@
-# !!!数据源名称要和动态数据源中配置的名称一致
-databaseName: sharding-db
-
-# 具体参看官网文档说明
-dataSources:
- ds0:
- dataSourceClassName: com.zaxxer.hikari.HikariDataSource
- driverClassName: com.mysql.cj.jdbc.Driver
- jdbcUrl: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
- password: root
- username: root
- ds1:
- dataSourceClassName: com.zaxxer.hikari.HikariDataSource
- driverClassName: com.mysql.cj.jdbc.Driver
- jdbcUrl: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot2?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
- password: root
- username: root
-
-rules:
- - !SHARDING
- bindingTables:
- - sys_log
- tables:
- sys_log:
- actualDataNodes: ds$->{0..1}.sys_log$->{0..1}
- databaseStrategy:
- standard:
- shardingColumn: operate_type
- shardingAlgorithmName: database-inline
- tableStrategy:
- standard:
- shardingColumn: log_type
- shardingAlgorithmName: table-classbased
- keyGenerateStrategy:
- column: id
- keyGeneratorName: snowflake
-
- keyGenerators:
- snowflake:
- type: SNOWFLAKE
- props:
- worker-id: 123
-
- shardingAlgorithms:
- database-inline:
- type: INLINE
- props:
- algorithm-expression: ds$->{operate_type % 2}
- table-classbased:
- type: CLASS_BASED
- props:
- strategy: standard
- algorithmClassName: org.jeecg.modules.test.sharding.algorithm.StandardModTableShardAlgorithm
-
- - !READWRITE_SPLITTING
- dataSources:
- prds:
- writeDataSourceName: ds0
- readDataSourceNames:
- - ds1
- loadBalancerName: round-robin
- loadBalancers:
- round-robin:
- type: ROUND_ROBIN
-
-props:
- sql-show: true
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-shardingsphere/src/main/resources/sharding.yaml b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-shardingsphere/src/main/resources/sharding.yaml
deleted file mode 100644
index 553c94f5c..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/jeecg-cloud-test-shardingsphere/src/main/resources/sharding.yaml
+++ /dev/null
@@ -1,40 +0,0 @@
-# !!!数据源名称要和动态数据源中配置的名称一致
-databaseName: sharding-db
-
-# 具体参看官网文档说明
-dataSources:
- db_0:
- dataSourceClassName: com.zaxxer.hikari.HikariDataSource
- driverClassName: com.mysql.cj.jdbc.Driver
- jdbcUrl: jdbc:mysql://jeecg-boot-mysql:3306/jeecg-boot?useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
- password: root
- username: root
-
-rules:
- - !SHARDING
- tables: # 数据分片规则配置
- sys_log: # 逻辑表名称
- actualDataNodes: db_0.sys_log$->{0..1} # 由数据源名 + 表名组成(参考 Inline 语法规则)
- databaseStrategy: # 分库策略,缺省表示使用默认分库策略,以下的分片策略只能选其一
- none:
- tableStrategy: # 分表策略
- standard: # 用于单分片键的标准分片场景
- shardingColumn: log_type # 分片列名称
- shardingAlgorithmName: user_inline
- keyGenerateStrategy:
- column: id
- keyGeneratorName: snowflake
- keyGenerators:
- snowflake:
- type: SNOWFLAKE
- props:
- worker-id: 123
- # 分片算法配置
- shardingAlgorithms:
- user_inline:
- type: INLINE
- props:
- algorithm-expression: sys_log$->{log_type % 2}
-
-props:
- sql-show: true
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/pom.xml b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/pom.xml
deleted file mode 100644
index b1867dc65..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-test/pom.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
- jeecg-visual
- org.jeecgframework.boot3
- 3.9.0
-
-
- 4.0.0
- pom
- jeecg-cloud-test
-
-
-
- org.jeecgframework.boot3
- jeecg-boot-base-core
-
-
-
-
- jeecg-cloud-test-shardingsphere
- jeecg-cloud-test-more
- jeecg-cloud-test-rabbitmq
- jeecg-cloud-test-seata
- jeecg-cloud-test-rocketmq
-
-
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/Dockerfile b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/Dockerfile
deleted file mode 100644
index 6d4f55ecd..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/Dockerfile
+++ /dev/null
@@ -1,16 +0,0 @@
-FROM registry.cn-hangzhou.aliyuncs.com/dockerhub_mirror/java:17-anolis
-
-MAINTAINER jeecgos@163.com
-
-RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
-
-RUN mkdir -p /jeecg-cloud-xxljob
-
-WORKDIR /jeecg-cloud-xxljob
-
-EXPOSE 9080
-
-ADD ./target/jeecg-cloud-xxljob-3.9.0.jar ./
-
-CMD java -Dfile.encoding=utf-8 -Djava.security.egd=file:/dev/./urandom -jar jeecg-cloud-xxljob-3.9.0.jar
-
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/README.md b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/README.md
deleted file mode 100644
index ddef2ad80..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/README.md
+++ /dev/null
@@ -1,25 +0,0 @@
-- 初始化脚本(mysql)
-
- db\tables_xxl_job.sql
-
-- 修改数据库连接
-
- jeecg-cloud-xxljob\src\main\resources\application.yml
-
-- 启动项目
-
- jeecg-cloud-xxljob\src\main\java\com\xxl\job\admin\XxlJobAdminApplication.java
-
- - 访问项目
- http://127.0.0.1:9080/xxl-job-admin/toLogin
- admin/123456
-
- - docker方式安装
-
- https://my.oschina.net/jeecg/blog/4729020
-
-
-
- 概念说明
- 1、手工创建执行器,AppName对应服务名字 比如: jeecg-demo
- 2、手工创建定时任务,选择执行器(服务)、JobHandler对应XxlJob的值
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/doc/db/tables_xxl_job.sql b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/doc/db/tables_xxl_job.sql
deleted file mode 100644
index c34990291..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/doc/db/tables_xxl_job.sql
+++ /dev/null
@@ -1,352 +0,0 @@
-/*
- Navicat Premium Data Transfer
-
- Source Server : mysql5.7
- Source Server Type : MySQL
- Source Server Version : 50738 (5.7.38)
- Source Host : 127.0.0.1:3306
- Source Schema : xxl_job
-
- Target Server Type : MySQL
- Target Server Version : 50738 (5.7.38)
- File Encoding : 65001
-
- Date: 10/02/2025 13:49:31
-*/
-
-SET NAMES utf8mb4;
-SET FOREIGN_KEY_CHECKS = 0;
-
--- ----------------------------
--- Table structure for xxl_job_group
--- ----------------------------
-DROP TABLE IF EXISTS `xxl_job_group`;
-CREATE TABLE `xxl_job_group` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
- `app_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '执行器AppName',
- `title` varchar(12) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '执行器名称',
- `address_type` tinyint(4) NOT NULL DEFAULT 0 COMMENT '执行器地址类型:0=自动注册、1=手动录入',
- `address_list` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '执行器地址列表,多地址逗号分隔',
- `update_time` datetime NULL DEFAULT NULL,
- PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
-
--- ----------------------------
--- Records of xxl_job_group
--- ----------------------------
-INSERT INTO `xxl_job_group` VALUES (1, 'xxl-job-executor-sample', '示例执行器', 0, NULL, '2025-02-10 13:49:04');
-INSERT INTO `xxl_job_group` VALUES (2, 'jeecg-demo', '测试Demo模块', 0, NULL, '2025-02-10 13:49:04');
-INSERT INTO `xxl_job_group` VALUES (3, 'jeecg-system', '系统System模块', 0, NULL, '2025-02-10 13:49:04');
-
--- ----------------------------
--- Table structure for xxl_job_info
--- ----------------------------
-DROP TABLE IF EXISTS `xxl_job_info`;
-CREATE TABLE `xxl_job_info` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
- `job_group` int(11) NOT NULL COMMENT '执行器主键ID',
- `job_desc` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `add_time` datetime NULL DEFAULT NULL,
- `update_time` datetime NULL DEFAULT NULL,
- `author` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '作者',
- `alarm_email` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '报警邮件',
- `schedule_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT 'NONE' COMMENT '调度类型',
- `schedule_conf` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '调度配置,值含义取决于调度类型',
- `misfire_strategy` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT 'DO_NOTHING' COMMENT '调度过期策略',
- `executor_route_strategy` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '执行器路由策略',
- `executor_handler` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '执行器任务handler',
- `executor_param` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '执行器任务参数',
- `executor_block_strategy` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '阻塞处理策略',
- `executor_timeout` int(11) NOT NULL DEFAULT 0 COMMENT '任务执行超时时间,单位秒',
- `executor_fail_retry_count` int(11) NOT NULL DEFAULT 0 COMMENT '失败重试次数',
- `glue_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'GLUE类型',
- `glue_source` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT 'GLUE源代码',
- `glue_remark` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'GLUE备注',
- `glue_updatetime` datetime NULL DEFAULT NULL COMMENT 'GLUE更新时间',
- `child_jobid` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '子任务ID,多个逗号分隔',
- `trigger_status` tinyint(4) NOT NULL DEFAULT 0 COMMENT '调度状态:0-停止,1-运行',
- `trigger_last_time` bigint(13) NOT NULL DEFAULT 0 COMMENT '上次调度时间',
- `trigger_next_time` bigint(13) NOT NULL DEFAULT 0 COMMENT '下次调度时间',
- PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
-
--- ----------------------------
--- Records of xxl_job_info
--- ----------------------------
-INSERT INTO `xxl_job_info` VALUES (1, 1, '测试任务1', '2018-11-03 22:21:31', '2024-08-21 22:30:30', 'XXL', '', 'CRON', '0 0 0 * * ? *', 'DO_NOTHING', 'FIRST', 'demoJob', '', 'SERIAL_EXECUTION', 0, 0, 'BEAN', '', 'GLUE代码初始化', '2018-11-03 22:21:31', '', 1, 1729353600000, 1739203200000);
-INSERT INTO `xxl_job_info` VALUES (2, 3, '测试jeecg xxljob', '2024-08-21 22:41:10', '2024-08-21 22:41:30', 'JEECG', '', 'CRON', '* * * * * ?', 'DO_NOTHING', 'FIRST', 'demoJob', '', 'SERIAL_EXECUTION', 0, 0, 'BEAN', '', 'GLUE代码初始化', '2024-08-21 22:41:10', '', 1, 1739166572000, 1739166573000);
-
--- ----------------------------
--- Table structure for xxl_job_lock
--- ----------------------------
-DROP TABLE IF EXISTS `xxl_job_lock`;
-CREATE TABLE `xxl_job_lock` (
- `lock_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '锁名称',
- PRIMARY KEY (`lock_name`) USING BTREE
-) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
-
--- ----------------------------
--- Records of xxl_job_lock
--- ----------------------------
-INSERT INTO `xxl_job_lock` VALUES ('schedule_lock');
-
--- ----------------------------
--- Table structure for xxl_job_log
--- ----------------------------
-DROP TABLE IF EXISTS `xxl_job_log`;
-CREATE TABLE `xxl_job_log` (
- `id` bigint(20) NOT NULL AUTO_INCREMENT,
- `job_group` int(11) NOT NULL COMMENT '执行器主键ID',
- `job_id` int(11) NOT NULL COMMENT '任务,主键ID',
- `executor_address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '执行器地址,本次执行的地址',
- `executor_handler` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '执行器任务handler',
- `executor_param` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '执行器任务参数',
- `executor_sharding_param` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '执行器任务分片参数,格式如 1/2',
- `executor_fail_retry_count` int(11) NOT NULL DEFAULT 0 COMMENT '失败重试次数',
- `trigger_time` datetime NULL DEFAULT NULL COMMENT '调度-时间',
- `trigger_code` int(11) NOT NULL COMMENT '调度-结果',
- `trigger_msg` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '调度-日志',
- `handle_time` datetime NULL DEFAULT NULL COMMENT '执行-时间',
- `handle_code` int(11) NOT NULL COMMENT '执行-状态',
- `handle_msg` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '执行-日志',
- `alarm_status` tinyint(4) NOT NULL DEFAULT 0 COMMENT '告警状态:0-默认、1-无需告警、2-告警成功、3-告警失败',
- PRIMARY KEY (`id`) USING BTREE,
- INDEX `I_trigger_time`(`trigger_time`) USING BTREE,
- INDEX `I_handle_code`(`handle_code`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 6761 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
-
--- ----------------------------
--- Records of xxl_job_log
--- ----------------------------
-INSERT INTO `xxl_job_log` VALUES (6618, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:09', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6619, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:10', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6620, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:11', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6621, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:12', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6622, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:13', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6623, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:14', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6624, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:15', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6625, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:16', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6626, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:17', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6627, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:18', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6628, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:19', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6629, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:20', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6630, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:21', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6631, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:22', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6632, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:23', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6633, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:24', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6634, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:25', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6635, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:26', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6636, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:27', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6637, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:28', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6638, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:29', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6639, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:30', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6640, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:31', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6641, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:32', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6642, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:33', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6643, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:34', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6644, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:35', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6645, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:36', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6646, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:37', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6647, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:38', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6648, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:39', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6649, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:40', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6650, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:41', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6651, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:42', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6652, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:43', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6653, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:44', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6654, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:45', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6655, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:46', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6656, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:47', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6657, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:48', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6658, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:49', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6659, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:50', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6660, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:51', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6661, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:52', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6662, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:53', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6663, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:54', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6664, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:55', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6665, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:56', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6666, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:57', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6667, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:58', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6668, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:47:59', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6669, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:00', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6670, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:01', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6671, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:02', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6672, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:03', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6673, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:04', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6674, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:05', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6675, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:06', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6676, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:07', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6677, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:08', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6678, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:09', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6679, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:10', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6680, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:11', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6681, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:12', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6682, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:13', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6683, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:14', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6684, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:15', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6685, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:16', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6686, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:17', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6687, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:18', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6688, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:19', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6689, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:20', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6690, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:21', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6691, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:22', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6692, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:23', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6693, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:24', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6694, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:25', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6695, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:26', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6696, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:27', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6697, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:28', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6698, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:29', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6699, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:30', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6700, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:31', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6701, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:32', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6702, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:33', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6703, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:34', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6704, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:35', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6705, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:36', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6706, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:37', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6707, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:38', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6708, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:39', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6709, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:40', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6710, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:41', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6711, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:42', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6712, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:43', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6713, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:44', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6714, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:45', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6715, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:46', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6716, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:47', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6717, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:48', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6718, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:49', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6719, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:50', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6720, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:51', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6721, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:52', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6722, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:53', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6723, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:54', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6724, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:55', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6725, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:56', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6726, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:57', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6727, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:58', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6728, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:48:59', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6729, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:49:00', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6730, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:49:01', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6731, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:49:02', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6732, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:49:03', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6733, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:49:04', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6734, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:49:05', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6735, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:49:06', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6736, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:49:07', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6737, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:49:08', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6738, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:49:09', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6739, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:49:10', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6740, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:49:11', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6741, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:49:12', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6742, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:49:13', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6743, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:49:14', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6744, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:49:15', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6745, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:49:16', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6746, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:49:17', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6747, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:49:18', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6748, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:49:19', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6749, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:49:20', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6750, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:49:21', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6751, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:49:22', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6752, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:49:23', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6753, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:49:24', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 2);
-INSERT INTO `xxl_job_log` VALUES (6754, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:49:25', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 0);
-INSERT INTO `xxl_job_log` VALUES (6755, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:49:26', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 0);
-INSERT INTO `xxl_job_log` VALUES (6756, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:49:27', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 0);
-INSERT INTO `xxl_job_log` VALUES (6757, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:49:28', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 0);
-INSERT INTO `xxl_job_log` VALUES (6758, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:49:29', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 0);
-INSERT INTO `xxl_job_log` VALUES (6759, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:49:30', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 0);
-INSERT INTO `xxl_job_log` VALUES (6760, 3, 2, NULL, 'demoJob', '', NULL, 0, '2025-02-10 13:49:31', 500, '任务触发类型:Cron触发 调度机器:192.168.1.11 执行器-注册方式:自动注册 执行器-地址列表:null 路由策略:第一个 阻塞处理策略:单机串行 任务超时时间:0 失败重试次数:0 >>>>>>>>>>>触发调度<<<<<<<<<<< 调度失败:执行器地址为空 ', NULL, 0, NULL, 0);
-
--- ----------------------------
--- Table structure for xxl_job_log_report
--- ----------------------------
-DROP TABLE IF EXISTS `xxl_job_log_report`;
-CREATE TABLE `xxl_job_log_report` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
- `trigger_day` datetime NULL DEFAULT NULL COMMENT '调度-时间',
- `running_count` int(11) NOT NULL DEFAULT 0 COMMENT '运行中-日志数量',
- `suc_count` int(11) NOT NULL DEFAULT 0 COMMENT '执行成功-日志数量',
- `fail_count` int(11) NOT NULL DEFAULT 0 COMMENT '执行失败-日志数量',
- `update_time` datetime NULL DEFAULT NULL,
- PRIMARY KEY (`id`) USING BTREE,
- UNIQUE INDEX `i_trigger_day`(`trigger_day`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 13 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
-
--- ----------------------------
--- Records of xxl_job_log_report
--- ----------------------------
-INSERT INTO `xxl_job_log_report` VALUES (1, '2024-08-21 00:00:00', 70, 0, 5, NULL);
-INSERT INTO `xxl_job_log_report` VALUES (2, '2024-08-20 00:00:00', 0, 0, 0, NULL);
-INSERT INTO `xxl_job_log_report` VALUES (3, '2024-08-19 00:00:00', 0, 0, 0, NULL);
-INSERT INTO `xxl_job_log_report` VALUES (4, '2024-09-10 00:00:00', 0, 0, 56, NULL);
-INSERT INTO `xxl_job_log_report` VALUES (5, '2024-09-09 00:00:00', 0, 0, 0, NULL);
-INSERT INTO `xxl_job_log_report` VALUES (6, '2024-09-08 00:00:00', 0, 0, 0, NULL);
-INSERT INTO `xxl_job_log_report` VALUES (7, '2024-10-19 00:00:00', 0, 0, 6391, NULL);
-INSERT INTO `xxl_job_log_report` VALUES (8, '2024-10-18 00:00:00', 0, 0, 0, NULL);
-INSERT INTO `xxl_job_log_report` VALUES (9, '2024-10-17 00:00:00', 0, 0, 0, NULL);
-INSERT INTO `xxl_job_log_report` VALUES (10, '2025-02-10 00:00:00', 0, 0, 116, NULL);
-INSERT INTO `xxl_job_log_report` VALUES (11, '2025-02-09 00:00:00', 0, 0, 0, NULL);
-INSERT INTO `xxl_job_log_report` VALUES (12, '2025-02-08 00:00:00', 0, 0, 0, NULL);
-
--- ----------------------------
--- Table structure for xxl_job_logglue
--- ----------------------------
-DROP TABLE IF EXISTS `xxl_job_logglue`;
-CREATE TABLE `xxl_job_logglue` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
- `job_id` int(11) NOT NULL COMMENT '任务,主键ID',
- `glue_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'GLUE类型',
- `glue_source` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT 'GLUE源代码',
- `glue_remark` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'GLUE备注',
- `add_time` datetime NULL DEFAULT NULL,
- `update_time` datetime NULL DEFAULT NULL,
- PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
-
--- ----------------------------
--- Records of xxl_job_logglue
--- ----------------------------
-
--- ----------------------------
--- Table structure for xxl_job_registry
--- ----------------------------
-DROP TABLE IF EXISTS `xxl_job_registry`;
-CREATE TABLE `xxl_job_registry` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
- `registry_group` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `registry_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `registry_value` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
- `update_time` datetime NULL DEFAULT NULL,
- PRIMARY KEY (`id`) USING BTREE,
- INDEX `i_g_k_v`(`registry_group`, `registry_key`, `registry_value`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
-
--- ----------------------------
--- Records of xxl_job_registry
--- ----------------------------
-
--- ----------------------------
--- Table structure for xxl_job_user
--- ----------------------------
-DROP TABLE IF EXISTS `xxl_job_user`;
-CREATE TABLE `xxl_job_user` (
- `id` int(11) NOT NULL AUTO_INCREMENT,
- `username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '账号',
- `password` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '密码',
- `role` tinyint(4) NOT NULL COMMENT '角色:0-普通用户、1-管理员',
- `permission` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '权限:执行器ID列表,多个逗号分割',
- PRIMARY KEY (`id`) USING BTREE,
- UNIQUE INDEX `i_username`(`username`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
-
--- ----------------------------
--- Records of xxl_job_user
--- ----------------------------
-INSERT INTO `xxl_job_user` VALUES (1, 'admin', 'e10adc3949ba59abbe56e057f20f883e', 1, NULL);
-
-SET FOREIGN_KEY_CHECKS = 1;
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/pom.xml b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/pom.xml
deleted file mode 100644
index e58a6a963..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/pom.xml
+++ /dev/null
@@ -1,102 +0,0 @@
-
-
-
- jeecg-visual
- org.jeecgframework.boot3
- 3.9.0
-
- 4.0.0
-
- jeecg-cloud-xxljob
-
-
-
-
- org.springframework.boot
- spring-boot-starter-web
-
-
-
- org.springframework.boot
- spring-boot-starter-test
- test
-
-
-
- org.springframework.boot
- spring-boot-starter-freemarker
-
-
-
-
- org.springframework.boot
- spring-boot-starter-actuator
-
-
-
-
- org.mybatis.spring.boot
- mybatis-spring-boot-starter
- 3.0.3
-
-
-
- mysql
- mysql-connector-java
- ${mysql-connector-java.version}
- runtime
-
-
-
-
-
- org.springframework.boot
- spring-boot-starter-mail
-
-
-
- com.xuxueli
- xxl-job-core
- ${xxl-job-core.version}
-
-
-
-
-
-
-
- org.springframework.boot
- spring-boot-maven-plugin
-
-
-
- package
-
- repackage
-
-
-
-
- true
- com.xxl.job.admin.XxlJobAdminApplication
-
-
-
- org.apache.maven.plugins
- maven-resources-plugin
-
-
- otf
- ttf
- woff
- woff2
- eot
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/XxlJobAdminApplication.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/XxlJobAdminApplication.java
deleted file mode 100644
index 59593871f..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/XxlJobAdminApplication.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package com.xxl.job.admin;
-
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.context.ConfigurableApplicationContext;
-import org.springframework.core.env.Environment;
-
-/**
- * @author xuxueli 2018-10-28 00:38:13
- */
-@SpringBootApplication
-@Slf4j
-public class XxlJobAdminApplication {
-
- public static void main(String[] args) {
- ConfigurableApplicationContext application = SpringApplication.run(XxlJobAdminApplication.class, args);
- Environment env = application.getEnvironment();
- String port = env.getProperty("server.port");
- String path = env.getProperty("server.servlet.context-path");
- log.info("\n----------------------------------------------------------\n\t" +
- "Application XxlJobAdmin is running! Access URLs:\n\t" +
- "Local: \t\thttp://localhost:" + port + path + "/\n\t" +
- "----------------------------------------------------------");
- }
-
-}
\ No newline at end of file
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/controller/IndexController.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/controller/IndexController.java
deleted file mode 100644
index 1a3ac5363..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/controller/IndexController.java
+++ /dev/null
@@ -1,96 +0,0 @@
-package com.xxl.job.admin.controller;
-
-import com.xxl.job.admin.controller.annotation.PermissionLimit;
-import com.xxl.job.admin.service.LoginService;
-import com.xxl.job.admin.service.XxlJobService;
-import com.xxl.job.core.biz.model.ReturnT;
-import org.springframework.beans.propertyeditors.CustomDateEditor;
-import org.springframework.stereotype.Controller;
-import org.springframework.ui.Model;
-import org.springframework.web.bind.WebDataBinder;
-import org.springframework.web.bind.annotation.InitBinder;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.web.servlet.ModelAndView;
-import org.springframework.web.servlet.view.RedirectView;
-
-import jakarta.annotation.Resource;
-import jakarta.servlet.http.HttpServletRequest;
-import jakarta.servlet.http.HttpServletResponse;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.Map;
-
-/**
- * index controller
- * @author xuxueli 2015-12-19 16:13:16
- */
-@Controller
-public class IndexController {
-
- @Resource
- private XxlJobService xxlJobService;
- @Resource
- private LoginService loginService;
-
-
- @RequestMapping("/")
- public String index(Model model) {
-
- Map dashboardMap = xxlJobService.dashboardInfo();
- model.addAllAttributes(dashboardMap);
-
- return "index";
- }
-
- @RequestMapping("/chartInfo")
- @ResponseBody
- public ReturnT> chartInfo(Date startDate, Date endDate) {
- ReturnT> chartInfo = xxlJobService.chartInfo(startDate, endDate);
- return chartInfo;
- }
-
- @RequestMapping("/toLogin")
- @PermissionLimit(limit=false)
- public ModelAndView toLogin(HttpServletRequest request, HttpServletResponse response,ModelAndView modelAndView) {
- if (loginService.ifLogin(request, response) != null) {
- modelAndView.setView(new RedirectView("/",true,false));
- return modelAndView;
- }
- return new ModelAndView("login");
- }
-
- @RequestMapping(value="login", method=RequestMethod.POST)
- @ResponseBody
- @PermissionLimit(limit=false)
- public ReturnT loginDo(HttpServletRequest request, HttpServletResponse response, String userName, String password, String ifRemember){
- boolean ifRem = (ifRemember!=null && ifRemember.trim().length()>0 && "on".equals(ifRemember))?true:false;
- return loginService.login(request, response, userName, password, ifRem);
- }
-
- @RequestMapping(value="logout", method=RequestMethod.POST)
- @ResponseBody
- @PermissionLimit(limit=false)
- public ReturnT logout(HttpServletRequest request, HttpServletResponse response){
- return loginService.logout(request, response);
- }
-
- @RequestMapping("/help")
- public String help() {
-
- /*if (!PermissionInterceptor.ifLogin(request)) {
- return "redirect:/toLogin";
- }*/
-
- return "help";
- }
-
- @InitBinder
- public void initBinder(WebDataBinder binder) {
- SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- dateFormat.setLenient(false);
- binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true));
- }
-
-}
diff --git a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/controller/JobApiController.java b/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/controller/JobApiController.java
deleted file mode 100644
index d650913fe..000000000
--- a/jeecg-boot/jeecg-server-cloud/jeecg-visual/jeecg-cloud-xxljob/src/main/java/com/xxl/job/admin/controller/JobApiController.java
+++ /dev/null
@@ -1,72 +0,0 @@
-package com.xxl.job.admin.controller;
-
-import com.xxl.job.admin.controller.annotation.PermissionLimit;
-import com.xxl.job.admin.core.conf.XxlJobAdminConfig;
-import com.xxl.job.core.biz.AdminBiz;
-import com.xxl.job.core.biz.model.HandleCallbackParam;
-import com.xxl.job.core.biz.model.RegistryParam;
-import com.xxl.job.core.biz.model.ReturnT;
-import com.xxl.job.core.util.GsonTool;
-import com.xxl.job.core.util.XxlJobRemotingUtil;
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.ResponseBody;
-
-import jakarta.annotation.Resource;
-import jakarta.servlet.http.HttpServletRequest;
-import java.util.List;
-
-/**
- * Created by xuxueli on 17/5/10.
- */
-@Controller
-@RequestMapping("/api")
-public class JobApiController {
-
- @Resource
- private AdminBiz adminBiz;
-
- /**
- * api
- *
- * @param uri
- * @param data
- * @return
- */
- @RequestMapping("/{uri}")
- @ResponseBody
- @PermissionLimit(limit=false)
- public ReturnT api(HttpServletRequest request, @PathVariable("uri") String uri, @RequestBody(required = false) String data) {
-
- // valid
- if (!"POST".equalsIgnoreCase(request.getMethod())) {
- return new ReturnT(ReturnT.FAIL_CODE, "invalid request, HttpMethod not support.");
- }
- if (uri==null || uri.trim().length()==0) {
- return new ReturnT(ReturnT.FAIL_CODE, "invalid request, uri-mapping empty.");
- }
- if (XxlJobAdminConfig.getAdminConfig().getAccessToken()!=null
- && XxlJobAdminConfig.getAdminConfig().getAccessToken().trim().length()>0
- && !XxlJobAdminConfig.getAdminConfig().getAccessToken().equals(request.getHeader(XxlJobRemotingUtil.XXL_JOB_ACCESS_TOKEN))) {
- return new ReturnT(ReturnT.FAIL_CODE, "The access token is wrong.");
- }
-
- // services mapping
- if ("callback".equals(uri)) {
- List callbackParamList = GsonTool.fromJson(data, List.class, HandleCallbackParam.class);
- return adminBiz.callback(callbackParamList);
- } else if ("registry".equals(uri)) {
- RegistryParam registryParam = GsonTool.fromJson(data, RegistryParam.class);
- return adminBiz.registry(registryParam);
- } else if ("registryRemove".equals(uri)) {
- RegistryParam registryParam = GsonTool.fromJson(data, RegistryParam.class);
- return adminBiz.registryRemove(registryParam);
- } else {
- return new ReturnT