|
@@ -1,25 +1,14 @@
|
|
|
package com.gis.listener;
|
|
|
|
|
|
-import com.gis.constant.CmdConstant;
|
|
|
-import com.gis.constant.ConfigConstant;
|
|
|
import com.gis.constant.RabbitConfig;
|
|
|
-import com.gis.entity.FodderEntity;
|
|
|
-import com.gis.exception.BaseRuntimeException;
|
|
|
-import com.gis.mapper.FodderMapper;
|
|
|
import com.gis.service.FodderService;
|
|
|
-import com.gis.util.CmdUtils;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
-import org.junit.Test;
|
|
|
import org.slf4j.MDC;
|
|
|
import org.springframework.amqp.rabbit.annotation.RabbitHandler;
|
|
|
import org.springframework.amqp.rabbit.annotation.RabbitListener;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
-import java.io.PrintWriter;
|
|
|
-import java.io.StringWriter;
|
|
|
-import java.util.Date;
|
|
|
-import java.util.concurrent.*;
|
|
|
|
|
|
|
|
|
/**
|
|
@@ -31,8 +20,7 @@ import java.util.concurrent.*;
|
|
|
public class Fd720Listener {
|
|
|
|
|
|
|
|
|
-// @Autowired
|
|
|
-// FodderMapper fodderMapper;
|
|
|
+
|
|
|
|
|
|
@Autowired
|
|
|
FodderService fodderService;
|
|
@@ -54,7 +42,6 @@ public class Fd720Listener {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
|
|
|
-// processPano(param, traceId);
|
|
|
fodderService.doSlice(param, traceId);
|
|
|
|
|
|
|
|
@@ -62,80 +49,6 @@ public class Fd720Listener {
|
|
|
}
|
|
|
|
|
|
|
|
|
-// /**
|
|
|
-// * 切图会超时控制
|
|
|
-// * @param id
|
|
|
-// */
|
|
|
-// public void processPano(Long id, String traceId) {
|
|
|
-// MDC.put("TRACE_ID", traceId);
|
|
|
-//
|
|
|
-// log.info("切图流程开始 : " + id);
|
|
|
-// long start = System.currentTimeMillis();
|
|
|
-// FodderEntity entity = fodderMapper.findById(id);
|
|
|
-// if (entity == null) {
|
|
|
-// log.error("场景不存在: " + id);
|
|
|
-// // 直接结束,抛异常的话,会造成死循环,产生大量日志,而且队列也跑不下去
|
|
|
-// return;
|
|
|
-// }
|
|
|
-// String panoPath = entity.getFilePath();
|
|
|
-// String sceneCode = entity.getSceneCode();
|
|
|
-// String cmd = CmdConstant.PANO_KRPANO + panoPath;
|
|
|
-//
|
|
|
-//
|
|
|
-// // 超时处理机制
|
|
|
-// final ExecutorService exec = Executors.newFixedThreadPool(1);
|
|
|
-// Callable<String> call = new Callable<String>() {
|
|
|
-// @Override
|
|
|
-// public String call() throws Exception {
|
|
|
-// MDC.put("TRACE_ID", traceId);
|
|
|
-// CmdUtils.callLine(cmd, 200);
|
|
|
-// long end = System.currentTimeMillis();
|
|
|
-// log.info("切图完成耗时: {} s" ,(end-start)/1000);
|
|
|
-// log.warn("end processListener : "+ id);
|
|
|
-// return "执行完成";
|
|
|
-// }
|
|
|
-// };
|
|
|
-// // 超时回调
|
|
|
-// Future<String> future = exec.submit(call);
|
|
|
-// try {
|
|
|
-// String obj = future.get(10, TimeUnit.MINUTES); //任务处理超时时间设为 3分钟
|
|
|
-// entity.setStatus(3);
|
|
|
-// String tourXmlScene = fodderService.getTourXmlScene(sceneCode);
|
|
|
-// entity.setTour(tourXmlScene);
|
|
|
-// // 上传切图目录
|
|
|
-// // uploadOss(sceneCode);
|
|
|
-// fodderService.uploadOss(sceneCode);
|
|
|
-// log.info("任务成功返回: " + obj);
|
|
|
-// } catch (InterruptedException e) {
|
|
|
-// e.printStackTrace();
|
|
|
-// entity.setStatus(2);
|
|
|
-// StringWriter trace=new StringWriter();
|
|
|
-// log.error(trace.toString());
|
|
|
-// log.error("异常了 InterruptedException");
|
|
|
-// } catch (ExecutionException | BaseRuntimeException e) {
|
|
|
-// e.printStackTrace();
|
|
|
-// StringWriter trace=new StringWriter();
|
|
|
-// e.printStackTrace(new PrintWriter(trace));
|
|
|
-// log.error("超时了 1");
|
|
|
-// // 异常日志要打印,不然不会出现在日志文件中,只会出现在控制台
|
|
|
-// log.error(trace.toString());
|
|
|
-// entity.setStatus(2);
|
|
|
-// future.cancel(true);
|
|
|
-// } catch (TimeoutException e) {
|
|
|
-// e.printStackTrace();
|
|
|
-// StringWriter trace=new StringWriter();
|
|
|
-// e.printStackTrace(new PrintWriter(trace));
|
|
|
-// log.error("超时了 2");
|
|
|
-// log.error(trace.toString());
|
|
|
-// entity.setStatus(2);
|
|
|
-// future.cancel(true);
|
|
|
-// } finally {
|
|
|
-// entity.setUpdateTime(new Date());
|
|
|
-// fodderMapper.updateByPrimaryKey(entity);
|
|
|
-// log.info("切图流程, 更新数据库完成 : " + id);
|
|
|
-// }
|
|
|
-// log.info("切图流程结束 : " + id);
|
|
|
-// }
|
|
|
|
|
|
|
|
|
|