Gravity Server push — данные должны быть переданы клиенту, где был сделан запрос

У меня работает гравитационный сервер, но он отправляет данные всем клиентам.

Мой сценарий: гибкий клиент подписывается на тему сервера, и когда он отправляет запрос на сервер, он ждет, пока сервер вернет данные.

Прямо сейчас, поскольку на сервере есть только одна тема, он отправляет данные всем клиентам, поскольку все они подписаны на одну и ту же тему.

Есть ли способ настроить гравитацию, чтобы данные передавались только конкретному клиенту, откуда был сделан запрос?

Спасибо


person user3536652    schedule 18.11.2014    source источник


Ответы (1)


Вы должны использовать свойство selector вашего объекта GDS consumer.

var consumer:Consumer = new Consumer();
consumer.destination = "quotes";
consumer.selector = "id='hereIdOfTheConsumerLogged'";

и отправьте сообщение с вашего java-сервера, например, так:

myMessage.setStringProperty("id", "hereIdOfTheConsumerLogged");

Если «hereIdOfTheConsumerLogged» равно «10», только пользователь с id=10 для селектора получит сообщение.

person Olivier J.    schedule 16.12.2014