Java Platform, Enterprise Edition (Java EE) 8
Учебник по Java EE

Назад Вперёд Содержание

Аннотированные конечные точки

В следующем примере показано, как создать ту же конечную точку, что и в Программных конечных точках, используя вместо этого аннотации:

@ServerEndpoint("/echo")
public class EchoEndpoint {
   @OnMessage
   public void onMessage(Session session, String msg) {
      try {
         session.getBasicRemote().sendText(msg);
      } catch (IOException e) { ... }
   }
}

Аннотированная конечная точка проще, чем эквивалентная программная, и она автоматически развёртывается вместе с приложением по относительному пути, определённому в аннотации @ServerEndpoint. Вместо того, чтобы создавать дополнительный класс для обработчика сообщений, в этом примере используется аннотация @OnMessage для обозначения метода, вызываемого для обработки сообщений.

Таблица 19-1 перечисляет аннотации, доступные в пакете javax.websocket для обозначения методов, которые обрабатывают события жизненного цикла. Примеры в таблице показывают наиболее распространённые параметры для этих методов. См. ссылку API для получения подробной информации о том, какие комбинации параметров допускаются в каждом случае.

Таблица 19-1 Аннотации жизненного цикла конечной точки веб-сокета

Аннотация

Событие

Пример

OnOpen

Соединение открыто

@OnOpen
public void open(Session session,
                 EndpointConfig conf) { }

OnMessage

Сообщение получено

@OnMessage
public void message(Session session,
                    String msg) { }

OnError

Ошибка подключения

@OnError
public void error(Session session,
                  Throwable error) { }

OnClose

Соединение закрыто

@OnClose
public void close(Session session,
                  CloseReason reason) { }

Назад Вперёд Содержание
Логотип Oracle  Copyright © 2017, Oracle и/или её дочерних компаний. Все права защищены. Версия перевода 1.0.5 (Java EE Tutorial — русскоязычная версия)