Каким образом я могу запустить аннотированный класс конечной точки @ServerEndpoint в среде начальной загрузки java, чтобы получить доступ к моей конечной точке? Потому что этот способ (фрагмент кода) не соответствует моим потребностям.
@ServerEndpoint(value = "/server")
public class WSServer {
@OnOpen
public void onOpen(Session session) {
...
}
@OnMessage
public void onMessage(Session session, String msg) {
...
}
@OnClose
public void onClose(Session session, CloseReason closeReason) {
...
}
@OnError
public void error(Session session, Throwable error) {
...
}
}
Я видел примеры с чем-то вроде этого, здесь он работает в основном методе
public class WebSocketServer {
public static void main(String[] args) {
runServer();
}
public static void runServer() {
Server server = new Server("localhost", 8025, "/ws", WSServer.class);
try {
server.start();
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Please press a key to stop the server.");
reader.readLine();
} catch (Exception e) {
throw new RuntimeException(e);
} finally {
server.stop();
}
}
}
Есть ли другой способ запустить @ServerEndpoint, чтобы получить доступ к нему, кроме как ввызов его из основного метода ... чтобы использовать его как контроллер или т. д.?