controller或者service层,哪里需要写哪里
list就是要推送的数据,cabinetList是controller的路径名
有log,就要在开头加上 @Slf4j 注解,与service或者controller同辈
import lombok.extern.slf4j.Slf4j;
@Slf4j
@Api("网站首页")
@RestController
@RequestMapping("/index")
public class IndexController extends BaseController {
@Autowired
private IIndexService indexService;
@ApiOperation("首页数据展示")
@PreAuthorize("@ss.hasPermi('index:show')")
@GetMapping
public AjaxResult show() throws IOException {
try {
IndexVo indexVo = indexService.show();
System.out.println("首页数据推送数据:" + indexVo);
log.info("websocket 首页数据推送数据:{}", indexVo);
WebSocketServer.sendInfo(indexVo, "index");
return AjaxResult.success("首页请求成功,请从websocket中获取首页数据");
} catch (IOException e) {
e.printStackTrace();
return AjaxResult.error("首页请求失败,原因:{}",e.getMessage());
}
}
}
}
WebSocketServer
import com.alibaba.fastjson.JSONObject;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import javax.websocket.*;
import javax.websocket.server.PathParam;
import javax.websocket.server.ServerEndpoint;
import java.io.IOException;
import java.util.Objects;
import java.util.concurrent.CopyOnWriteArraySet;
/**
* @author Bingnan.Wang
* @date 2021-10-28 15:46
*/
@ServerEndpoint("/websocket/{sid}")
@Slf4j
@Component
public class WebSocketServer {
/**
* concurrent包的线程安全Set,用来存放每个客户端对应的MyWebSocket对象。
*/
private static CopyOnWriteArraySet<WebSocketServer> webSocketSet = new CopyOn
版权声明:本文为qq_48012160原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。