メッセージ送信
アプリケーションの任意の部分から接続されたクライアントにメッセージを送信したい場合はどうしますか? どのアプリケーションコンポーネントも 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
)で修飾することもできます。