# 应用服务器 server: tomcat: uri-encoding: UTF-8 #tomcat编码 port: 31000 # ═════════════════════════════════════════════════════════════════════════════ # 这份是 **jar 内的出厂默认值**,只在「IDE 直跑源码 / java -jar 裸跑」时生效。 # 容器里它会被外部 config 覆盖:docker/flow-engine/conf/application-dev.yml # (Dockerfile 的 `COPY conf/ config/` 落在 WORKDIR 下,Spring Boot 外部 config/ # 优先级高于 jar 内 classpath,且是**按属性合并**——逐属性覆盖而非整体替换) # # 2026-08-03 改:原本是 JNPF 出厂的 MySQL 模板(jdbc:mysql://127.0.0.1:3306,root/123456)。 # 本项目 7-20 已整体迁到 PostgreSQL,那份默认值会让 IDE 直跑时**静默连到一个完全错误的库** # ——不报错,只是连错。这正是 2026-08-03「找不到流程模板,请重新发布该流程」故障的形状: # 宿主 flowApi 用着 MySQL 配置写了半个月,链路上没有任何一处报错,直到测试环境点不开流程。 # 注意本 jar 里 mysql-connector-j 与 postgresql 驱动**并存**,所以那份 MySQL 配置是真能连上的。 # # 故改为与实际拓扑一致的 PG,并遵守两条: # ① url 默认值用**容器服务名** cx-postgres(与 compose 默认一致)——不硬编码任何真实 IP, # 交付给客户的 jar 里不该出现我方地址;IDE 直跑时它解析不了,会明确报 # UnknownHostException 而不是静默连错库,提示开发者去配 FLOW_DB_URL。 # ② password **不给默认值**——缺了就启动失败(fail fast)。凭据见 .env.tencent(gitignored)。 # # ⚠️ 引擎库必须与业务库同源(同一个 PG 实例)。业务库 workflow_template.f_flowable_id # 跨库引用引擎库 act_re_deployment.id_,两者不同源 = 流程模板全线失效。 # 背景与实测数据:tasks/flow-engine-db-unify-plan.md # ═════════════════════════════════════════════════════════════════════════════ # 注意: # 若使用 PostgreSQL 默认 public 模式无需配置 database-schema;指定模式时才需要 #flowable: # database-schema: jnpf_flow spring: datasource: driver-class-name: org.postgresql.Driver # 【必须显式指定 type】本 jar 内 MySQL 与 PG 驱动并存;不显式声明时 # Spring Boot 会按 classpath 自动挑选,历史上出过「MySQL 驱动去连 postgresql:// URL」 # 的事故(详见 docker/flow-engine/conf/application-dev.yml 同位置注释)。 type: com.zaxxer.hikari.HikariDataSource url: ${FLOW_DB_URL:jdbc:postgresql://cx-postgres:5432/jnpf_flow} username: ${FLOW_DB_USER:jnpf_flow_app} # 无默认值 = 不注入就启动失败,绝不静默连到错误的库 password: ${FLOW_DB_PASSWORD} hikari: # 共享库、多环境并存,单机池要小(PG 角色 jnpf_flow_app 有 CONNECTION LIMIT 配额)。 # 容量预算见 docs/db-connection-pool-guide.md。 maximum-pool-size: 6 minimum-idle: 1 connection-timeout: 5000 # 库满时快速失败,不无限挂起拖垮 Flowable 采集线程 keepalive-time: 120000 # 空闲连接保活,防被 PG/防火墙静默断开 max-lifetime: 1800000 # 连接最长寿命 30min,定期轮换避免老化 # 其余数据库(MySQL / SQLServer / Oracle / 达梦 / KingbaseES)的出厂样例段已删除: # 本项目数据库拓扑已定为 PostgreSQL(docs/db-connection-pool-guide.md 是唯一权威), # 留着那些 127.0.0.1 的假配置只会成为「静默连错库」的诱饵。 # 需要时从 git 历史取回本文件 2026-08-03 之前的版本。