jnpf-workflow-admin-1.0.0-RELEASE.jar = 官方 Flowable 7.0.1 引擎 + JNPF 定制层。
原为无源码黑盒 jar;**2026-07-17(任务 B)已反编译重建为仓库内自有源码工程 jnpf-flow-engine/**
(41 个 Java 类 + 官方 liquibase 4.27.0 源码打 3 处达梦补丁,详见 jnpf-flow-engine/README.md),
本镜像现打包该自有工程的构建产物,引擎侧 bug 可修、Flowable 版本可升。
REST 层:admin/controller/{Definition,Instance,Task}Controller(/api/Flow/* 27 端点)+admin/handle/GlobalExceptionHandler + admin/result/Result({success,code,msg,data} 包装)。
被 jnpf-flowable(30004) 经 config.FlowDomain(Nacos system-config.yaml,值 http://jnpf-infra:31000)
以固定 URL 直连调用(客户端代码见 jnpf-flowable-entity/.../FlowAbleUrl.java,19 个调用点)。
不能换官方 flowable-rest 镜像:调用的是上述自定义 API(路径+包装格式),与官方 REST API 不兼容。
自 2026-07-17(任务 B)起,jar 取自**自有源码工程** jnpf-flow-engine/(黑盒反编译重建,
可修可升,见 jnpf-flow-engine/README.md)。prepare-context.sh 取源规则:默认用自建产物jnpf-flow-engine/target/,**产物不存在直接报错、不静默降级黑盒**(以免交付机把黑盒当自建引擎误发)。
make flow-engine # = mvn -f jnpf-flow-engine/pom.xml clean package(构建自建产物)
docker/flow-engine/prepare-context.sh # 暂存 jar 到 context/(产物缺失会报错提示)
docker compose build cx-flow-engine # 在仓库根执行
# 以上三步等价于 `make prepare && docker compose build cx-flow-engine`
回滚到黑盒 jar(**必须显式**,脚本不再自动降级):FLOWAPI_JAR=~/Infra/jnpf/flowApi/jnpf-workflow-admin-1.0.0-RELEASE.jar ./prepare-context.sh。
conf/application-dev.yml 烧录进镜像 /opt/flow-engine/config/:数据源已切 PG 的 jnpf_flow 库FLOW_DB_URL / FLOW_DB_USER / FLOW_DB_PASSWORD31000:HTTP API + springdoc(/doc.html、/v3/api-docs)/v3/api-docs(无 actuator)docker save cx/flow-engine:1.0.0 | gzip > cx-flow-engine-1.0.0.tar.gz,现场 docker load(amd64)。
宿主 ~/Infra/jnpf/flowApi 保留作回滚锚点(其 application-dev.yml 仍指向远程 MySQL,
回滚时注意数据面在 PG/MySQL 间的一致性)。