项目简介:采用SpringBoot开发项目实现大屏数据展示功能,轻量级处理额外需求业务。基于Redis服务发布订阅功能,实现系统有新数据的时候主动推送数据到大屏的WebSocket监听页面进行展示。队列的消费需要提供接口这个方式不够友好,发布订阅只需要在另一个服务器上同样部署一个springboot开发的应用并订阅相同的主题即可(队列功能适合同一应用环境下,引用项目打包后的jar包进行开发即可)。
注:具体的推送内容是什么,逻辑可以自己拿来实现!
目录
WebSocket服务
WebSocket具体业务消息处理如下:
/**
* 收到客户端消息后调用的方法
*
* @param message 客户端发送过来的消息
*/
@OnMessage
public void onMessage(String message, Session session) {
boolean success=false;
logger.info("收到来自窗口" + uuid + "的信息:" + message);
// 解析页面主动发送参数
Map<String,Object> param=null;
try {
param=JSONUtil.getObjectFromJson(message,Map.class);
} catch (IOException e) {
sendFeedbackMessage(0,"指令参数解析错误",uuid);
logger.error("参数格式错误:"+e.getMessage());
e.printStackTrace();
return ;
}
try {
//解析参数服务类型
String service= (String) param.get("service");
if(WebSocketEnum.STATISTICS_USER.getValue().equals(service)){
// 做相应