Added push messages using the @Scheduled annotation.
This commit is contained in:
		
							parent
							
								
									6dab1d510f
								
							
						
					
					
						commit
						18954efcee
					
				| @ -18,6 +18,11 @@ | |||||||
|             <groupId>org.springframework.boot</groupId> |             <groupId>org.springframework.boot</groupId> | ||||||
|             <artifactId>spring-boot-starter-websocket</artifactId> |             <artifactId>spring-boot-starter-websocket</artifactId> | ||||||
|         </dependency> |         </dependency> | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>com.github.javafaker</groupId> | ||||||
|  |             <artifactId>javafaker</artifactId> | ||||||
|  |             <version>1.0.2</version> | ||||||
|  |         </dependency> | ||||||
|         <dependency> |         <dependency> | ||||||
|             <groupId>com.google.code.gson</groupId> |             <groupId>com.google.code.gson</groupId> | ||||||
|             <artifactId>gson</artifactId> |             <artifactId>gson</artifactId> | ||||||
|  | |||||||
| @ -3,8 +3,10 @@ package com.baeldung; | |||||||
| import org.springframework.boot.SpringApplication; | import org.springframework.boot.SpringApplication; | ||||||
| import org.springframework.boot.autoconfigure.SpringBootApplication; | import org.springframework.boot.autoconfigure.SpringBootApplication; | ||||||
| import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; | import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; | ||||||
|  | import org.springframework.scheduling.annotation.EnableScheduling; | ||||||
| 
 | 
 | ||||||
| @SpringBootApplication | @SpringBootApplication | ||||||
|  | @EnableScheduling | ||||||
| public class SpringBootApp extends SpringBootServletInitializer { | public class SpringBootApp extends SpringBootServletInitializer { | ||||||
|     public static void main(String[] args) { |     public static void main(String[] args) { | ||||||
|         SpringApplication.run(SpringBootApp.class, args); |         SpringApplication.run(SpringBootApp.class, args); | ||||||
|  | |||||||
| @ -0,0 +1,31 @@ | |||||||
|  | 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)); | ||||||
|  |     } | ||||||
|  |      | ||||||
|  | } | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user