【发布时间】:2014-11-18 11:34:19
【问题描述】:
我正在使用带有 RabbitMQ 和 STOMP 的 Spring 4 websocket。我的代理 xml 是:
<websocket:message-broker application-destination-prefix="/app">
<websocket:stomp-endpoint path="/ws">
<websocket:sockjs/>
</websocket:stomp-endpoint>
<websocket:stomp-broker-relay prefix="/topic"
relay-host="${websocket.relay.host}" relay-port="61613" client-login="XXXX" client-passcode="XXXX" system-login="XXXX" system-passcode="XXXX"
heartbeat-send-interval="20000" heartbeat-receive-interval="20000"/>
<!-- <websocket:simple-broker prefix="/topic"/> -->
<websocket:client-inbound-channel>
<websocket:executor core-pool-size="50" max-pool-size="100" queue-capacity="100" keep-alive-seconds="60"/>
</websocket:client-inbound-channel>
<websocket:client-outbound-channel>
<websocket:executor core-pool-size="50" max-pool-size="100" queue-capacity="100" keep-alive-seconds="60"/>
</websocket:client-outbound-channel>
<websocket:broker-channel>
<websocket:executor core-pool-size="50" max-pool-size="100" queue-capacity="100" keep-alive-seconds="60"/>
</websocket:broker-channel>
</websocket:message-broker>
消息在客户端间歇性丢失。我已经使用 SimpMessagingTemplate 将消息转发给代理。
我还将文本的大小配置为:
<beans:bean class="org.springframework.web.socket.server.standard.ServletServerContainerFactoryBean ">
<beans:property name="maxTextMessageBufferSize" value="8192000"/>
<beans:property name="maxBinaryMessageBufferSize" value="8192000"/>
</beans:bean>
我无法理解消息是否从服务器丢失到代理或代理到浏览器。
任何帮助将不胜感激。
【问题讨论】:
-
您是否尝试过调试您的应用程序?
-
实际上是它的 PROD ,所以我不能把它放在远程调试上,但是有日志表明应用程序试图使用 simpmessaging 模板推送结果。
-
@Vineet 我正在尝试在我的本地主机上使用 RabbitMQ,但使用起来很困难,你能给我任何关于此的指示
-
@PankajNimgade 当然。请分享您的问题
-
@PankajNimgade 你可以通过构建一个可执行的 jar 文件来运行 Java 代码,或者你可以构建一个战争并部署在像 Tomcat 这样的容器中。
标签: java rabbitmq spring-websocket