@ServerEndpoint(value = "/websocket")
public class WebSocket {
private Logger logger = Logger.getLogger(this.getClass().getName());
static Map<String,Session> sessionMap = new HashMap<String,Session>();
@OnOpen
public void onOpen(Session session) {
sessionMap.put(session.getId(), session);
}
@OnMessage
public void onMessage(String unscrambledWord, Session session) {
broadcastAll("message",unscrambledWord);
}
/**
* @param message
*/
public static void broadcastAll(String type,String message){
Set<Map.Entry<String,Session>> set = sessionMap.entrySet();
for(Map.Entry<String,Session> i: set){
try {
i.getValue().getBasicRemote().sendText("{type:'"+type+"',text:'"+message+"'}");
} catch (Exception e) {
e.printStackTrace();
}
}
}
@OnClose
public void onClose(Session session, CloseReason closeReason) {
sessionMap.remove(session.getId());
logger.info(String.format("Session %s closed because of %s", session.getId(), closeReason));
}
@OnError
public void error(Session session, Throwable throwable){
sessionMap.remove(session.getId());
System.err.println("session "+session.getId()+" error:"+throwable);
}
}
import org.apache.log4j.Logger;
import org.springframework.remoting.jaxrpc.ServletEndpointSupport;
/**
Title: 用户信息的webservice实现类
Description:
Copyright: Copyright (c) 2012 2012-2-13
Company: pccw
@version 1.0
*/
public class UserWebService extends ServletEndpointSupport implements IUserWebService{
private static final Logger log = Logger.getLogger(UserWebService.class);
private IUserService userService;
protected void onInit()
{
userService =(IUserService)getApplicationContext().getBean("userService");
}
/*