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

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

Программные конечные точки

В следующем примере показано, как создать конечную точку путём расширения класса Endpoint:

public class EchoEndpoint extends Endpoint {
   @Override
   public void onOpen(final Session session, EndpointConfig config) {
      session.addMessageHandler(new MessageHandler.Whole<String>() {
         @Override
         public void onMessage(String msg) {
            try {
               session.getBasicRemote().sendText(msg);
            } catch (IOException e) { ... }
         }
      });
   }
}

Эта конечная точка повторяет каждое полученное сообщение. Класс Endpoint определяет три метода жизненного цикла: onOpen, onClose и onError. Класс EchoEndpoint реализует метод onOpen, который является единственным абстрактным методом в классе Endpoint.

Параметр Session представляет диалог между этой конечной точкой и удалённой конечной точкой. Метод addMessageHandler регистрирует обработчики сообщений, а метод getBasicRemote возвращает объект, представляющий удалённую конечную точку. Интерфейс Session подробно рассматривается в оставшейся части этой главы.

Обработчик сообщений реализован как анонимный внутренний класс. Метод onMessage обработчика сообщений вызывается, когда конечная точка получает текстовое сообщение.

Чтобы развернуть эту программную конечную точку, используйте следующий код в приложении Java EE:

ServerEndpointConfig.Builder.create(EchoEndpoint.class, "/echo").build();

При развёртывании приложения конечная точка доступна по ссылке ws://<хост>:<порт>/<приложение>/echo. Например, ws://localhost:8080/echoapp/echo.


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