# ===================== 启动 banner 关闭(2026-08-11)===================== # 容器日志里这些 ASCII 艺术字没人看,还把真正有用的启动信息挤散。 # Spring Boot 自己的 banner 走 compose 的 SPRING_MAIN_BANNER_MODE=off(环境变量,全服务一处); # 下面两个是 ORM 框架各自打的,只能按各自的配置键关。gateway 不 import 本文件(无 ORM),无影响。 # # · mybatis-plus-join.banner ✅ **有效**,1.5.4 那个 banner 已消失 # · mybatis-plus.global-config.banner ❌ **本栈无效**,3.5.14 那个 banner 关不掉,原因见下 # # 🔴 为什么 MyBatis-Plus 那条无效(实测 + 反编译确认,别再花时间试): # jnpf-common-database 的 MybatisPlusConfig.createSqlSessionFactory() 里是 # `new GlobalConfig()`(banner 字段默认 true)再 setGlobalConfig(),**完全绕开**了 # MybatisPlusProperties 的属性绑定——本配置项在本栈根本没有消费者。 # 硬关的三条路都不划算:覆盖那个 23KB 的闭源配置类(含动态数据源/多租户/逻辑删除全套, # 平台一升级就失效)、BeanPostProcessor(拦不到,它在 @Bean 方法内部 new 出来直接 # getObject()、不经容器)、ENTRYPOINT 管道 grep(破坏日志实时性还吞退出码)。 # **保留这行**是因为它对上游原生形态是正确写法:将来平台若改回标准 # MybatisPlusAutoConfiguration,它会自动生效,届时不必再来一遍排查。 mybatis-plus: global-config: banner: false mybatis-plus-join: banner: false spring: cloud: sentinel: # 取消控制台懒加载 eager: true transport: dashboard: jnpf-infra:30098 log: dir: log/${spring.application.name}/sentinel # LOGGING日志等级, ALL, INFO, WARNING, SEVERE, OFF level: OFF # inetutils: # #填写多个网段或IP, 或者全部匹配的正则表达式 # preferred-networks: # - 192.168.0 # - 192.168.20 # ===================== AI配置-Start ===================== ai: openai: enabled: false # 超时时间, 秒, 根据AI平台性能调整超时时间 timeout: 300 # 每个用户限制时间内的请求次数 user-limit-count: 1 # 每个用户限制时间频率 user-limit-time: 3s # 全部请求限制时间内的请求次数 total-limit-count: 500 # 全部请求限制时间频率 total-limit-time: 1m # 阿里百联平台 api-host: https://dashscope.aliyuncs.com/compatible-mode/ api-key: chat: mode: qwen2.5-1.5b-instruct # GPT转发平台 # api-host: https://api.chatanywhere.tech/ # api-key: # chat: # mode: gpt-3.5-turbo # DeepSeek # api-host: https://api.deepseek.com/ # api-key: # chat: # mode: deepseek-chat # ===================== AI配置-End ===================== # SpringDoc接口文档 访问地址:http://127.0.0.1:30000/doc.html springdoc: api-docs: enabled: true #SpringDoc增强 #knife4j: # enable: true # basic: #接口文档访问鉴权 # enable: true # username: jnpf # password: 123456 lock4j: aop: # Lock4j注解是否启用 enabled: false feign: sentinel: enabled: true client: config: default: connectTimeout: 5000 readTimeout: 300000 httpclient: connection-timeout: 5000 seata: enabled: false # 补丁 #8:原 nacos 型 config/registry 子树已随 Nacos 移除。 # 将来若启用 seata,用 file 型注册配置重写本段(git 历史有原文)。 # dubbo 配置(补丁 #8:去注册中心,直连模式) dubbo: # 指定Dubbo服务实现类的包 scan: base-packages: jnpf.provider.impl protocols: dubbo: # 不配 host = Dubbo 默认绑 0.0.0.0(回环/局域网/容器路径全通)。 # 原 host: ${spring.cloud.client.ip-address} 会在多网卡宿主上强绑单一接口, # 消费端直连 127.0.0.1:20880 被拒(2026-08-06 宿主栈实测);直连模式下 # 通告地址无意义(registry N/A,地址由 @DubboReference url 显式给出),删之无副作用。 name: dubbo # jnpf-system 是核心栈唯一 provider,经 DUBBO_PROTOCOL_PORT=20880 固定端口 # (compose 的 cx-system 段 / start-all.sh 设置);其余服务无导出,保持 -1 不绑端口。 # 注意 ${VAR:-1} 中 ":-1" 是 Spring 占位符默认值语法,默认即 -1。 port: ${DUBBO_PROTOCOL_PORT:-1} registry: # 去注册中心:address=N/A 为 Dubbo 官方 registry-less 直连形态, # 消费端地址由 @DubboReference(url=...) 给出(jnpf-common-springaop,补丁 #8) address: N/A # 启动时不检查 consumer consumer: check: false application: name: dubbo-${spring.application.name} logger: slf4j # 检查允许序列化列表 # serialize-check-status: DISABLE # 检查序列化对象是否继承serializable # check-serializable: false