Spring如何管理与RabbitMQ的websocket连接?

时间:2014-07-10 08:24:54

标签: spring rabbitmq spring-websocket

我有一个使用websocket进行实时多重播放的游戏服务器。这是一个Spring 4应用程序,我使用RabbitMQ作为我的经纪人。这是我的配置:

<websocket:message-broker application-destination-prefix="/app">
    <websocket:stomp-endpoint path="/portfolio">
        <websocket:sockjs/>
    </websocket:stomp-endpoint>
    <websocket:simple-broker prefix="/queue, /topic"/>
</websocket:message-broker>

从4个客户的非常小的测试中,我看到Rabbit上有4个连接。

使用websocket连接到我的服务器的每个客户端是否最终都会打开与代理(RabbitMQ)的新连接?可以配置吗?

1 个答案:

答案 0 :(得分:2)

是的,每个websocket客户端都获得自己与代理的TCP连接。该文档有connections to the broker部分(强调我的):

  

STOMP经纪人中继维护单个&#34;系统&#34;与代理的TCP连接。此连接仅用于源自服务器端应用程序的消息,而不用于接收消息。 [...]

     

STOMP代理中继还为每个连接的WebSocket客户端创建单独的TCP连接。 [...]

如果可以配置或不配置我不知道,我不熟悉Spring的这一部分,但我认为它应该是;春天是开放的延伸。我的建议是在spring-websocket-portfolio项目上发布一个问题并询问具体细节。

编辑: OP在spring-websocket-portfolio项目上打开了以下issue