Ближайшая вещь, о которой я могу подумать, используя BlazeDS, - это получить список клиентов, в настоящее время подписанных на пункт назначения, но это не решит проблему IMO.
Прежде всего, вам необходимо определить пункт назначения и убедиться, что все клиенты будут на него подписываться (см. Документацию BlazeDS). Затем на сервере вы можете получить ссылку на службу сообщений
MessageService messageService;
messageService = (MessageService) messageBroker.getService("message-service");
и запросите всех подписчиков с помощью метода getSubscribeersIds в экземпляре MessageService, указав имя пункта назначения. Это вернет только количество идентификаторов, сгенерированных внутри BlazeDS (они также доступны на клиентской стороне соединения).
Чтобы решить ту же проблему, я использовал этот подход в сочетании с настраиваемой серверной логикой для хранения вошедших в систему пользователей (явно вызванные методы входа / выхода из системы). Регулярный просмотр подписчиков может помочь очистить этот магазин, потому что, по моему опыту, я не могу быть уверен, что метод «выхода из системы» всегда будет успешно вызываться, особенно из клиента Flex, работающего в браузере, а BlazeDS автоматически позаботится об очистке. подписчиков.
Мне не очень нравится этот подход, возможно, кто-то придумал лучшее решение ..