Uygulamamda websockets kullanmaya çalışıyorum. Bu eğitimi takip ettim: Spring, websockets kullanarak bağlı istemcilere nasıl mesaj yayınlanır?
Mükemmel çalışıyor.
Bağlı müşterilerinden biri düğmesine basın
, bu yöntem denir:@MessageMapping("/hello")
@SendTo("/topic/greetings")
public Greeting greeting() throws Exception {
System.out.println("Sending message...");
Thread.sleep(1000); // simulated delay
return new Greeting("hello!");
}
ve mesaj bağlı istemcilerin tümüne yayınlanır.
Şimdi, sunucu uygulamamı değiştirerek istemcilerden etkileşimde bulunmadan, tüm bağlı müşterilerime düzenli olarak (her saat) bir mesaj yayınlayacağım.
Böyle bir şey (ama bu besbelli çalışmıyor): tavsiye için
@Scheduled(fixedRate = 3600000)
public void sendMessage(){
try {
@SendTo("/topic/greetings")
greeting();
} catch (Exception e) {
e.printStackTrace();
}
}
Thx. Yalnızca SubProtocolWebSocketHandler
ile başlatılır SimpAnnotationMethodMessageHandler
, çalışır @SendTo
Bunu lütfen ortaya Can:
Eğer
@Scheduled
hizmeteSimpMessagingTemplate brokerMessagingTemplate
için enjekte ve doğrudan kullanmalıdır ihtiyaçlarınızı elde etmek için? nasıl enjekte edebilirim? –Lütfen '@ Autowired' etrafında cevabımdaki bir düzenlemeye bakın. –