Нужна помощь при подключении Websocket весной к базе данных - PullRequest
0 голосов
/ 03 апреля 2019

Мне нужна помощь с подключением моего WebSocket к моей БД при весенней загрузке.

Я знаю, что доступ к БД происходит в контроллере, но я не знаю, как.

@Controller
public class ChatController {

    @MessageMapping("/chat.register")
    @SendTo("/topic/public")
    public ChatMessage register(@Payload ChatMessage chatMessage, SimpMessageHeaderAccessor headerAccessor) {
        headerAccessor.getSessionAttributes().put("username", chatMessage.getSender());
        return chatMessage;

    }

    @MessageMapping("/chat.send")
    @SendTo("/topic/public")
    public ChatMessage sendMessage(@Payload ChatMessage chatMessage) {
        return chatMessage;
    } 

}

Где бы я подключился к БД

1 Ответ

0 голосов
/ 04 апреля 2019

Не стоит добавлять репозиторий в ваш контроллер. Лучше всего добавить сервисный уровень между контроллером и базой данных.

@Controller
public class ChatController {

@Autowired
private Chatservice chatservice;

    @MessageMapping("/chat.register")
    @SendTo("/topic/public")
    public ChatMessage register(@Payload ChatMessage chatMessage, SimpMessageHeaderAccessor headerAccessor) {
        headerAccessor.getSessionAttributes().put("username", chatMessage.getSender());
        chatservice.saveChatMessage(chatMessage); // save this too?
        return chatMessage;

    }

    @MessageMapping("/chat.send")
    @SendTo("/topic/public")
    public ChatMessage sendMessage(@Payload ChatMessage chatMessage) {
        chatservice.saveChatMessage(chatMessage);
        return chatMessage;
    } 

}

@Service
private class ChatService {

@Autowired
private ChatRepository repository;

public void saveChatMessage(ChatMessage chatMessage) {
  // do more business stuff here e.g. Mapping to Entity ....
  repository.save(chatMessage);
}

}

public interface ChatRepository extends CrudRepository<ChatMessage, Long>  {
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...