diff --git a/.idea/libraries/Maven__org_hibernate_javax_persistence_hibernate_jpa_2_1_api_1_0_2_Final.xml b/.idea/libraries/Maven__org_hibernate_javax_persistence_hibernate_jpa_2_1_api_1_0_2_Final.xml new file mode 100644 index 000000000..1d8ce4056 --- /dev/null +++ b/.idea/libraries/Maven__org_hibernate_javax_persistence_hibernate_jpa_2_1_api_1_0_2_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/demo.iml b/demo.iml index 3e6f2e26d..173b7c31f 100644 --- a/demo.iml +++ b/demo.iml @@ -134,6 +134,7 @@ - + + \ No newline at end of file diff --git a/pom.xml b/pom.xml index f21303d18..bb3ff4ffd 100644 --- a/pom.xml +++ b/pom.xml @@ -75,9 +75,15 @@ mysql mysql-connector-java + runtime 8.0.26 - + + + org.hibernate.javax.persistence + hibernate-jpa-2.1-api + 1.0.2.Final + diff --git a/src/main/java/com/example/demo/WebsocketApplication.java b/src/main/java/com/example/demo/WebsocketApplication.java index be848368e..7f9d840d7 100644 --- a/src/main/java/com/example/demo/WebsocketApplication.java +++ b/src/main/java/com/example/demo/WebsocketApplication.java @@ -19,7 +19,7 @@ public WebMvcConfigurer corsConfigurer() { return new WebMvcConfigurer() { @Override public void addCorsMappings(CorsRegistry registry) { - registry.addMapping("/**").allowCredentials(true).allowedOriginPatterns("*").allowedHeaders("*"); + registry.addMapping("/**").allowedMethods("GET", "POST", "PUT", "DELETE").allowCredentials(true).allowedOriginPatterns("*").allowedHeaders("*"); } }; } diff --git a/src/main/java/com/example/demo/controller/SocketController.java b/src/main/java/com/example/demo/controller/SocketController.java deleted file mode 100644 index a608632ed..000000000 --- a/src/main/java/com/example/demo/controller/SocketController.java +++ /dev/null @@ -1,17 +0,0 @@ -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/main/java/com/example/demo/controller/WebSocketController.java b/src/main/java/com/example/demo/controller/WebSocketController.java new file mode 100644 index 000000000..580c7f177 --- /dev/null +++ b/src/main/java/com/example/demo/controller/WebSocketController.java @@ -0,0 +1,36 @@ +package com.example.demo.controller; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +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.messaging.simp.SimpMessagingTemplate; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +@Controller +public class WebSocketController { + + @Autowired + SimpMessagingTemplate template; + + @PostMapping("/send") + public ResponseEntity sendMessage(@RequestBody Message message) { + template.convertAndSend("/topic/message", message); + return new ResponseEntity<>(HttpStatus.OK); + } + @MessageMapping("/sendMessage") + public void receiveMessage(@Payload Message message) { + // receive message from client + } + + + @SendTo("/topic/message") + public Message broadcastMessage(@Payload Message message) { + return message; + } +} \ No newline at end of file diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 94980e58a..0de30be77 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -3,4 +3,4 @@ spring.datasource.username=root spring.datasource.password=zipcode0 spring.jpa.hibernate.ddl-auto=update spring.jpa.show-sql=true -spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect \ No newline at end of file +spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect diff --git a/target/classes/ConnectDatabase.class b/target/classes/ConnectDatabase.class deleted file mode 100644 index c6944b470..000000000 Binary files a/target/classes/ConnectDatabase.class and /dev/null differ diff --git a/target/classes/application.properties b/target/classes/application.properties index 94980e58a..0de30be77 100644 --- a/target/classes/application.properties +++ b/target/classes/application.properties @@ -3,4 +3,4 @@ spring.datasource.username=root spring.datasource.password=zipcode0 spring.jpa.hibernate.ddl-auto=update spring.jpa.show-sql=true -spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect \ No newline at end of file +spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect diff --git a/target/classes/com/example/demo/WebsocketApplication$1.class b/target/classes/com/example/demo/WebsocketApplication$1.class index 912837e3b..b450d1d58 100644 Binary files a/target/classes/com/example/demo/WebsocketApplication$1.class and b/target/classes/com/example/demo/WebsocketApplication$1.class differ diff --git a/target/classes/com/example/demo/controller/SocketController.class b/target/classes/com/example/demo/controller/SocketController.class deleted file mode 100644 index 8d0b3e952..000000000 Binary files a/target/classes/com/example/demo/controller/SocketController.class and /dev/null differ diff --git a/target/classes/com/example/demo/controller/WebSocketController.class b/target/classes/com/example/demo/controller/WebSocketController.class new file mode 100644 index 000000000..71d507a16 Binary files /dev/null and b/target/classes/com/example/demo/controller/WebSocketController.class differ