복붙노트

[SPRING] 스프링 웹 소켓에서 주제를 구독하는 모든 사용자를 찾는 방법

SPRING

스프링 웹 소켓에서 주제를 구독하는 모든 사용자를 찾는 방법

Spring Websockets을 사용하여 채팅 애플리케이션과 같은 것을 만들 때, 주어진 주제에 누구가 모두 구독되어 있는지를 아는 것이 유용합니다. 예 : 클라이언트에 표시되는 현재 상태 데이터.

나는 ApplicationListener를 구현하고 내 "연결된 사용자"목록을 유지할 수 있다는 것을 알고 있지만, 라이브러리가 이미이 작업을 수행하고있는 것처럼 보입니다.

라이브러리에서 직접 구독 정보를 가져오고 (메모리 또는 데이터베이스에 내 목록을 유지하지 않고) 구독 정보를 가져 오는 것이 좋습니다.

해결법

  1. ==============================

    1.맞습니다. ApplicationContext 이벤트를 사용할 수는 있지만 유감스럽게도 이러한 이벤트는 사용자 세션 이벤트 및 브로커 이벤트를 처리하므로 사용자가 특정 주제에 가입하면 알림을받지 못합니다.

    맞습니다. ApplicationContext 이벤트를 사용할 수는 있지만 유감스럽게도 이러한 이벤트는 사용자 세션 이벤트 및 브로커 이벤트를 처리하므로 사용자가 특정 주제에 가입하면 알림을받지 못합니다.

    SubscriptionRegistry를 가져 와서 SimpleBrokerMessageHandler를 사용할 때 그렇게 할 수 있습니다. 그러나 SimpleMessageBroker는 프로덕션 용도로 사용되지 않습니다.

    RabbitMQ를 사용하는 경우 해당 정보를 REST API에서 가져올 수 있습니다.

    문제는 브로커 구현에 따라 매우 다르므로 Spring 프레임 워크에서 이와 같은 기능이 적합한 지 궁금합니다. 토론을 시작하기 위해 JIRA 문제를 열 ​​수 있습니까?

  2. from https://stackoverflow.com/questions/24795340/how-to-find-all-users-subscribed-to-a-topic-in-spring-websockets by cc-by-sa and MIT license