是否可以与 Spring MVC 一起创建 WebSocket 应用程序
Posted
技术标签:
【中文标题】是否可以与 Spring MVC 一起创建 WebSocket 应用程序【英文标题】:Is it possible to create WebSocket application along with Spring MVC 【发布时间】:2017-02-23 18:15:27 【问题描述】:我对 Spring 框架不太了解,所以我在这里问。是否可以/可以在更大的 Spring MVC 应用程序中创建基于 Spring 的 WebSocket 应用程序?
我看到的所有示例都只创建了 WebSocket 部分,但没有创建 MVC。 那么有可能做到这一点吗?如果是的话,有人可以指出一些很好的例子。
谢谢
【问题讨论】:
【参考方案1】:是的,Spring 支持 websocket,您可以使用 Spring 构建 websocket 应用程序。 Spring 支持 STOMP over websocket,你可以配置如下:
@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig extends AbstractWebSocketMessageBrokerConfigurer
@Override
public void configureMessageBroker(MessageBrokerRegistry config)
config.enableSimpleBroker("/topic/", "/queue/");
config.setApplicationDestinationPrefixes("/app");
@Override
public void registerStompEndpoints(StompEndpointRegistry registry)
registry.addEndpoint("/greeting");;
以上配置将定义消息代理 STOMP 端点和 websocket 应用程序端点。 完成后,您可以从浏览器连接到 websocket。它需要加载 stomp.js。
var socket = new WebSocket('ws://localhost:8080/greeting');
您的控制器级别还需要其他配置,如此处所示 - Spring Websocket Example
【讨论】:
谢谢 Dhiraj,我已经知道了。我想问的是,这个 websocket 应用程序是否可以创建为更大的 spring MVC 应用程序的一部分,并且它们都可以部署在同一台服务器上。 是的,我认为这是可能的,但这完全取决于您如何设计应用程序的架构。您应该考虑查看here以上是关于是否可以与 Spring MVC 一起创建 WebSocket 应用程序的主要内容,如果未能解决你的问题,请参考以下文章
将 Spring Boot Web 应用程序与 Pivotal TC Server 一起使用