刘光辉
昨天 bb638871a7fb692d80f1b7a758f991dc0879002c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# 平台聚合服务:原 9 个平台服务的 application.yml 合并为这一份。
# 本文件是 9 份的**并集**,逐条来源见下方注释;合并纪律见 tasks/todo.md「当前任务」章。
 
spring:
  application:
    name: jnpf-platform
  # 来源:system / visualdev(其余 7 个模块无此段,取并集)
  servlet:
    multipart:
      max-file-size: 100MB
      max-request-size: 100MB
      enabled: true
  mvc:
    servlet:
      load-on-startup: 0
  main:
    allow-bean-definition-overriding: true
    allow-circular-references: true
  # ⚠️ 刻意**不设** spring.profiles.active。
  # 原 app 写 `active: test`、permission 写 `active: dev`,但全仓库既无任何
  # application-{profile}.yml,也无一处 @Profile 注解——那两行是指向不存在 profile 的死配置。
  # 合并时若照抄其一,等于凭空造出一个"看起来有环境区分、实则什么都不做"的假语义。
  config:
    # 补丁 #8:配置来源 = 仓库 config/(镜像内 /config,经 JNPF_CONFIG_DIR 指向)。
    # file:(非 optional)= 缺文件启动即失败,防静默半配置;host-override 是宿主栈
    # 专用覆盖(容器内不存在,optional 落空跳过)。
    # 下列 9 条是 9 个平台模块 config.import 的并集:前 7 条人人都有,
    # socials.yaml / sso.yaml 原本只有 permission 声明(第三方登录与单点登录配置)。
    import:
      - file:${JNPF_CONFIG_DIR:config}/shared/datasource.yaml
      - file:${JNPF_CONFIG_DIR:config}/shared/resources.yaml
      - file:${JNPF_CONFIG_DIR:config}/shared/system-config.yaml
      - file:${JNPF_CONFIG_DIR:config}/shared/frame-config.yaml
      - file:${JNPF_CONFIG_DIR:config}/shared/logger.yaml
      - file:${JNPF_CONFIG_DIR:config}/shared/mq.yaml
      - file:${JNPF_CONFIG_DIR:config}/shared/socials.yaml
      - file:${JNPF_CONFIG_DIR:config}/shared/sso.yaml
      - file:${JNPF_CONFIG_DIR:config}/shared/discovery.yaml
      - optional:file:${JNPF_CONFIG_DIR:config}/host-override/discovery.yaml
 
# 应用服务器
server:
  # 沿用 jnpf-system 的 30002:并入的 9 个服务名在 discovery.yaml 里全部别名到这里,
  # 用占比最大的模块的端口,能少改一条 discovery 记录。
  port: 30002
  tomcat:
    uri-encoding: UTF-8
    threads:
      # 🔴 合并后必须调大(默认 200)。60 个 @FeignClient 全走 lb://,聚合后它们解析到
      # **本进程自己**——一次请求进来占一个 tomcat 线程,其内部 Feign 回调自身再占第二个。
      # 链路越深占用越多,线程池打满时会自锁(请求都在等自己发出的那一跳)。
      # 企业内网低并发下 400 足够;真要根治得把 Feign 换成进程内直调,那是后续独立议题。
      max: 400
      min-spare: 20
 
management:
  endpoints:
    web:
      exposure:
        include: '*'
  endpoint:
    health:
      show-details: always
    # 开启在线日志查看功能
    # Spring Boot 3.4 起 management.endpoint.*.enabled 换成 access(none/read-only/unrestricted);
    # 旧键位不是简单改名而是「目标类型不兼容」,properties-migrator 迁不了、只能每次启动刷 ERROR。
    # lims / biz-common 早已是新写法,聚合时这份漏了(2026-08-11 补齐)。
    logfile:
      access: unrestricted