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

http://www.rabbitmq.com/web-stomp.html

https://spring.io/guides/gs/messaging-stomp-websocket/

@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