Spring 4 WebSocket 을 지정 한 사용자 에 게 보 내기:convertAndSendToUser 함수
2353 단어 Spring
@SengToUser주석 이나convertAndSendToUser함 수 를 사용 해 야 합 니 다.주의해 야 할 것 은 특정 사용자 에 게 전송 할 때 반드시 Spring Security 라 는 프레임 워 크 를 사용 하여 로그 인 과 방문 통 제 를 실현 하지 않 아 도 됩 니 다.제 가 프로젝트 에서 사용 하 는 것 은 Apache Shiro 입 니 다.사용자 로그 인 후 Session 에 해당 하 는 Principal 을 설정 합 니 다. UsernamePasswordToken token = new UsernamePasswordToken(phonenum, password);
token.setRememberMe(true);
currentUser.login(token);
Session session = currentUser.getSession();
session.setAttribute("user_id", user_id);
session.setAttribute("phonenum", phonenum); 그리고 지정 한 사용자 에 게 보 낼 수 있 습 니 다.
public void handleMessage(Baobiaoorder order) {
log.info(" RabbitMQ :" + order.getOuttradeno());
// operations.convertAndSend("/topic/pay-result", order);
operations.convertAndSendToUser(order.getPhonenum(), "/queue/pay-result", order);
} 그 중에서
order.getPhonenum()바로 Session 안의 핸드폰 번호 입 니 다.저 는 핸드폰 번 호 를 Shiro 의 Principal 로 하기 때 문 입 니 다.이 때 메 시 지 는/queue/pay-result목적지 에 보 내지 만 클 라 이언 트 가 구독 해 야 할 것 은/user/queue/pay-result입 니 다.주의해 야 할 것 은 관례 에 따라 특정 사용자 에 게 보 내 는 비 방송 식 목적 지 를 topic 이 아 닌 queue 로 설정 하 는 것 이 좋다 는 점 이다.이렇게 하면 지정 한 사용자 에 게 메 시 지 를 보 낼 수 있다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[MeU] Hashtag 기능 개발➡️ 기존 Tag 테이블에 존재하지 않는 해시태그라면 Tag , tagPostMapping 테이블에 모두 추가 ➡️ 기존에 존재하는 해시태그라면, tagPostMapping 테이블에만 추가 이후에 개발할 태그 기반 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.