diff --git a/orion-ops-framework/orion-ops-framework-common/src/main/java/com/orion/ops/framework/common/constant/FieldConst.java b/orion-ops-framework/orion-ops-framework-common/src/main/java/com/orion/ops/framework/common/constant/FieldConst.java index 85f0cfa6..14d1af00 100644 --- a/orion-ops-framework/orion-ops-framework-common/src/main/java/com/orion/ops/framework/common/constant/FieldConst.java +++ b/orion-ops-framework/orion-ops-framework-common/src/main/java/com/orion/ops/framework/common/constant/FieldConst.java @@ -29,6 +29,8 @@ public interface FieldConst { String STATUS = "status"; + String INFO = "info"; + String REL_ID = "relId"; String BEFORE = "before"; diff --git a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/config/AssetWebSocketConfiguration.java b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/config/AssetWebSocketConfiguration.java index 518498b1..197ae68f 100644 --- a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/config/AssetWebSocketConfiguration.java +++ b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/config/AssetWebSocketConfiguration.java @@ -1,7 +1,9 @@ package com.orion.ops.module.asset.config; -import com.orion.ops.module.asset.handler.host.transfer.TransferMessageDispatcher; +import com.orion.ops.module.asset.handler.host.exec.log.handler.ExecLogTailHandler; import com.orion.ops.module.asset.handler.host.terminal.TerminalMessageDispatcher; +import com.orion.ops.module.asset.handler.host.transfer.TransferMessageDispatcher; +import com.orion.ops.module.asset.interceptor.ExecLogTailInterceptor; import com.orion.ops.module.asset.interceptor.TerminalAccessInterceptor; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Configuration; @@ -26,12 +28,18 @@ public class AssetWebSocketConfiguration implements WebSocketConfigurer { @Resource private TerminalAccessInterceptor terminalAccessInterceptor; + @Resource + private ExecLogTailInterceptor execLogTailInterceptor; + @Resource private TerminalMessageDispatcher terminalMessageDispatcher; @Resource private TransferMessageDispatcher transferMessageDispatcher; + @Resource + private ExecLogTailHandler execLogTailHandler; + @Override public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) { // 终端 @@ -42,6 +50,10 @@ public class AssetWebSocketConfiguration implements WebSocketConfigurer { registry.addHandler(transferMessageDispatcher, prefix + "/host/transfer/{accessToken}") .addInterceptors(terminalAccessInterceptor) .setAllowedOrigins("*"); + // 执行日志 + registry.addHandler(execLogTailHandler, prefix + "/exec/log/{token}") + .addInterceptors(execLogTailInterceptor) + .setAllowedOrigins("*"); } } diff --git a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/exec/ExecTaskExecutors.java b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/exec/command/ExecTaskExecutors.java similarity index 64% rename from orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/exec/ExecTaskExecutors.java rename to orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/exec/command/ExecTaskExecutors.java index 57884cec..41427285 100644 --- a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/exec/ExecTaskExecutors.java +++ b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/exec/command/ExecTaskExecutors.java @@ -1,8 +1,8 @@ -package com.orion.ops.module.asset.handler.host.exec; +package com.orion.ops.module.asset.handler.host.exec.command; import com.orion.ops.module.asset.define.AssetThreadPools; -import com.orion.ops.module.asset.handler.host.exec.dto.ExecCommandDTO; -import com.orion.ops.module.asset.handler.host.exec.handler.ExecTaskHandler; +import com.orion.ops.module.asset.handler.host.exec.command.dto.ExecCommandDTO; +import com.orion.ops.module.asset.handler.host.exec.command.handler.ExecTaskHandler; /** * 批量执行命令执行器 diff --git a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/exec/dto/ExecCommandDTO.java b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/exec/command/dto/ExecCommandDTO.java similarity index 91% rename from orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/exec/dto/ExecCommandDTO.java rename to orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/exec/command/dto/ExecCommandDTO.java index 40edb110..c2447c9b 100644 --- a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/exec/dto/ExecCommandDTO.java +++ b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/exec/command/dto/ExecCommandDTO.java @@ -1,4 +1,4 @@ -package com.orion.ops.module.asset.handler.host.exec.dto; +package com.orion.ops.module.asset.handler.host.exec.command.dto; import io.swagger.v3.oas.annotations.media.Schema; import lombok.AllArgsConstructor; diff --git a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/exec/dto/ExecCommandHostDTO.java b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/exec/command/dto/ExecCommandHostDTO.java similarity index 92% rename from orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/exec/dto/ExecCommandHostDTO.java rename to orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/exec/command/dto/ExecCommandHostDTO.java index 814a018b..03f299d4 100644 --- a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/exec/dto/ExecCommandHostDTO.java +++ b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/exec/command/dto/ExecCommandHostDTO.java @@ -1,4 +1,4 @@ -package com.orion.ops.module.asset.handler.host.exec.dto; +package com.orion.ops.module.asset.handler.host.exec.command.dto; import io.swagger.v3.oas.annotations.media.Schema; import lombok.AllArgsConstructor; diff --git a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/exec/handler/ExecCommandHandler.java b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/exec/command/handler/ExecCommandHandler.java similarity index 97% rename from orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/exec/handler/ExecCommandHandler.java rename to orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/exec/command/handler/ExecCommandHandler.java index ce4665d8..d31e5611 100644 --- a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/exec/handler/ExecCommandHandler.java +++ b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/exec/command/handler/ExecCommandHandler.java @@ -1,4 +1,4 @@ -package com.orion.ops.module.asset.handler.host.exec.handler; +package com.orion.ops.module.asset.handler.host.exec.command.handler; import com.alibaba.fastjson.JSON; import com.orion.lang.exception.AuthenticationException; @@ -13,7 +13,7 @@ import com.orion.ops.framework.common.file.FileClient; import com.orion.ops.module.asset.dao.ExecHostLogDAO; import com.orion.ops.module.asset.entity.domain.ExecHostLogDO; import com.orion.ops.module.asset.enums.ExecHostStatusEnum; -import com.orion.ops.module.asset.handler.host.exec.dto.ExecCommandHostDTO; +import com.orion.ops.module.asset.handler.host.exec.command.dto.ExecCommandHostDTO; import com.orion.ops.module.asset.service.HostTerminalService; import com.orion.spring.SpringHolder; import lombok.Getter; diff --git a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/exec/handler/ExecTaskHandler.java b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/exec/command/handler/ExecTaskHandler.java similarity index 89% rename from orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/exec/handler/ExecTaskHandler.java rename to orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/exec/command/handler/ExecTaskHandler.java index af1e52ac..9a761a86 100644 --- a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/exec/handler/ExecTaskHandler.java +++ b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/exec/command/handler/ExecTaskHandler.java @@ -1,4 +1,4 @@ -package com.orion.ops.module.asset.handler.host.exec.handler; +package com.orion.ops.module.asset.handler.host.exec.command.handler; import com.orion.lang.support.timeout.TimeoutChecker; import com.orion.lang.utils.Threads; @@ -9,9 +9,9 @@ import com.orion.ops.module.asset.dao.ExecLogDAO; import com.orion.ops.module.asset.define.AssetThreadPools; import com.orion.ops.module.asset.entity.domain.ExecLogDO; import com.orion.ops.module.asset.enums.ExecStatusEnum; -import com.orion.ops.module.asset.handler.host.exec.dto.ExecCommandDTO; -import com.orion.ops.module.asset.handler.host.exec.dto.ExecCommandHostDTO; -import com.orion.ops.module.asset.handler.host.exec.manager.ExecManager; +import com.orion.ops.module.asset.handler.host.exec.command.dto.ExecCommandDTO; +import com.orion.ops.module.asset.handler.host.exec.command.dto.ExecCommandHostDTO; +import com.orion.ops.module.asset.handler.host.exec.command.manager.ExecTaskManager; import com.orion.spring.SpringHolder; import lombok.Getter; import lombok.extern.slf4j.Slf4j; @@ -32,7 +32,7 @@ public class ExecTaskHandler implements IExecTaskHandler { private static final ExecLogDAO execLogDAO = SpringHolder.getBean(ExecLogDAO.class); - private static final ExecManager execManager = SpringHolder.getBean(ExecManager.class); + private static final ExecTaskManager EXEC_TASK_MANAGER = SpringHolder.getBean(ExecTaskManager.class); private final ExecCommandDTO execCommand; @@ -50,7 +50,7 @@ public class ExecTaskHandler implements IExecTaskHandler { public void run() { Long id = execCommand.getLogId(); // 添加任务 - execManager.addTask(id, this); + EXEC_TASK_MANAGER.addTask(id, this); log.info("ExecTaskHandler.run start id: {}", id); // 更新状态 this.updateStatus(ExecStatusEnum.RUNNING); @@ -68,7 +68,7 @@ public class ExecTaskHandler implements IExecTaskHandler { // 释放资源 Streams.close(this); // 移除任务 - execManager.removeTask(id); + EXEC_TASK_MANAGER.removeTask(id); } } diff --git a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/exec/handler/IExecCommandHandler.java b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/exec/command/handler/IExecCommandHandler.java similarity index 89% rename from orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/exec/handler/IExecCommandHandler.java rename to orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/exec/command/handler/IExecCommandHandler.java index 4932221d..921cba9f 100644 --- a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/exec/handler/IExecCommandHandler.java +++ b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/exec/command/handler/IExecCommandHandler.java @@ -1,4 +1,4 @@ -package com.orion.ops.module.asset.handler.host.exec.handler; +package com.orion.ops.module.asset.handler.host.exec.command.handler; import com.orion.lang.able.SafeCloseable; import com.orion.ops.module.asset.enums.ExecHostStatusEnum; diff --git a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/exec/handler/IExecTaskHandler.java b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/exec/command/handler/IExecTaskHandler.java similarity index 85% rename from orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/exec/handler/IExecTaskHandler.java rename to orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/exec/command/handler/IExecTaskHandler.java index d67550b0..21e43250 100644 --- a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/exec/handler/IExecTaskHandler.java +++ b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/exec/command/handler/IExecTaskHandler.java @@ -1,4 +1,4 @@ -package com.orion.ops.module.asset.handler.host.exec.handler; +package com.orion.ops.module.asset.handler.host.exec.command.handler; import com.orion.lang.able.SafeCloseable; diff --git a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/exec/manager/ExecManager.java b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/exec/command/manager/ExecTaskManager.java similarity index 81% rename from orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/exec/manager/ExecManager.java rename to orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/exec/command/manager/ExecTaskManager.java index 2186c0ac..b9ed8f8e 100644 --- a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/exec/manager/ExecManager.java +++ b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/exec/command/manager/ExecTaskManager.java @@ -1,6 +1,6 @@ -package com.orion.ops.module.asset.handler.host.exec.manager; +package com.orion.ops.module.asset.handler.host.exec.command.manager; -import com.orion.ops.module.asset.handler.host.exec.handler.IExecTaskHandler; +import com.orion.ops.module.asset.handler.host.exec.command.handler.IExecTaskHandler; import org.springframework.stereotype.Component; import java.util.concurrent.ConcurrentHashMap; @@ -13,7 +13,7 @@ import java.util.concurrent.ConcurrentHashMap; * @since 2024/3/13 11:20 */ @Component -public class ExecManager { +public class ExecTaskManager { private final ConcurrentHashMap execTasks = new ConcurrentHashMap<>(); diff --git a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/exec/log/handler/ExecLogTailHandler.java b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/exec/log/handler/ExecLogTailHandler.java new file mode 100644 index 00000000..ccefa54e --- /dev/null +++ b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/handler/host/exec/log/handler/ExecLogTailHandler.java @@ -0,0 +1,49 @@ +package com.orion.ops.module.asset.handler.host.exec.log.handler; + +import com.orion.ops.framework.common.constant.ExtraFieldConst; +import com.orion.ops.framework.websocket.core.utils.WebSockets; +import com.orion.ops.module.asset.entity.dto.ExecLogTailDTO; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; +import org.springframework.web.socket.CloseStatus; +import org.springframework.web.socket.TextMessage; +import org.springframework.web.socket.WebSocketSession; +import org.springframework.web.socket.handler.AbstractWebSocketHandler; + +/** + * 执行日志查看处理器 + * + * @author Jiahang Li + * @version 1.0.0 + * @since 2024/3/18 18:38 + */ +@Slf4j +@Component +public class ExecLogTailHandler extends AbstractWebSocketHandler { + + @Override + public void afterConnectionEstablished(WebSocketSession session) { + log.info("ExecLogTailHandler-afterConnectionEstablished id: {}", session.getId()); + // 获取参数 + ExecLogTailDTO info = WebSockets.getAttr(session, ExtraFieldConst.INFO); + + + } + + @Override + protected void handleTextMessage(WebSocketSession session, TextMessage message) { + } + + @Override + public void handleTransportError(WebSocketSession session, Throwable exception) { + log.error("ExecLogTailHandler-handleTransportError id: {}", session.getId(), exception); + } + + @Override + public void afterConnectionClosed(WebSocketSession session, CloseStatus status) { + String id = session.getId(); + log.info("ExecLogTailHandler-afterConnectionClosed id: {}, code: {}, reason: {}", id, status.getCode(), status.getReason()); + // 关闭会话 + } + +} diff --git a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/interceptor/ExecLogTailInterceptor.java b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/interceptor/ExecLogTailInterceptor.java new file mode 100644 index 00000000..70322439 --- /dev/null +++ b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/interceptor/ExecLogTailInterceptor.java @@ -0,0 +1,51 @@ +package com.orion.ops.module.asset.interceptor; + +import com.orion.lang.utils.Urls; +import com.orion.ops.framework.common.constant.ExtraFieldConst; +import com.orion.ops.module.asset.entity.dto.ExecLogTailDTO; +import com.orion.ops.module.asset.service.ExecService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.http.server.ServerHttpRequest; +import org.springframework.http.server.ServerHttpResponse; +import org.springframework.stereotype.Component; +import org.springframework.web.socket.WebSocketHandler; +import org.springframework.web.socket.server.HandshakeInterceptor; + +import javax.annotation.Resource; +import java.util.Map; + +/** + * 执行日志拦截器 + * + * @author Jiahang Li + * @version 1.0.0 + * @since 2024/3/18 17:32 + */ +@Slf4j +@Component +public class ExecLogTailInterceptor implements HandshakeInterceptor { + + @Resource + private ExecService execService; + + @Override + public boolean beforeHandshake(ServerHttpRequest request, ServerHttpResponse response, WebSocketHandler wsHandler, Map attributes) { + // 获取 token + String token = Urls.getUrlSource(request.getURI().getPath()); + log.info("ExecLogTailInterceptor-beforeHandshake start token: {}", token); + // 获取日志数据 + ExecLogTailDTO info = execService.getExecLogTailInfo(token); + if (info == null) { + log.error("ExecLogTailInterceptor-beforeHandshake absent token: {}", token); + return false; + } + // 保存 + attributes.put(ExtraFieldConst.INFO, info); + return true; + } + + @Override + public void afterHandshake(ServerHttpRequest request, ServerHttpResponse response, WebSocketHandler wsHandler, Exception exception) { + } + +} diff --git a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/service/impl/ExecHostLogServiceImpl.java b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/service/impl/ExecHostLogServiceImpl.java index c001e44f..ed220ba2 100644 --- a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/service/impl/ExecHostLogServiceImpl.java +++ b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/service/impl/ExecHostLogServiceImpl.java @@ -9,9 +9,9 @@ import com.orion.ops.module.asset.convert.ExecHostLogConvert; import com.orion.ops.module.asset.dao.ExecHostLogDAO; import com.orion.ops.module.asset.entity.domain.ExecHostLogDO; import com.orion.ops.module.asset.entity.vo.ExecHostLogVO; -import com.orion.ops.module.asset.handler.host.exec.handler.IExecCommandHandler; -import com.orion.ops.module.asset.handler.host.exec.handler.IExecTaskHandler; -import com.orion.ops.module.asset.handler.host.exec.manager.ExecManager; +import com.orion.ops.module.asset.handler.host.exec.command.handler.IExecCommandHandler; +import com.orion.ops.module.asset.handler.host.exec.command.handler.IExecTaskHandler; +import com.orion.ops.module.asset.handler.host.exec.command.manager.ExecTaskManager; import com.orion.ops.module.asset.service.ExecHostLogService; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -36,7 +36,7 @@ public class ExecHostLogServiceImpl implements ExecHostLogService { private ExecHostLogDAO execHostLogDAO; @Resource - private ExecManager execManager; + private ExecTaskManager execTaskManager; @Override public List getExecHostLogList(Long logId) { @@ -74,7 +74,7 @@ public class ExecHostLogServiceImpl implements ExecHostLogService { Valid.notNull(record, ErrorMessage.DATA_ABSENT); // 中断 Optional.ofNullable(record.getLogId()) - .map(execManager::getTask) + .map(execTaskManager::getTask) .map(IExecTaskHandler::getHandlers) .flatMap(s -> s.stream() .filter(h -> h.getHostId().equals(record.getHostId())) diff --git a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/service/impl/ExecLogServiceImpl.java b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/service/impl/ExecLogServiceImpl.java index 59eed32c..87a72df3 100644 --- a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/service/impl/ExecLogServiceImpl.java +++ b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/service/impl/ExecLogServiceImpl.java @@ -18,8 +18,8 @@ import com.orion.ops.module.asset.entity.request.exec.ExecLogQueryRequest; import com.orion.ops.module.asset.entity.vo.ExecHostLogVO; import com.orion.ops.module.asset.entity.vo.ExecLogStatusVO; import com.orion.ops.module.asset.entity.vo.ExecLogVO; -import com.orion.ops.module.asset.handler.host.exec.handler.IExecTaskHandler; -import com.orion.ops.module.asset.handler.host.exec.manager.ExecManager; +import com.orion.ops.module.asset.handler.host.exec.command.handler.IExecTaskHandler; +import com.orion.ops.module.asset.handler.host.exec.command.manager.ExecTaskManager; import com.orion.ops.module.asset.service.ExecHostLogService; import com.orion.ops.module.asset.service.ExecLogService; import lombok.extern.slf4j.Slf4j; @@ -53,7 +53,7 @@ public class ExecLogServiceImpl implements ExecLogService { private ExecHostLogService execHostLogService; @Resource - private ExecManager execManager; + private ExecTaskManager execTaskManager; @Override public DataGrid getExecLogPage(ExecLogQueryRequest request) { @@ -226,7 +226,7 @@ public class ExecLogServiceImpl implements ExecLogService { */ private void interruptedTask(List idList) { idList.stream() - .map(execManager::getTask) + .map(execTaskManager::getTask) .filter(Objects::nonNull) .forEach(IExecTaskHandler::interrupted); } diff --git a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/service/impl/ExecServiceImpl.java b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/service/impl/ExecServiceImpl.java index d7be3c83..370b9452 100644 --- a/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/service/impl/ExecServiceImpl.java +++ b/orion-ops-module-asset/orion-ops-module-asset-service/src/main/java/com/orion/ops/module/asset/service/impl/ExecServiceImpl.java @@ -39,12 +39,12 @@ import com.orion.ops.module.asset.enums.ExecHostStatusEnum; import com.orion.ops.module.asset.enums.ExecSourceEnum; import com.orion.ops.module.asset.enums.ExecStatusEnum; import com.orion.ops.module.asset.enums.HostConfigTypeEnum; -import com.orion.ops.module.asset.handler.host.exec.ExecTaskExecutors; -import com.orion.ops.module.asset.handler.host.exec.dto.ExecCommandDTO; -import com.orion.ops.module.asset.handler.host.exec.dto.ExecCommandHostDTO; -import com.orion.ops.module.asset.handler.host.exec.handler.IExecCommandHandler; -import com.orion.ops.module.asset.handler.host.exec.handler.IExecTaskHandler; -import com.orion.ops.module.asset.handler.host.exec.manager.ExecManager; +import com.orion.ops.module.asset.handler.host.exec.command.ExecTaskExecutors; +import com.orion.ops.module.asset.handler.host.exec.command.dto.ExecCommandDTO; +import com.orion.ops.module.asset.handler.host.exec.command.dto.ExecCommandHostDTO; +import com.orion.ops.module.asset.handler.host.exec.command.handler.IExecCommandHandler; +import com.orion.ops.module.asset.handler.host.exec.command.handler.IExecTaskHandler; +import com.orion.ops.module.asset.handler.host.exec.command.manager.ExecTaskManager; import com.orion.ops.module.asset.service.AssetAuthorizedDataService; import com.orion.ops.module.asset.service.ExecService; import com.orion.web.servlet.web.Servlets; @@ -93,7 +93,7 @@ public class ExecServiceImpl implements ExecService { private AssetAuthorizedDataService assetAuthorizedDataService; @Resource - private ExecManager execManager; + private ExecTaskManager execTaskManager; @Override @Transactional(rollbackFor = Exception.class) @@ -201,7 +201,7 @@ public class ExecServiceImpl implements ExecService { return; } // 中断执行 - IExecTaskHandler task = execManager.getTask(logId); + IExecTaskHandler task = execTaskManager.getTask(logId); if (task != null) { log.info("ExecService.interruptExec interrupted logId: {}", logId); // 中断 @@ -242,7 +242,7 @@ public class ExecServiceImpl implements ExecService { return; } // 中断执行 - IExecTaskHandler task = execManager.getTask(logId); + IExecTaskHandler task = execTaskManager.getTask(logId); if (task != null) { log.info("ExecService.interruptHostExec interrupted logId: {}, hostLogId: {}", logId, hostLogId); IExecCommandHandler handler = task.getHandlers()