基于注解的 Java WebSocket 服务如何启动?

Google 了一圈,大部分只说了如何创建,并未提及如何启动。请问,这个 ws 服务如何启动?

代码如下:

@ServerEndpoint(value = "/chat-room-channel")

public class ChatRoomChannel {

Logger logger = LoggerFactory.getLogger(ChatRoomChannel.class);

public static final Set<Session> SESSIONS = Collections.synchronizedSet(new HashSet<Session>());

public static void notifyAll(String message) {

synchronized (SESSIONS) {

final Iterator<Session> i = SESSIONS.iterator();

while (i.hasNext()) {

final Session session = i.next();

if (session.isOpen()) {

session.getAsyncRemote().sendText(message);

}

}

}

}

@OnOpen

public void onConnect(final Session session){

SESSIONS.add(session);

HashMap<String, Object> msgMap = new HashMap<String, Object>();

msgMap.put(Commom.TYPE, Commom.ONLINE);

msgMap.put(Commom.MESSAGE, SESSIONS.size());

String messgae = new JSONObject(msgMap).toString();

logger.debug(messgae);

notifyAll(messgae);

}

}

回答:

请使用tomcat8。。。这个ws是javaee7标准的只要支持javaee7的服务器就可以了。

试了tomcat8是可以用注解的websocket的。。
图片描述

你的代码依赖我这边没有没法测试
测试的javaee代码是 http://www.oschina.net/translate/java-ee-html5-websocket-example
用的eclipse+tomcat8

以上是 基于注解的 Java WebSocket 服务如何启动? 的全部内容, 来源链接: utcz.com/p/171233.html

回到顶部