spring:
|
# redis单机模式
|
# 🔴 键位是 spring.data.redis 而非上游的 spring.redis(2026-08-11 收口):Spring Boot 3 起
|
# spring.redis.* 整体搬到 spring.data.redis.*。此前留在旧键位仍能连上,是靠依赖树里的
|
# spring-boot-properties-migrator 在运行时重映射兜着——那是「迁移期临时依赖」,不该长期承担
|
# 运行时职责;而且它对无替代键的 lettuce.pool.* 每次启动刷 4 条 ERROR,淹没真错误。
|
# 同时删掉了 lettuce pool 段:本栈连接层是 redisson-spring-boot-starter(3.52.0),
|
# 不读 lettuce 配置,连接池走 Redisson 默认(connectionPoolSize=64/minIdle=24 等),
|
# 那段配置在新旧键位下都是死的。
|
data:
|
redis:
|
#缓存库编号
|
database: 1
|
# 坐标走 env(与 PG 的 CUSTOMER_DB_HOST/PORT 同构):默认值 = 交付/本机形态(栈内 cx-redis 容器),
|
# 指 CVM 共享实例时在 .env 设 JNPF_REDIS_HOST=YOUR_DB_HOST + 对应客户端口(客户A 16432/客户B 16433,
|
# 端口=16431+N 与 PG 15431+N 尾数对齐;密码见 .env.tencent 对应客户段)
|
host: ${JNPF_REDIS_HOST:cx-redis}
|
port: ${JNPF_REDIS_PORT:6379}
|
# 密码走 env(compose x-cx-env 透传,值在 .env);默认值仅本机开发兜底。
|
# 交付环境务必在 .env 设强密码——本文件进 git,不许出现真实交付密码。
|
password: ${JNPF_REDIS_PASSWORD:jnpf_redis_2026} # 密码为空时,请将本行注释
|
timeout: 3000 #超时时间(单位:秒)
|
|
# redis集群模式(上游原样保留作对照;启用时同样要挂在 spring.data.redis 下)
|
# data:
|
# redis:
|
# cluster:
|
# nodes:
|
# - 192.168.0.225:6380
|
# - 192.168.0.225:6381
|
# - 192.168.0.225:6382
|
# - 192.168.0.225:6383
|
# - 192.168.0.225:6384
|
# - 192.168.0.225:6385
|
# password: 123456 # 密码为空时,请将本行注释
|
# timeout: 3000 # 超时时间(单位:秒)
|
|
|
# 数据源
|
datasource:
|
# 数据库类型(可选值 MySQL、SQLServer、Oracle、DM、KingbaseES、PostgreSQL,请严格按可选值填写)
|
db-type: PostgreSQL
|
db-name: jnpf_init
|
# 客户坐标:唯一开关,由各环境 .env 提供(docs/adr-multi-customer-db-isolation.md §3)。
|
# 引擎库 jnpf_flow 在 docker-compose.yml 里读同一对变量,两库必然同源——
|
# 结构上杜绝 2026-08-03「业务库切了引擎库没切」导致 44/49 流程报错的故障。
|
# 默认值 cx-postgres:5432 = 交付形态(PG 与业务服务在同一个 compose 栈内)。
|
host: ${CUSTOMER_DB_HOST:cx-postgres}
|
port: ${CUSTOMER_DB_PORT:5432}
|
# 账号密码同样走占位符:每个客户实例的角色密码不同,写死就得每切一个客户
|
# 进 Nacos 控制台改一次——那等于把「单一开关」又拆成两处。
|
# 值来自各环境 .env 的 JNPF_APP_DB_USER / JNPF_APP_DB_PASSWORD,由 compose 透传进容器。
|
username: ${JNPF_APP_DB_USER:jnpf_app}
|
password: ${JNPF_APP_DB_PASSWORD:jnpf_app_2026}
|
db-schema: #金仓达梦选填
|
prepare-url: #自定义url
|
# 表空间(当数据库为Oracle、达梦DM、金仓KingbaseES时表空间必须指定,其他数据库为空即可)
|
tablespace:
|
# 多数据源配置
|
dynamic:
|
seata: false
|
# 设置默认的数据源或者数据源组,默认值即为master
|
primary: master
|
# 严格匹配数据源,默认false. true未匹配到指定数据源时抛异常,false使用默认数据源
|
strict: true
|
druid:
|
# 空闲时执行连接测试
|
test-while-idle: true
|
# 连接测试最小间隔
|
time-between-eviction-runs-millis: 60000
|
# 获取连接等待3秒 根据网络情况设定
|
max-wait: 3000
|
# 初始化1个连接(多客户多实例后每实例只有 150 槽,见 adr-multi-customer-db-isolation §5)
|
initial-size: 1
|
# 最大5个连接(原 10:实测单服务 active 连接恒为 0、纯池空占;一套长跑栈 45→~25 连接)
|
max-active: 5
|
# 最少保持1个空闲连接(min-idle 是"永远保温"地板,×服务数×环境数即恒占)
|
min-idle: 1
|
# 空闲连接保活, 超过配置的空闲时间会进行连接检查完成保活操作(数据库自身会断开达到空闲时间的连接, 程序使用断开的连接会报错)
|
keep-alive: true
|
# 连接超时
|
connect-timeout: 10000
|
# 连接超时
|
socket-timeout: 10000
|
# 查询超时
|
query-timeout: 90000
|
# 事务查询超时
|
transaction-query-timeout: 90000
|
# 数据库转码
|
# proxy-filters: druidEncodingFilter
|
# connection-properties:
|
# clientEncoding: GB2312
|
# serverEncoding: windows-1252
|
# 解除注释后Druid连接池打印SQL语句 忽略日志等级配置
|
#filters: slf4j
|
slf4j:
|
statementLogEnabled: true
|
resultSetLogEnabled: false
|
connectionLogEnabled: false
|
dataSourceLogEnabled: false
|
statementCreateAfterLogEnabled: false
|
statementCloseAfterLogEnabled: false
|
statementExecuteAfterLogEnabled: false
|
#打印SQL替换参数
|
statementExecutableSqlLogEnable: true
|
statementPrepareAfterLogEnabled: false
|
statementPrepareCallAfterLogEnabled: false
|
statementParameterSetLogEnabled: false
|
# datasource:
|
# # 额外的数据源 Service类中使用DS动态切换
|
# SQLSERVER11:
|
# url: jdbc:mysql://192.168.0.30:3306/jnpf_project?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowMultiQueries=true&serverTimezone=GMT%2B8
|
# username: jnpf_project
|
# password: DsNnnYHscifFDfEZ
|
# driver-class-name: com.mysql.cj.jdbc.Driver
|