Периодическая загрузка сервера с использованием Atmosphere IO

1

Сценарий, который я пытаюсь реализовать, выглядит следующим образом:

1) Приостановить весь входящий запрос в обработчике @GET

2) Добавить ресурсы входящего запроса в вещательную

3) Периодически публикуйте данные с интервалами с помощью Broadcaster.broadcast()

Пробовал использовать атмосферу-трикотаж и @Schedule аннотации, но не смог опубликовать данные. Не уверен, может ли Executorservice соответствовать этому сценарию. Есть что-то, что пропущено для публикации с сервера периодически.

Незлое руководство!

Теги:
sockets
websocket
server-sent-events
atmosphere

1 ответ

0
Лучший ответ

Broadcaster.scheduledFixedBroadcast() выглядит правильно, чтобы периодически нажимать сервер.

Планирование вещателя с серверной стороны,

        @PathParam("topic")
        Broadcaster broadcaster;

        @Suspend(contentType = "application/json")
        @GET
        public SuspendResponse<String> search() {
            if (broadcaster.getAtmosphereResources().size() == 0) {
                broadcaster.scheduleFixedBroadcast(new Callable<String>() {
                    public String call() throws Exception {
                    // Wait for the connection to be suspended.

                    broadcaster.broadcast("broadcast");
                    return null;
                    }
                    }, 5000, TimeUnit.MILLISECONDS);
            }
            return new SuspendResponse.SuspendResponseBuilder<String>()
            .broadcaster(broadcaster)
            .outputComments(true)
            .addListener(new EventsLogger() {
                    @Override
                    public void onSuspend(
                    AtmosphereResourceEvent event) {
                        super.onSuspend(event);

                    }
            }).build();
        }

Ещё вопросы

Сообщество Overcoder
Наверх
Меню