feat(config): 配置值非法无条件拒启,登记启动必需配置清单(ACM2-97)
- 新增 PipelineConfigCheck(@Context):退避档位/播种取值校验不再等 autostart(CLM-7、OPS-1) - OperationDayZoneCheck 扩展 cutoff-hour 0-23 校验 - reference.md 新增「启动必需配置与显式开关」:必需清单、缺值路径、显式开关与运行时故障的边界 - PipelinePropsBindingTest 补一致退避档位;补非法值/范围用例
This commit is contained in:
@@ -1,6 +1,5 @@
|
||||
package com.gzzn.omms.msgexchange
|
||||
|
||||
import com.gzzn.omms.msgexchange.config.PipelineProps
|
||||
import com.gzzn.omms.msgexchange.delivery.Dispatcher
|
||||
import com.gzzn.omms.msgexchange.ingress.InboxPoller
|
||||
import com.gzzn.omms.msgexchange.processing.Pump
|
||||
@@ -25,7 +24,6 @@ class PipelineLifecycle(
|
||||
private val pump: Pump,
|
||||
private val dispatcher: Dispatcher,
|
||||
private val jobRunner: JobRunner,
|
||||
private val props: PipelineProps,
|
||||
) {
|
||||
private val log = org.slf4j.LoggerFactory.getLogger(PipelineLifecycle::class.java)
|
||||
private val threads = mutableListOf<Thread>()
|
||||
@@ -40,9 +38,8 @@ class PipelineLifecycle(
|
||||
|
||||
private fun startIfNeeded() {
|
||||
if (started) return
|
||||
// 自检放在起线程之前:配置错位(例如退避表档位数与 max-attempts 不匹配、
|
||||
// 有一段退避永远走不到)必须让启动失败,而不是静默按错误参数长期运行。
|
||||
props.pipeline.validate()
|
||||
// 管道参数合法性已由 PipelineConfigCheck 在启动时无条件校验(CLM-7);
|
||||
// 这里只负责拉起循环线程。
|
||||
started = true
|
||||
threads += spawn("msgx-inbox-poller", poller::loop)
|
||||
threads += spawn("msgx-pump", pump::loop)
|
||||
|
||||
Reference in New Issue
Block a user