JooLun Plus 百科 ⬇ 源码下载

04.25 SpringBoot4 升级收尾清单

102353 于 2026-10-17 14:14:33 +08:00 修改了此页面

Spring Boot 4 运行基线与验收清单

当前运行基线

截至 2026-07-13,当前项目固定运行基线如下:

  • JDK 17 LTS
  • Spring Boot 4.0.7
  • Spring Cloud 2025.1.2
  • Spring Cloud Alibaba 2025.1.0.0
  • Nacos 3.1.1
  • RocketMQ 5.3.2

运行状态要求

当前运行状态至少满足以下要求:

  • auth、gateway、upms 可以正常启动并完成后台登录
  • /v3/api-docs/swagger-config 可以正常访问
  • 10 个服务在当前连接池配置下可以稳定启动
  • Elasticsearch 商品初始化可以正常执行
  • RocketMQ 发送和消费链路至少完成一次验证
  • 常用后台页面和商城核心接口运行正常

环境基线

运行前应满足:

  • JDK 使用 17
  • Nacos 已启动且本地 hosts 已配置
  • MySQL 已启动,业务库与配置库可连接
  • Redis 已启动
  • Elasticsearch 已启动
  • RocketMQ NameServer 与 Broker 已启动,版本为 5.3.2

配置基线

当前固定保留的关键配置如下:

  • spring.datasource.dynamic.lazy: false
  • spring.datasource.dynamic.hikari.minimum-idle: 0
  • spring.datasource.dynamic.hikari.maximum-pool-size: 20
  • spring.datasource.dynamic.hikari.idle-timeout: 60000
  • 动态租户库连接池单独收紧:
  • spring.datasource.sharding.minimum-idle: 0
  • spring.datasource.sharding.idle-timeout: 60000
  • spring.datasource.sharding.lazy: true

内部鉴权最终配置要求如下:

  • security.oauth2.client.inside.* 只需要放在所有服务都会加载到的公共配置中,不需要每个服务单独配置
  • security.oauth2.client.inside.client-id: internal-service
  • security.oauth2.client.inside.client-secret: internal-service
  • security.oauth2.client.inside.scope: server
  • security.oauth2.client.inside-allowed-client-ids 包含 internal-service
  • 各业务服务不再配置顶层 client-id、client-secret 和 scope,内部调用客户端仅使用 internal-service
  • 如果公共 inside.* 配置缺失,服务会在启动阶段直接报错

内部鉴权基线

当前服务间 Feign 内部调用以专用内部客户端为统一标准:

  • 内部 token 客户端固定为 internal-service
  • 内部调用客户端仅使用 internal-service
  • from=Y 仅作为内部调用标记,不作为放行依据
  • @Inside 接口仅接受有效的内部 client_credentials bearer token
  • joolun-auth 使用客户端详情缓存空间 public:client:details#300

数据与运行要求如下:

  • sys_oauth_client 表中存在 internal-service
  • internal-service 授权方式包含 client_credentials
  • 服务间调用日志中的内部 token 申请客户端为 internal-service

服务清单

当前后台服务清单如下:

  1. joolun-auth
  2. joolun-upms-admin
  3. joolun-gateway
  4. joolun-monitor
  5. joolun-codegen
  6. joolun-weixin-admin
  7. joolun-mall-admin
  8. joolun-mall-api
  9. joolun-pay-admin
  10. joolun-live-admin

说明:当前 plus 基础框架不包含 supplier 与 open_* 服务。


最小业务验收

认证与网关

  • 后台登录页可以正常登录
  • 登录后菜单、权限、用户信息接口返回正常
  • 网关转发常用后台接口无 404、无 5xx

Swagger / Knife4j

  • 网关聚合文档页可打开
  • /v3/api-docs/swagger-config 返回正常
  • 至少抽查 auth、upms、mall-admin 三个服务文档

数据源与数据库

  • 所有服务均可稳定启动,数据库连接数保持在容量预算内
  • 代码生成器可以正常启动并连接数据库
  • 后台基础增删改查功能至少抽查一轮

商城链路

  • mall-admin 后台可进入主要页面
  • mall-api 常用接口可访问
  • 订单、用户、商品相关核心接口至少抽查一轮

Elasticsearch

  • 初始化 ES 商品数据接口可执行
  • ES 查询或同步链路至少跑通一次

RocketMQ

  • 至少验证一次消息发送
  • 至少验证一次消息消费
  • 消费日志中无序列化或客户端版本不兼容异常

分布式锁

  • 至少验证一次涉及 @Klock 的业务写操作
  • 重点关注用户、优惠券、商品库存、支付回调等已有锁场景

组件与实现基线

当前项目采用以下组件与实现基线:

  • 数据源连接池统一使用 Hikari
  • Swagger 网关聚合实现兼容 Spring Framework 7
  • Elasticsearch Java Client 使用独立的 Jackson 兼容配置
  • RocketMQ 使用 starter 2.3.6 + client 5.3.2
  • Klock 使用 1.5-RELEASE
  • aspectjweaver 使用 1.9.25
  • mybatis-plus-join 使用 1.5.7
  • mysql-connector-j 版本由 Spring Boot BOM 管理
  • 内部 Feign 调用统一使用 internal-service OAuth2 客户端

当前未纳入固定运行基线的组件

以下组件当前不属于固定运行基线的一部分:

  • Jasypt
  • XXL-JOB
  • 微信 SDK
  • OSHI
  • MinIO

参考文档