Estoy haciendo un proyecto con java que trata sobre websockets,
con JAVA EE7 y Glassfish 4.
Tengo todo bien, el html, el JS, y el modelo.
En el modelo hay una clase que se llama MiChat, es esta la clase que defino con el @serverEndpoint
pero en las anotaciones @onOpen, @onClose, @onMessage me devuelve un error de sintaxis, y al comparar la clase con las clases de otros proyectos que se definen de la misma manera, son iguales, realmente no encuentro el error.
esta es la clase
Código Java:
Ver original
import java.io.IOException; import java.util.ArrayList; import java.util.List; import javax.websocket.EncodeException; import javax.websocket.Session; import javax.websocket.server.ServerEndpoint; import javax.websocket.OnOpen; import javax.websocket.OnClose; import javax.websocket.OnMessage; @ServerEndpoint(value="/chat", encoders={EncoderMensaje.class}, decoders={DecoderMensaje.class} ) public class MiChat { private static final List<Session> conectados=new ArrayList<>(); @onOpen//tiene el subrallado de error public void inicio(Session sesion){ conectados.add(sesion); } @onClose//tiene el subrallado de error public void salir(Session sesion){ conectados.remove(sesion); } @onMessage//tiene el subrallado de error for(Session sesion:conectados){ sesion.getBasicRemote().sendObject(mensaje); } } }
La clase tiene las respectivas librerias importadas, pero casualmente las librerias
Código Java:
Ver original
import javax.websocket.OnOpen; import javax.websocket.OnClose; import javax.websocket.OnMessage;
tienen el subrallado que indica que nò estan siendo utilizadas.
Cambiè el nombre del proyecto por que pensè que estaba muy largo pero no, Intentè haciendo un proyecto nuevo e hize exactamente lo mismo pero nò copiando y pegando, sinò tipeando, pero tampoco. Realmente no se que mas hacerle, por cualquier lado que le miro, a mi punto de vista no tiene errores sintàcticos.
¿A que se debe el error en las anotaciones?.
De antemano muchas gracias por sus aportes.