Ich versuche, in zwei Sitzungen mit demselben Spring Security-Benutzer eine Verbindung herzustellen und die gleiche Warteschlange mit Spring 4.2.4 zu abonnieren. Ich möchte für jede Sitzung separate Nachrichten erhalten. Es ist leicht, mit @SendToUser
zu tun, aber es scheint, dass es nicht so trivial ist, wenn Sie SimpMessagingTemplate.sendToUser(...)
verwenden - jede Sitzung empfängt alle Nachrichten, die für andere Sitzung spezifisch sind.Broadcast in SimpMessageTemplate.sentToUser (...) im Frühjahr deaktivieren 4.2.4
Beispiel für @SendToUser
:
@Controller
public class TestController {
@MessageMapping("/queue/hello")
@SendToUser(value = "/queue/hello", broadcast = false)
public String test() {
return Integer.toString(new Random().nextInt());
}
}
Beispiel für SimpMessagingTemplate
:
template.convertAndSendToUser("SessionUser{id=123}", "/queue/hello", "test");
ich wie vorgeschlagen habe versucht, in diesem Thread zum Beispiel sessionId
in Header hinzufügen: sending-error-message-in-spring-websockets Leider hilft es nicht, in dieser Version von Frühling. Hat jemand irgendwelche Ideen?