|
@@ -146,11 +146,12 @@ public class RabbitMqListener {
|
|
|
message.getResultReceiverMqName() : queueModelingPost;
|
|
|
buildSceneResult.setResultQueueName(resultQueueName);
|
|
|
ModelingBuildStatus status = null;
|
|
|
+ Future<ModelingBuildStatus> future = null;
|
|
|
try {
|
|
|
Map<String,Object> buildContext = new HashMap<>();
|
|
|
//计算前准备
|
|
|
preBuild(buildContext,message, buildLog);
|
|
|
- Future<ModelingBuildStatus> future = SysConstants.executorService.submit(() -> {
|
|
|
+ future = SysConstants.executorService.submit(() -> {
|
|
|
try {
|
|
|
return buildScene(buildContext,message, buildSceneResult,buildLog);
|
|
|
} catch (Exception e) {
|
|
@@ -167,6 +168,9 @@ public class RabbitMqListener {
|
|
|
} catch (TimeoutException ex) {
|
|
|
log.error("服务实例:{} 构建异常:",SysConstants.hostName,ex);
|
|
|
status = ModelingBuildStatus.OVERTIME;
|
|
|
+ log.info("释放线程");
|
|
|
+ //场景计算超时,需要中断当前执行任务,释放线程池中的任务线程,否则下个场景计算获取不到线程进行计算
|
|
|
+ future.cancel(true);
|
|
|
} catch (BuildException e){
|
|
|
status = e.getBuildStatus();
|
|
|
} catch(Exception e) {
|