shangqi-拆分落库
2022-10-13 18:06:12   0  举报             
     
         
 shangqi-拆分落库
    作者其他创作
 大纲/内容
 继续遍历执行
  继续遍历执行,直到List<BlazeRequestLog> requestLogs全部遍历完成
  直接返回{code:\"S001\
    遍历进行一条一条的拆分
  @Transactional(propagation =Propagation.REQUIRES_NEW)
  更新本条记录的状态为“2:拆分完成”
  BlazeRequestLogService.updateSplited
  SplitorController.executeWithAppNo
  是
  结束
  SplitorController.execute
  根据业务单号查询决策结果报文信息注意:此处使用Thread.sleep保证在决策结果报文存入数据库(另外一个程序操作的)之后再去访问
  否
  数据库表 b style=\
  BlazeRequestLogService.batchUpdateSplited
  是否有数据
  nextstep“END”时进行拆分落库
  自动拆分落库
  校验业务单号appNo是否为空
  更新本条记录的状态为“-2:跳过”
  解析xml报文,拿到BlazeApplication实例
  BlazeSplitService.splitOne
  BlazeSplitJob.executeWithAppNo
  com/wiseco/onestop/lhcb/splitor/controller/SplitorController.java
  BlazeRequestLogMapper.queryByAppNo
  判断BlazeApplication是否为null
  AsyncBlazeSplitJob.splitRequestLogs
  BlazeRequestLogService.queryByAppNoWithDelayMilliseconds
  入库每个节点都需要入库
  是否有异常
  多线程操作,见注解:asyncSplitExecutor
  判断当前记录是否需要拆分
  请求数据
  @Transactional(propagation = Propagation.REQUIRED)更新拆分失败的这条记录的状态为“-1:拆分失败”
  结束本条记录的拆分
  手动/自动
  返回数据
  更新拆分失败的这条记录的状态为“-1:拆分失败”
  数据库表 blaze_request_log对应实体类 BlazeRequestLog拆分状态为SPLITED = 0,未开始查出来的结果是一个ListList<BlazeRequestLog> queryByAppNo(@Param(\"appNo\")String appNo);
   
 
 
 
 
  0 条评论
 下一页
  
   
   
   
  
  
  
  
  
  
  
  
 