我有一个使用 web-sockets 和 stomp 的 Spring Boot 应用程序,由于我们的 ISAM 设置的限制,我必须使用该xhr-polling协议,并且该应用程序将托管在Pivotal Cloud Foundry (PCF).
当我运行单个实例时,使用以下代码(如下)一切正常。
服务器
@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig extends AbstractWebSocketMessageBrokerConfigurer {
@Override
public void configureMessageBroker(MessageBrokerRegistry registry) {
registry.enableSimpleBroker("/dummy");
registry.setApplicationDestinationPrefixes("/app");
}
@Override
public void registerStompEndpoints(StompEndpointRegistry stompEndpointRegistry) {
stompEndpointRegistry
.addEndpoint("/dummyendpoint")
.setAllowedOrigins("*")
.withSockJS();
}
}
Run Code Online (Sandbox Code Playgroud)
客户
var socket,client;
socket = new SockJS('http://localhost:8080/dummyendpoint');
client = Stomp.over(socket);
client.connect({}, function () {
client.subscribe('/dummy/message', function (message) {
console.log('subscribed');
}
});
Run Code Online (Sandbox Code Playgroud)
但是,如果我扩展到 2 个实例,web-socket连接就会开始失败:
GET localhost:8080/dummyendpoint/info -> Status 200
POST …Run Code Online (Sandbox Code Playgroud)