Spring, ¿cómo transmitir mensajes a clientes conectados usando websockets?
Estoy tratando de usar websockets en mi aplicación. He seguido este tutorial:http://spring.io/guides/gs/messaging-stomp-websocket/
Funciona perfectamente
Cuando uno de los clientes conectados presiona el botón, este método se llama:
@MessageMapping("/hello")
@SendTo("/topic/greetings")
public Greeting greeting() throws Exception {
System.out.println("Sending message...");
Thread.sleep(1000); // simulated delay
return new Greeting("hello!");
}
y el mensaje se transmite a todos los clientes conectados.
Ahora quiero modificar la aplicación de mi servidor, para que transmita mensajes periódicamente (cada hora) a todos mis clientes conectados, sin interacción de los clientes.
Algo como esto (pero esto obviamente no funciona):
@Scheduled(fixedRate = 3600000)
public void sendMessage(){
try {
@SendTo("/topic/greetings")
greeting();
} catch (Exception e) {
e.printStackTrace();
}
}
Gracias por consejos.