package org.hsweb.web.socket; import org.hsweb.web.socket.cmd.support.SystemMonitorProcessor; import org.hsweb.web.socket.message.SimpleWebSocketMessageManager; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.web.socket.config.annotation.WebSocketConfigurationSupport; import org.springframework.web.socket.config.annotation.WebSocketHandlerRegistry; /** * Created by zhouhao on 16-5-29. */ @ComponentScan(basePackages = "org.hsweb.web.socket") @Configuration public class CMDWebSocketAutoConfiguration extends WebSocketConfigurationSupport { @Bean 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() { return new SystemMonitorProcessor(); } @Override protected void registerWebSocketHandlers(WebSocketHandlerRegistry registry) { //绑定到 /socket registry.addHandler(cmdWebSocketHandler(), "/socket"); registry.addHandler(cmdWebSocketHandler(), "/socket/js").withSockJS(); } }