From e43ada57f7ffdaf570c54b19316a7f0cacfaec1f Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期五, 27 三月 2026 12:21:59 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/thread/impl/station/StationSegmentExecutor.java |   13 +++++++++++++
 1 files changed, 13 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/zy/core/thread/impl/station/StationSegmentExecutor.java b/src/main/java/com/zy/core/thread/impl/station/StationSegmentExecutor.java
index 50ca80f..eca8680 100644
--- a/src/main/java/com/zy/core/thread/impl/station/StationSegmentExecutor.java
+++ b/src/main/java/com/zy/core/thread/impl/station/StationSegmentExecutor.java
@@ -196,6 +196,19 @@
                                          StationTaskTraceRegistry traceRegistry,
                                          Integer traceVersion,
                                          Integer currentStationId) {
+        // 鍦ㄤ笅鍙戞柊鍒嗘鍓嶆鏌ヨ矾鐢辩増鏈槸鍚︿粛鐒舵湁鏁堬紝閬垮厤鍦ㄨ矾鐢辩増鏈凡鏇存柊鐨勬儏鍐典笅涓嬪彂鏃х増鏈懡浠�
+        if (!isRouteDispatchable(command == null ? null : command.getTaskNo(), command == null ? null : command.getRouteVersion())) {
+            if (traceRegistry != null && command != null) {
+                traceRegistry.markCancelled(command.getTaskNo(), traceVersion, currentStationId,
+                        buildDetails("reason", "route_version_replaced_before_segment_send", "routeVersion", command.getRouteVersion()));
+            }
+            markCancelled(command == null ? null : command.getTaskNo(),
+                    command == null ? null : command.getRouteVersion(),
+                    currentStationId,
+                    "route_version_replaced_before_segment_send");
+            return false;
+        }
+        
         while (true) {
             SegmentSendResult sendResult = executeLockedSegmentSend(command, traceRegistry, traceVersion, currentStationId);
             if (sendResult == SegmentSendResult.CANCELLED) {

--
Gitblit v1.9.1