SpringBoot报错,Socket.java使用了未经检查或不安全的操作,请使用-Xlint:unchecked 重新编译

[INFO] Changes detected - recompiling the module!
[INFO] Compiling 4 source files to /Users/abbott/Desktop/heart/java_websocket/target/classes
[INFO] /Users/abbott/Desktop/heart/java_websocket/src/main/java/cn/springbootlearn/socket/Socket.java: /Users/abbott/Desktop/heart/java_websocket/src/main/java/cn/springbootlearn/socket/Socket.java使用了未经检查或不安全的操作。
[INFO] /Users/abbott/Desktop/heart/java_websocket/src/main/java/cn/springbootlearn/socket/Socket.java: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。

Socket.java

package cn.springbootlearn.socket;

import org.springframework.stereotype.Controller;

import javax.websocket.*;
import javax.websocket.server.ServerEndpoint;
import java.io.IOException;
import java.util.concurrent.CopyOnWriteArraySet;

@Controller
@ServerEndpoint("/websocket")
public class Socket {
    /*websocket 客户端会话 通过Session 向客户端发送数据*/
    private Session session;
    /*线程安全set 存放每个客户端处理消息的对象*/
    private static CopyOnWriteArraySet<Socket> webSocketSet = new CopyOnWriteArraySet();
    /*websocket 连接建立成功后进行调用*/
    @OnOpen
    public void onOpen(Session session) {
        this.session = session;
        webSocketSet.add(this);
        System.out.println("websocket 有新的链接"+webSocketSet.size());
    }
    /*websocket 链接关闭调用的方法*/
    @OnClose
    public void onClose() {
        webSocketSet.remove(this);
    }
    /*收到客户端消息后调用的方法*/
    @OnMessage
    public void onMessage(String message) throws IOException {
        for (Socket socket : webSocketSet) {
            socket.session.getBasicRemote().sendText("自己嘎给自己嘎发的消息:"+message);
        }
    }
    /*websocket 发生错误时进行调用*/
    @OnError
    public void onError(Session session,Throwable error){
        error.printStackTrace();
    }
    public void sendMessage(String message) throws IOException {
        for (Socket socket : webSocketSet) {
            socket.session.getBasicRemote().sendText(message);
        }
    }
    public Session getSession() {
        return session;
    }
    public void setSession(Session session) {
        this.session = session;
    }
}
阅读 1.7k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题