如何从正常请求调用中调用@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。
谢谢