如果你想要从应用程序的任何地方向连接的客户端发送消息,要怎么做?任何应用程序组件都可以向brokerChannel
发送消息。要这样做,最简单方法是注入一个SimpMessagingTemplate
并使用它来发送消息。通常,你会按类型注入它,如下例所示:
@Controller
public class GreetingController {
private SimpMessagingTemplate template;
@Autowired
public GreetingController(SimpMessagingTemplate template) {
this.template = template;
}
@RequestMapping(path="/greetings", method=POST)
public void greet(String greeting) {
String text = "[" + getTimestamp() + "]:" + greeting;
this.template.convertAndSend("/topic/greetings", text);
}
}
然而,如果存在另一个相同类型的bean,你也可以通过它的名称(brokerMessagingTemplate)来限定它。