ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

JeecgBoot 升级 XXL-JOB 3.x 后如何重建数据库并切换登录认证?

JeecgBoot 升级 XXL-JOB 3.x 后如何重建数据库并切换登录认证? JeecgBoot 升级 XXL-JOB 3.x 后如何重建数据库并切换登录认证【免费下载链接】jeecg-boot【低代码v2.0一句话即可生成整个系统】企业级AI低代码平台一键生成前后端代码甚至整个系统。 AI Skills 一句话画流程、设计表单、生成报表、大屏。内置 AI应用平台涵盖AI聊天、知识库、流程编排、MCP插件等兼容主流大模型。引领AI低代码「Skills 生成 → 在线配置 → 代码生成 → 手工合并-AI修改」开发模式解决 Java 项目 90% 重复工作提高效率又不失灵活。项目地址: https://gitcode.com/GitHub_Trending/je/jeecg-bootJeecgBoot 3.9.3 把 XXL-JOB 从 2.4.1 升级到了 3.4.2见 UPGRADE-3.9.3.md。这是一次大版本升级带来两个必须处理的变化数据库不兼容XXL-JOB 3.x 不会自动建表表结构有变化需要用新库重新导入 tables_xxl_job.sql登录认证变更2.x 使用xxl_job_user表的 MD5 密码登录3.x 改用xxl-sso单点登录框架新增xxl-sso-core2.4.0 依赖SHA-256 密码默认账号admin/123456。本文的任务就是升级后重建 XXL-JOB 数据库把老库里的任务等配置迁移过去然后启动新的管理端并完成登录验证。适用环境为 JeecgBoot 3.9.3Spring Boot 4.1.0 MySQL要求 Java 17。升级前的唯一硬性前提备份老库UPGRADE-3.9.3.md 在“不兼容升级提醒”中明确要求Nacos 2.x → 3.x、XXL-JOB 2.x → 3.x 均为大版本升级表结构不兼容需重新初始化数据库升级前请备份老库。因为建表脚本 tables_xxl_job.sql 中对每张表都带有DROP TABLE IF EXISTS直接在老库上执行会先删掉旧表再重建。所以备份不是建议项而是必须先做的动作把老xxl_job库完整备份例如用mysqldump导出后续的老任务、执行器等配置都靠这份备份迁移。重建数据库导入建表脚本3.9.3 的数据库名仍为xxl_job。脚本开头即建库并切换到该库CREATE database if NOT EXISTS xxl_job default character set utf8mb4 collate utf8mb4_unicode_ci; use xxl_job;执行方式将 tables_xxl_job.sql 导入到新的xxl_job库建议在新库上执行而不是直接在老库上覆盖。脚本会创建以下表表用途按脚本注释xxl_job_group执行器含 AppName、执行器名称、地址类型等xxl_job_info任务信息含调度类型、Cron、JobHandler、阻塞策略等xxl_job_lock调度锁默认含schedule_lock记录xxl_job_log/xxl_job_log_report/xxl_job_logglue执行日志、日志报表、GLUE 代码版本xxl_job_registry执行器注册信息xxl_job_user登录账号3.x 下密码为 SHA-256 加密注意脚本中INSERT的数据属于脚本自带示例数据包括xxl-job-executor-sample、jeecg-demo、jeecg-system等执行器若干示例任务demoJobHandler、ollamaJobHandler等以及默认账号adminxxl_job_user表中一条管理员记录。这些数据用于快速演示生产环境请按实际情况清理或保留脚本没有给出自动清理说明。手工迁移老库配置UPGRADE-3.9.3.md 给出的迁移方式只有一个将老库中的配置XXL-JOB 任务等手工迁移到新库。脚本本身不会合并任何老数据你在新库的xxl_job_info、xxl_job_group等表里看到的只是上面列出的示例数据。操作时以备份出的老库为准把线上实际使用的任务xxl_job_info中的业务记录和执行器xxl_job_group复制到新库对应的表中。文档没有提供自动迁移工具或字段映射说明3.x 表结构与 2.x 不完全一致时例如schedule_type由枚举值变为CRON/NONE字符串列需要按新表结构逐条核对。核对管理端配置application.properties3.9.3 中该模块的配置文件由application.yml改成了 application.properties。UPGRADE-3.9.3.md 说明改用 properties 的原因解决xxl-sso.token.key等带点号/横线的 key 在 YAML 中的解析问题。启动前需要确认这几项文件中的原值如下按你的环境替换数据源三项### web server.port9080 server.servlet.context-path/ ### xxl-job, datasource spring.datasource.urljdbc:mysql://jeecg-boot-mysql:3306/xxl_job?useUnicodetruecharacterEncodingUTF-8autoReconnecttrueserverTimezoneAsia/Shanghai spring.datasource.username${MYSQL-USER:root} spring.datasource.password${MYSQL-PWD:root} spring.datasource.driver-class-namecom.mysql.cj.jdbc.Driver ### xxl-sso xxl-sso.token.keyxxl_job_login_token xxl-sso.token.timeout604800000 xxl-sso.client.excluded.paths xxl-sso.client.login.path/auth/login要点数据源 URL 必须指向新库xxl_jobjeecg-boot-mysql是仓库 Docker 部署里的 MySQL 服务名本地非容器环境要换成实际主机。3.x 登录认证由xxl-sso.*这组配置接管其中xxl-sso.client.login.path/auth/login是登录路径xxl-sso.token.timeout604800000是 token 有效期配置文档未解释具体计算规则保持默认即可。老版本的xxl-job, access tokenxxl.job.accessToken与xxl.job.i18n等配置在新文件中仍然保留。关于访问地址有一个文档间差异需要说明模块自带的 README.md 写的是http://127.0.0.1:9080/xxl-job-admin/toLogin这是 2.x 时代的描述UPGRADE-3.9.3.md 明确 3.9.3 中“XXL-JOB 去掉了/xxl-job-admin项目后缀”新地址为http://localhost:9080/。以升级日志为准。执行器侧统一使用 xxl-job-core 3.4.2管理端之外业务服务里的执行器也要同步升级。UPGRADE-3.9.3.md 的“升级注意事项”第 2 条确保jeecg-boot-starter-job模块排除旧版xxl-job-core统一使用 3.4.2。管理端模块自身的依赖见 jeecg-cloud-xxljob/pom.xml已经引入xxl-job-core3.4.2、xxl-sso-core2.4.0 和xxl-tool2.5.0这部分无需改动只需要按上述要求处理业务侧的jeecg-boot-starter-job。另外3.x 引入了新的执行器注册和发现机制JeecgXxlJobSpringExecutor已做适配以支持Bean方法上的XxlJob注解扫描升级后原有基于XxlJob的任务定义方式保持不变。启动并验证登录启动管理端运行 XxlJobAdminApplication。Docker 部署时对应 Dockerfile 会构建jeecg-cloud-xxljob-3.9.3.jar并监听 9080 端口。浏览器访问新地址http://localhost:9080/。使用 UPGRADE-3.9.3.md 给出的默认账号admin/123456登录。登录成功即说明两件事都完成了新库结构可用xxl_job_user表按 3.x 结构建好并含有 SHA-256 密码的管理员记录xxl-sso认证框架接管了登录流程。登录页与登录后界面中应能看到建表脚本插入的示例执行器与示例任务可据此确认数据导入无误。限制与边界老库必须先行备份脚本不会自动迁移数据任务、执行器等配置全部靠手工迁移。建表脚本含DROP TABLE IF EXISTS对旧库直接执行会先删表脚本插入的执行器、任务、用户记录是示例数据。老地址http://localhost:9080/xxl-job-admin在 3.9.3 中已不存在脚本或文档里如有引用需改为http://localhost:9080/。XXL-JOB 3.x 与 Nacos 3.x 一样不自动建表如果同时升级了 Nacos其建表脚本db/tables_nacos.sql同样需要手动导入。【免费下载链接】jeecg-boot【低代码v2.0一句话即可生成整个系统】企业级AI低代码平台一键生成前后端代码甚至整个系统。 AI Skills 一句话画流程、设计表单、生成报表、大屏。内置 AI应用平台涵盖AI聊天、知识库、流程编排、MCP插件等兼容主流大模型。引领AI低代码「Skills 生成 → 在线配置 → 代码生成 → 手工合并-AI修改」开发模式解决 Java 项目 90% 重复工作提高效率又不失灵活。项目地址: https://gitcode.com/GitHub_Trending/je/jeecg-boot创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表