2015-07-24 12 views
9

Ich habe Web Socket mit Spring MVC implementiert und es funktioniert gut für mich, d. H. Arbeiten von einem Browser zu einem anderen Browser, der für diese Socket mit diesem Code geöffnet ist.So rufen Sie @SendTo von Normal Request Anruf, d. H. @RequestMapping

@MessageMapping("/hello") 
    @SendTo("/topic/greetings") 
    public HelloMessage greeting(HelloMessage message) throws Exception { 
     Thread.sleep(3000); // simulated delay 
     return message; 
    } 

Kann jemand mir helfen, die für @SendTo („/ Thema/Grüße“) von normalen api controller.I versuchen diese verwendet haben zu nennen, aber es ist für mich nicht funktioniert

@RequestMapping(value = "/sendMessage") 
    @SendTo("/topic/greetings") 
    public HelloMessage sendMessage() throws Exception { 
     return new HelloMessage((int) Math.random(), "This is Send From Server"); 
    } 

Irgendeine Idee dafür?

Dank

Antwort

11

Ich habe Lösung für die durch die Verwendung

@Autowired 
private SimpMessagingTemplate template; 


@RequestMapping(value = "/sendMessage") 
public void sendMessage() throws Exception { 
    this.template.convertAndSend("/topic/greetings", new HelloMessage(
      (int) Math.random(), "This is Send From Server")); 
} 

fanden diese wir Nachricht WebSocket öffnen senden kann.

Dank