Explorar o código

优化代码逻辑

周浩 %!s(int64=9) %!d(string=hai) anos
pai
achega
75a4ad839c

+ 11 - 11
hsweb-web-websocket/src/main/java/org/hsweb/web/socket/CMDWebSocketAutoConfiguration.java

@@ -2,10 +2,7 @@ package org.hsweb.web.socket;
 
 import org.hsweb.web.socket.cmd.support.SystemMonitorProcessor;
 import org.hsweb.web.socket.message.SimpleWebSocketMessageManager;
-import org.hsweb.web.socket.message.WebSocketMessageManager;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ComponentScan;
 import org.springframework.context.annotation.Configuration;
@@ -18,26 +15,29 @@ import org.springframework.web.socket.config.annotation.WebSocketHandlerRegistry
 @ComponentScan(basePackages = "org.hsweb.web.socket")
 @Configuration
 public class CMDWebSocketAutoConfiguration extends WebSocketConfigurationSupport {
-    @Autowired
-    private CmdWebSocketHandler cmdWebSocketHandler;
+
     @Bean
-    @ConditionalOnMissingBean(WebSocketMessageManager.class)
     public SimpleWebSocketMessageManager simpleWebSocketMessageManager() {
         return new SimpleWebSocketMessageManager();
     }
 
+    @Bean
+    public CmdWebSocketHandler cmdWebSocketHandler() {
+        CmdWebSocketHandler cmdWebSocketHandler = new CmdWebSocketHandler();
+        cmdWebSocketHandler.setWebSocketMessageManager(simpleWebSocketMessageManager());
+        return cmdWebSocketHandler;
+    }
+
     @Bean
     @ConditionalOnClass(name = "org.hyperic.sigar.Sigar")
     public SystemMonitorProcessor systemMonitorProcessor() {
-        SystemMonitorProcessor processor = new SystemMonitorProcessor();
-        processor.setWebSocketMessageManager(simpleWebSocketMessageManager());
-        return processor;
+        return new SystemMonitorProcessor();
     }
 
     @Override
     protected void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
         //绑定到 /socket
-        registry.addHandler(cmdWebSocketHandler, "/socket");
-        registry.addHandler(cmdWebSocketHandler, "/socket/js").withSockJS();
+        registry.addHandler(cmdWebSocketHandler(), "/socket");
+        registry.addHandler(cmdWebSocketHandler(), "/socket/js").withSockJS();
     }
 }

+ 3 - 1
hsweb-web-websocket/src/main/java/org/hsweb/web/socket/CmdWebSocketHandler.java

@@ -29,7 +29,6 @@ public class CmdWebSocketHandler extends TextWebSocketHandler {
     @Autowired
     private HttpSessionManager httpSessionManager;
 
-    @Autowired
     private WebSocketMessageManager webSocketMessageManager;
 
     @Autowired
@@ -77,4 +76,7 @@ public class CmdWebSocketHandler extends TextWebSocketHandler {
         }
     }
 
+    public void setWebSocketMessageManager(WebSocketMessageManager webSocketMessageManager) {
+        this.webSocketMessageManager = webSocketMessageManager;
+    }
 }

+ 1 - 0
hsweb-web-websocket/src/main/java/org/hsweb/web/socket/cmd/support/AbstractCmdProcessor.java

@@ -24,6 +24,7 @@ public abstract class AbstractCmdProcessor implements CmdProcessor {
         this.httpSessionManager = httpSessionManager;
     }
 
+    @Autowired
     public void setWebSocketMessageManager(WebSocketMessageManager webSocketMessageManager) {
         this.webSocketMessageManager = webSocketMessageManager;
     }

+ 0 - 4
hsweb-web-websocket/src/main/java/org/hsweb/web/socket/cmd/support/SystemMonitorProcessor.java

@@ -30,10 +30,6 @@ public class SystemMonitorProcessor extends AbstractCmdProcessor {
         sigar = new Sigar();
     }
 
-    public void setWebSocketMessageManager(WebSocketMessageManager webSocketMessageManager) {
-        this.webSocketMessageManager = webSocketMessageManager;
-    }
-
     @Override
     public String getName() {
         return "system-monitor";

+ 0 - 1
hsweb-web-websocket/src/main/java/org/hsweb/web/socket/message/WebSocketMessageManager.java

@@ -1,6 +1,5 @@
 package org.hsweb.web.socket.message;
 
-import org.hsweb.web.bean.po.user.User;
 import org.hsweb.web.socket.WebSocketSessionListener;
 import org.springframework.web.socket.WebSocketSession;