Put html and js resources back to their original location.
Split backend code so it doesn't modify existing examples. Added a bots.html page for the server push version.
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
package com.baeldung.websockets;
|
||||
|
||||
import org.springframework.messaging.handler.annotation.MessageMapping;
|
||||
import org.springframework.messaging.handler.annotation.SendTo;
|
||||
import org.springframework.stereotype.Controller;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
|
||||
@Controller
|
||||
public class BotsController {
|
||||
|
||||
@MessageMapping("/chatwithbots")
|
||||
@SendTo("/topic/pushmessages")
|
||||
public OutputMessage send(final Message message) throws Exception {
|
||||
|
||||
final String time = new SimpleDateFormat("HH:mm").format(new Date());
|
||||
return new OutputMessage(message.getFrom(), message.getText(), time);
|
||||
}
|
||||
|
||||
}
|
||||
+1
-1
@@ -27,6 +27,6 @@ public class ReactiveScheduledPushMessages implements InitializingBean {
|
||||
Flux.interval(Duration.ofSeconds(4L))
|
||||
.map((n) -> new OutputMessage(faker.backToTheFuture().character(), faker.backToTheFuture().quote(),
|
||||
new SimpleDateFormat("HH:mm").format(new Date())))
|
||||
.subscribe(message -> simpMessagingTemplate.convertAndSend("/topic/messages", message));
|
||||
.subscribe(message -> simpMessagingTemplate.convertAndSend("/topic/pushmessages", message));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,11 +5,12 @@ import com.github.javafaker.Faker;
|
||||
import org.springframework.messaging.simp.SimpMessagingTemplate;
|
||||
import org.springframework.scheduling.annotation.Scheduled;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
|
||||
@Controller
|
||||
@Service
|
||||
public class ScheduledPushMessages {
|
||||
|
||||
private final SimpMessagingTemplate simpMessagingTemplate;
|
||||
@@ -24,7 +25,7 @@ public class ScheduledPushMessages {
|
||||
@Scheduled(fixedRate = 5000)
|
||||
public void sendMessage() {
|
||||
final String time = new SimpleDateFormat("HH:mm").format(new Date());
|
||||
simpMessagingTemplate.convertAndSend("/topic/messages",
|
||||
simpMessagingTemplate.convertAndSend("/topic/pushmessages",
|
||||
new OutputMessage("Chuck Norris", faker.chuckNorris().fact(), time));
|
||||
}
|
||||
|
||||
|
||||
@@ -20,6 +20,8 @@ public class WebSocketConfig implements WebSocketMessageBrokerConfigurer {
|
||||
public void registerStompEndpoints(final StompEndpointRegistry registry) {
|
||||
registry.addEndpoint("/chat");
|
||||
registry.addEndpoint("/chat").withSockJS();
|
||||
registry.addEndpoint("/chatwithbots");
|
||||
registry.addEndpoint("/chatwithbots").withSockJS();
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user