启用 STOMP

WebSocket 上的 STOMP 支持在 spring-messagingspring-websocket 模块中可用。一旦你拥有这些依赖项,你就可以通过 WebSocket 暴露一个 STOMP 端点,如以下示例所示:

对于内置的简单代理,/topic/queue 前缀没有任何特殊 含义。它们仅仅是一种约定,用于区分发布-订阅与点对点 消息(即,多个订阅者与一个消费者)。当你使用外部代理时, 请查阅代理的 STOMP 页面,以了解它支持哪种 STOMP 目的地和 前缀。

要从浏览器连接,对于 STOMP,你可以使用 stomp-js/stompjs,它是最 活跃维护的 JavaScript 库。

以下示例代码基于它:

const stompClient = new StompJs.Client({
	brokerURL: 'ws://domain.com/portfolio',
	onConnect: () => {
		// ...
	}
});

或者,如果你通过 SockJS 连接,你可以在服务器端通过 registry.addEndpoint("/portfolio").withSockJS() 启用 SockJS 回退,并在 JavaScript 端, 通过遵循 这些说明

请注意,前面示例中的 stompClient 不需要指定 loginpasscode 头。即使指定了,它们也会在服务器端被忽略(或者说, 被覆盖)。有关身份验证的更多信息,请参阅 连接到代理身份验证

更多示例代码请参阅: