Próbuję użyć websockets w mojej aplikacji. Skorzystałem z tego samouczka: http://spring.io/guides/gs/messaging-stomp-websocket/Wiosna, jak przekazać wiadomość do podłączonych klientów za pomocą websockets?
Działa doskonale.
Gdy jeden z klientów powiązanych nacisnąć przycisk, metoda ta nazywa się:
@MessageMapping("/hello")
@SendTo("/topic/greetings")
public Greeting greeting() throws Exception {
System.out.println("Sending message...");
Thread.sleep(1000); // simulated delay
return new Greeting("hello!");
}
i wiadomość jest transmitowana do wszystkich podłączonych klientów.
Teraz chcę zmodyfikować moją aplikację serwerową, aby wysyłała wiadomości okresowo (co godzinę) do wszystkich podłączonych klientów, bez interakcji z klientami.
Coś jak to (ale to nie działa oczywiście):
@Scheduled(fixedRate = 3600000)
public void sendMessage(){
try {
@SendTo("/topic/greetings")
greeting();
} catch (Exception e) {
e.printStackTrace();
}
}
Thx za porady.
Czy należy opracować na ten temat? jak wstrzyknąć? –
Proszę zobaczyć zmianę w mojej odpowiedzi na temat '@ Autowired'. –