如何跳出springboot的service层中某一个方法?

有一个需求,就是中断某个方法中的for循环

目前的做法是:for循环中,增加if判断,如果满足条件就return,会中断这个方法

for (int i = 0; i < totalIndex; i++) {
......
           // 发送之前,判断一下任务状态,如果是暂停或者停止,直接return?
            FileInfo newFileInfo = fileInfoRepository.findById(fileInfo.getFileId()).get();
            Integer fileState = newFileInfo.getFileState();
            if (fileState == 4 || fileState == 5) {
                return;
            }
......
}

当然,在这个过程中遇到了一些问题,比如去数据库查询fileState的值时,我原本想获得最新的值,但是由于jpa的缓存,获取不到实时的值,

有一个关键的配置:spring.jpa.open-in-view=false     

参考:https://blog.csdn.net/qq_30737525/article/details/109092491

还有个问题,就是在调试的时候,如果故意卡住在这个方法中,调用这个类中的其他方法,会报超时

posted @ 2021-12-07 11:14  袁骞骞  阅读(82)  评论(0编辑  收藏  举报