32 lines
938 B
Java
32 lines
938 B
Java
|
|
package com.baeldung.websockets;
|
||
|
|
|
||
|
|
|
||
|
|
import com.github.javafaker.Faker;
|
||
|
|
import org.springframework.messaging.simp.SimpMessagingTemplate;
|
||
|
|
import org.springframework.scheduling.annotation.Scheduled;
|
||
|
|
import org.springframework.stereotype.Controller;
|
||
|
|
|
||
|
|
import java.text.SimpleDateFormat;
|
||
|
|
import java.util.Date;
|
||
|
|
|
||
|
|
@Controller
|
||
|
|
public class ScheduledPushMessages {
|
||
|
|
|
||
|
|
private final SimpMessagingTemplate simpMessagingTemplate;
|
||
|
|
|
||
|
|
private final Faker faker;
|
||
|
|
|
||
|
|
public ScheduledPushMessages(SimpMessagingTemplate simpMessagingTemplate) {
|
||
|
|
this.simpMessagingTemplate = simpMessagingTemplate;
|
||
|
|
faker = new Faker();
|
||
|
|
}
|
||
|
|
|
||
|
|
@Scheduled(fixedRate = 5000)
|
||
|
|
public void sendMessage() {
|
||
|
|
final String time = new SimpleDateFormat("HH:mm").format(new Date());
|
||
|
|
simpMessagingTemplate.convertAndSend("/topic/messages",
|
||
|
|
new OutputMessage("Chuck Norris", faker.chuckNorris().fact(), time));
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|