- 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 探活与事件推送都打这里。
|
||||
|
||||
Reference in New Issue
Block a user