Хранить данные в ServerEndpoint

Я разрабатываю простое приложение с WebSockets. На стороне клиента вы можете отправлять входные тексты, а на стороне сервера реализован класс Java с аннотацией ServerEndpoint. Здесь полученные входные тексты декодируются и отправляются во все открытые сеансы.

Это работает, но я хочу сохранить каждое сообщение, полученное сервером, чтобы при подключении нового клиента (используя метод, аннотированный с помощью @OnOpen) он получал все сообщения, которые были отправлены, пока он был «офлайн». Где я могу хранить эти сообщения без использования базы данных?


person user3673449    schedule 02.12.2015    source источник


Ответы (1)


Решил это, используя шаблон Singleton. Я создал класс Singleton, в котором хранится список, который обновляется в методе onMessage. Затем в onOpen сохраненные сообщения отправляются клиенту, который только что открыл соединение с сокетом.

person user3673449    schedule 02.12.2015