- application.yml:notice.flow.callback-path 由过期的 /callback/flow 改回 /oapi/notice/flow/callback(/callback/* 已随 X-Flw-* 过滤器下线,旧值会让本地注册的 回调地址 404);新增 yh.open.services.flowcenter,删 notice.flow.base-url。 - NoticeFlowProperties.baseUrl 默认值去掉(localhost:8085 静默回落是隐患); FlowCenterClient 在 enabled=true 且「目录与 legacy 键都缺」时构造期 fail-fast (enabled=false 不校验——显式未接入本就不需要地址)。 - 测试:新增 NoticeFlowCallbackConfigContractTest(反射拼控制器映射,冻结 callback-path/callback-base-path 与控制器/Runtime ctx 的咬合);FlowCenterClientTest 补 fail-fast 与 disabled 两态。68 测试全绿。
This commit is contained in:
@@ -58,6 +58,15 @@ public class FlowCenterClient implements FlowClient {
|
||||
if (directoryResolved) {
|
||||
com.yunhai.platform.openapi.flow.YschFlowOpenApi.setCall(call);
|
||||
}
|
||||
String legacy = properties.getBaseUrl() == null ? "" : properties.getBaseUrl().trim();
|
||||
if (properties.isEnabled() && !directoryResolved && legacy.isEmpty()) {
|
||||
// 目录未配且 legacy 键也空:构造期 fail-fast(本键已无默认值),
|
||||
// 避免静默打 localhost 把"地址没配"伪装成"流程中心不可达"。
|
||||
// enabled=false(显式未接入)时不校验——地址本就不需要。
|
||||
throw new IllegalStateException("流程中心调用地址未配置:请配置服务目录 yh.open.services."
|
||||
+ com.yunhai.platform.openapi.core.PlatformService.FLOWCENTER.key()
|
||||
+ "(推荐,容器直连完整 URL)或回落键 notice.flow.base-url");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -15,8 +15,13 @@ public class NoticeFlowProperties {
|
||||
/** 是否接入流程中心(false=编辑页选择器隐藏、FlowClient 全部抛业务异常降级) */
|
||||
private boolean enabled = true;
|
||||
|
||||
/** flow-center 基址(Tier 0 目标;本地 http://localhost:8085,生产由 projman 注入) */
|
||||
private String baseUrl = "http://localhost:8085";
|
||||
/**
|
||||
* flow-center 基址的 <b>legacy 回落</b>(Tier 0 ad-hoc TargetSpec 路径)。
|
||||
* 主路径是服务目录 {@code yh.open.services.flowcenter} → {@code YschFlowOpenApi} 门面;
|
||||
* 本键仅迁移期兼容,<b>不再给默认值</b>——两者都空时 {@code FlowCenterClient} 构造期
|
||||
* fail-fast,避免静默打 localhost 把"地址没配"伪装成"流程中心不可达"。
|
||||
*/
|
||||
private String baseUrl = "";
|
||||
|
||||
/**
|
||||
* 本应用对外可达基址(回调注册用):flow-center 探活与事件推送都打这里。
|
||||
|
||||
@@ -54,11 +54,14 @@ sms:
|
||||
notice:
|
||||
flow:
|
||||
enabled: true
|
||||
# flow-center 基址(Tier 0 目标,裸地址直连 base-path 空)
|
||||
base-url: http://localhost:8085
|
||||
# flow-center 地址不再单独配置:见上方 yh.open.services.flowcenter(SDK 门面 YschFlowOpenApi)。
|
||||
# legacy 回落键 notice.flow.base-url 已删,且代码侧不再给默认值——两者都缺时启动即失败
|
||||
# (构造期 fail-fast),不静默打 localhost。
|
||||
# 本应用对外可达基址(flow-center 回调探活/事件推送打这里;本地=后端直连端口)
|
||||
callback-base: http://localhost:8101
|
||||
callback-path: /callback/flow
|
||||
# 回调端点:必须与 OapiFlowCallbackController 映射一致(/callback/* 已随 X-Flw-* 过滤器下线,
|
||||
# 旧值会让本地注册的回调地址 404)。不变式由 NoticeFlowCallbackConfigContractTest 冻结。
|
||||
callback-path: /oapi/notice/flow/callback
|
||||
# Notice 前端基址(apply bizUrl 拼接,审批人点击跳回通知详情)
|
||||
front-base-url: http://localhost:8077
|
||||
# 短信到点补发调度(§3.2 修 BP-R5-2):fixedDelay 5min,扫"已发布+要短信+未发过+已到点"
|
||||
@@ -95,6 +98,10 @@ yh:
|
||||
open:
|
||||
# 四域服务目录零配置:userbase/userclass/usermsg/flowcenter 枚举兜底 = base-host + 默认 ctx
|
||||
base-host: http://base.yunhaixingtong.com
|
||||
# flowcenter 显式指向本地流程中心(默认枚举兜底会打 base 域网关,网关无 /oapi 路由);
|
||||
# 生产改容器直连 http://flow-center-service:10008/flow-center(projman 注入)。
|
||||
services:
|
||||
flowcenter: http://localhost:8085
|
||||
# env-config 前端运行时配置(免登录 GET /api/env-config?target=front,数据源见
|
||||
# config/PropertyEnvConfigSource:聚合 starter 自动装配,有 bean 即注册端点)。
|
||||
# 本地无需配值(前端 dev 走 .env.dev);线上值经环境变量 YH_ENV_CONFIG_SOURCE_FRONT
|
||||
|
||||
Reference in New Issue
Block a user