@ServerEndpoint("/echo")
public class EchoEndpoint {
@OnMessage
public void onMessage(Session session, String msg) {
try {
session.getBasicRemote().sendText(msg);
} catch (IOException e) { ... }
}
}
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 Аннотации жизненного цикла конечной точки веб-сокета
Аннотация |
Событие |
Пример |
|
Соединение открыто |
|
|
Сообщение получено |
|
|
Ошибка подключения |
|
|
Соединение закрыто |
|
Назад | Вперёд | Содержание |