diff --git a/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_websocket_2_5_4.xml b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_websocket_2_5_4.xml
new file mode 100644
index 000000000..3b4a88919
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_websocket_2_5_4.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_spring_messaging_5_3_9.xml b/.idea/libraries/Maven__org_springframework_spring_messaging_5_3_9.xml
new file mode 100644
index 000000000..ea46c2cba
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_spring_messaging_5_3_9.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/libraries/Maven__org_springframework_spring_websocket_5_3_9.xml b/.idea/libraries/Maven__org_springframework_spring_websocket_5_3_9.xml
new file mode 100644
index 000000000..c3c39879d
--- /dev/null
+++ b/.idea/libraries/Maven__org_springframework_spring_websocket_5_3_9.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/demo.iml b/demo.iml
index e164b4e83..1d1385e1c 100644
--- a/demo.iml
+++ b/demo.iml
@@ -60,6 +60,9 @@
+
+
+
diff --git a/pom.xml b/pom.xml
index df0fbc8ef..f0602ffd1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -25,7 +25,10 @@
org.springframework.boot
spring-boot-starter-web
-
+
+ org.springframework.boot
+ spring-boot-starter-websocket
+
org.springframework.boot
spring-boot-devtools
diff --git a/src/main/java/com/example/demo/WebsocketApplication.java b/src/main/java/com/example/demo/WebsocketApplication.java
new file mode 100644
index 000000000..845009345
--- /dev/null
+++ b/src/main/java/com/example/demo/WebsocketApplication.java
@@ -0,0 +1,27 @@
+package com.example.demo;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.context.annotation.Bean;
+import org.springframework.web.servlet.config.annotation.CorsRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
+
+@SpringBootApplication
+public class WebsocketApplication {
+
+ public static void main(String[] args) {
+ SpringApplication.run(WebsocketApplication.class, args);
+ }
+
+ @Bean
+ public WebMvcConfigurer corsConfigurer() {
+ return new WebMvcConfigurer() {
+ @Override
+ public void addCorsMappings(CorsRegistry registry) {
+ registry.addMapping("/**").allowCredentials(true).allowedOrigins("*").allowedMethods("*");
+ }
+ };
+ }
+}
+
diff --git a/src/main/java/com/example/demo/config/WebSocketConfig.java b/src/main/java/com/example/demo/config/WebSocketConfig.java
new file mode 100644
index 000000000..9efe38e77
--- /dev/null
+++ b/src/main/java/com/example/demo/config/WebSocketConfig.java
@@ -0,0 +1,24 @@
+package com.example.demo.config;
+
+import org.springframework.context.annotation.Configuration;
+import org.springframework.messaging.simp.config.MessageBrokerRegistry;
+import org.springframework.web.socket.config.annotation.EnableWebSocketMessageBroker;
+import org.springframework.web.socket.config.annotation.StompEndpointRegistry;
+import org.springframework.web.socket.config.annotation.WebSocketMessageBrokerConfigurer;
+
+@Configuration
+@EnableWebSocketMessageBroker
+public class WebSocketConfig implements WebSocketMessageBrokerConfigurer {
+ @Override
+ public void registerStompEndpoints(StompEndpointRegistry stompEndpointRegistry) {
+ stompEndpointRegistry.addEndpoint("/websocket-chat")
+ .setAllowedOrigins("*")
+ .withSockJS();
+ }
+
+ @Override
+ public void configureMessageBroker(MessageBrokerRegistry registry) {
+ registry.enableSimpleBroker("/topic/");
+ registry.setApplicationDestinationPrefixes("/app");
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/com/example/demo/controller/SocketController.java b/src/main/java/com/example/demo/controller/SocketController.java
new file mode 100644
index 000000000..a608632ed
--- /dev/null
+++ b/src/main/java/com/example/demo/controller/SocketController.java
@@ -0,0 +1,17 @@
+package com.example.demo.controller;
+
+import org.springframework.messaging.Message;
+import org.springframework.messaging.handler.annotation.MessageMapping;
+import org.springframework.messaging.handler.annotation.Payload;
+import org.springframework.messaging.handler.annotation.SendTo;
+import org.springframework.stereotype.Controller;
+
+@Controller
+public class SocketController {
+
+ @MessageMapping("/profile-all")
+ @SendTo("/topic/profile")
+ public Message send(@Payload Message message) {
+ return message;
+ }
+}
\ No newline at end of file
diff --git a/src/test/java/com/example/demo/models/TestChannel.java b/src/test/java/com/example/demo/models/TestChannel.java
index fe39d01ec..43300ee9b 100644
--- a/src/test/java/com/example/demo/models/TestChannel.java
+++ b/src/test/java/com/example/demo/models/TestChannel.java
@@ -1,4 +1,5 @@
package com.example.demo.models;
public class TestChannel {
+
}