Enviando mensagem para usuário específico no Spring Websocket
Como enviar mensagem do websocket do servidor apenas para um usuário específico?
Meu webapp possui configuração de segurança de primavera e usa o websocket. Estou com um problema complicado ao tentar enviar uma mensagem do servidor parasomente usuário específico.
Minha compreensão da leiturao manual é do servidor que podemos fazer
simpMessagingTemplate.convertAndSend("/user/{username}/reply", reply);
E no lado do cliente:
stompClient.subscribe('/user/reply', handler);
Mas nunca consegui chamar o retorno de chamada da assinatura. Eu tentei muitos caminhos diferentes, mas sem sorte.
Se eu enviar para/ topic / reply funciona, mas todos os outros usuários conectados também o receberão.
Para ilustrar o problema, criei este pequeno projeto no github:https://github.com/gerrytan/wsproblem
Passos para reproduzir:
1) Clone e construa o projeto (verifique se você está usando o jdk 1.7 e o maven 3.1)
$ git clone https://github.com/gerrytan/wsproblem.git
$ cd wsproblem
$ mvn jetty:run
2) Navegue parahttp://localhost:8080
, faça login usando bob / test ou jim / test
3) Clique em "Solicitar msg específica do usuário". Esperado: uma mensagem "olá {nome de usuário}" é exibida ao lado de "Somente mensagem recebida para mim" apenas para este usuário. Real: nada é recebido