Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package my.id.ariefprasetyo.chat.controller;
- import my.id.ariefprasetyo.chat.cache.ActiveUsers;
- import my.id.ariefprasetyo.chat.model.Message;
- import org.springframework.beans.factory.annotation.Autowired;
- 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.SimpMessageHeaderAccessor;
- import org.springframework.messaging.simp.SimpMessageSendingOperations;
- import org.springframework.stereotype.Controller;
- @Controller
- public class SocketController {
- @Autowired
- private SimpMessageSendingOperations messagingTemplate;
- @MessageMapping("/socket/chatroom/sendmsg")
- @SendTo("/topic/public")
- public Message sendingPublicMessage(@Payload Message message){
- System.out.println(message);
- return message;
- }
- @MessageMapping("/socket/personalchat/sendmsg")
- public void sendingPersonalMessage(@Payload Message message){
- System.out.println(message);
- messagingTemplate.convertAndSend("/topic/" + message.getMessageReceiver() , message);
- }
- @MessageMapping("/socket/personalchat/adduser")
- @SendTo("/topic/public")
- public Message addPersonalUser(@Payload Message message, SimpMessageHeaderAccessor headerAccessor){
- System.out.println("New personal chat user added");
- System.out.println(message);
- headerAccessor.getSessionAttributes().put("username", message.getSender());
- ActiveUsers.addUser(message.getSender());
- return message;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement