如何从正常请求调用中调用@SendTo,即@RequestMapping

我已经使用Spring MVC实现了Web Socket,它对我来说很好用,即从一个浏览器到另一个浏览器工作,这个浏览器是使用这个代码打开的。

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

任何人都可以帮助我从正常的api控制器调用@SendTo(“/ topic / greetings”)。我尝试使用它但它对我不起作用

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

对此有何看法?

谢谢

我找到了解决方案

 @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")); } 

通过使用这个我们可以发送消息来打开WebSocket。

谢谢