#
vincentlu
8 天以前 12dc44ac1b5adca57a2a24fc3c1413c7e78cf9c6
#
3个文件已修改
23 ■■■■ 已修改文件
zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/KernelScheduler.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TrafficService.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TransferStationHandler.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-acs-manager/src/main/java/com/zy/acs/manager/core/scheduler/KernelScheduler.java
@@ -21,6 +21,7 @@
import org.springframework.context.event.EventListener;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import org.springframework.transaction.support.TransactionTemplate;
import javax.annotation.PreDestroy;
import java.util.ArrayList;
@@ -47,6 +48,8 @@
    private Thread actionPublicThread;
    @Autowired
    private TransactionTemplate txTemplate;
    @Autowired
    private AgvService agvService;
    @Autowired
@@ -119,15 +122,18 @@
                            .eq(Segment::getState, SegmentStateType.WAITING.toString())
                    );
                    for (Segment segment : segments) {
//                        long startTime = System.currentTimeMillis();
                        if (!transferStationHandler.hasDelayAtSta(segment)) {
                            trafficService.trigger(segment);
                            continue;
                        }
//                        log.info("traffic calculation spend {} ms", System.currentTimeMillis() - startTime);
                        try {
                            txTemplate.executeWithoutResult(status -> {
                                trafficService.trigger(segment);
                            });
                        } catch (Exception e) {
                            log.error("trigger fail segId={}", segment.getId(), e);
                        }
                    }
                } catch (Exception e) {
                    // todo test TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                    log.error("KernelScheduler.trafficCalcThread fail", e);
                }
            }
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TrafficService.java
@@ -287,6 +287,7 @@
            log.error("TrafficService.trigger", e);
            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
            throw new RuntimeException("trigger method caught an exception", e);
        }
    }
zy-acs-manager/src/main/java/com/zy/acs/manager/core/service/TransferStationHandler.java
@@ -52,12 +52,6 @@
     * 要做 ready-for-next
     */
    public boolean hasDelayAtSta(Segment currSeg) {
        // todo
        Sta sta = staService.selectByStaNo("1");
        sta.setOccCnt(sta.getOccCnt() + 1);
        staService.updateById(sta);
        if (currSeg == null) {
            throw new NullPointerException("segment is null in hasDelayAtSta.");
        }