Spring 引导 + Spring Web 套接字 + RabbitMQ Web STOMP
Spring Boot + Spring Web Socket + RabbitMQ Web STOMP
我正在努力在我的应用程序中添加实时通知
我已经完成了 POC
- Spring 启动
- Spring WebSocket
- 袜子
- RabbitMQ STOMP 插件
我读到了 RabbitMQ Web STOMP 并想对其进行 POC。但它说从 3.7 版开始,对 SockJS websocket 仿真的支持已被删除。
是否有 Spring WebSocket + RabbitMQ Web STOMP 有或没有 SockJS 的例子。
请帮忙。
参考链接:
http://www.rabbitmq.com/stomp.html
@n.sharvarish...首先像这样在 rabbitmq 上创建一个 websocket 配置class...
@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig implements WebSocketMessageBrokerConfigurer {
private static final Logger log = LoggerFactory.getLogger(WebSocketConfig.class);
@Value("${spring.rabbitmq.username}")
private String userName;
@Value("${spring.rabbitmq.password}")
private String password;
@Value("${spring.rabbitmq.host}")
private String host;
@Value("${spring.rabbitmq.port}")
private int port;
@Value("${endpoint}")
private String endpoint;
@Value("${destination.prefix}")
private String destinationPrefix;
@Value("${stomp.broker.relay}")
private String stompBrokerRelay;
@Override
public void configureMessageBroker(final MessageBrokerRegistry config) {
config.enableStompBrokerRelay(stompBrokerRelay).setRelayHost(host).setRelayPort(port).setSystemLogin(userName).setSystemPasscode(password);
config.setApplicationDestinationPrefixes(destinationPrefix);
}
@Override
public void registerStompEndpoints(final StompEndpointRegistry registry) {
registry.addEndpoint(endpoint).setAllowedOrigins("*").withSockJS();
}
}
然后……
在你想使用的地方使用上面的配置 class ..
像这样..
@Autowired
SimpMessagingTemplate template
template.convertAndSend(destinationurl, object);
并配置上面的用户名和密码,全部来自application.properties
我正在努力在我的应用程序中添加实时通知
我已经完成了 POC - Spring 启动 - Spring WebSocket - 袜子 - RabbitMQ STOMP 插件
我读到了 RabbitMQ Web STOMP 并想对其进行 POC。但它说从 3.7 版开始,对 SockJS websocket 仿真的支持已被删除。
是否有 Spring WebSocket + RabbitMQ Web STOMP 有或没有 SockJS 的例子。
请帮忙。
参考链接:
http://www.rabbitmq.com/stomp.html
@n.sharvarish...首先像这样在 rabbitmq 上创建一个 websocket 配置class...
@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig implements WebSocketMessageBrokerConfigurer {
private static final Logger log = LoggerFactory.getLogger(WebSocketConfig.class);
@Value("${spring.rabbitmq.username}")
private String userName;
@Value("${spring.rabbitmq.password}")
private String password;
@Value("${spring.rabbitmq.host}")
private String host;
@Value("${spring.rabbitmq.port}")
private int port;
@Value("${endpoint}")
private String endpoint;
@Value("${destination.prefix}")
private String destinationPrefix;
@Value("${stomp.broker.relay}")
private String stompBrokerRelay;
@Override
public void configureMessageBroker(final MessageBrokerRegistry config) {
config.enableStompBrokerRelay(stompBrokerRelay).setRelayHost(host).setRelayPort(port).setSystemLogin(userName).setSystemPasscode(password);
config.setApplicationDestinationPrefixes(destinationPrefix);
}
@Override
public void registerStompEndpoints(final StompEndpointRegistry registry) {
registry.addEndpoint(endpoint).setAllowedOrigins("*").withSockJS();
}
}
然后…… 在你想使用的地方使用上面的配置 class .. 像这样..
@Autowired
SimpMessagingTemplate template
template.convertAndSend(destinationurl, object);
并配置上面的用户名和密码,全部来自application.properties