如果你想要從應用程序的任何地方向連接的客戶端發送消息,要怎么做?任何應用程序組件都可以向brokerChannel
發送消息。要這樣做,最簡單方法是注入一個SimpMessagingTemplate
并使用它來發送消息。通常,你會按類型注入它,如下例所示:
@Controller
public class GreetingController {private SimpMessagingTemplate template;@Autowiredpublic 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)來限定它。