3
我在我們的spring mvc web應用中實現彈簧web-socket。然而,當我嘗試向終端發送真正大的消息時,我遇到了超出大小限制的消息。踩踏彈簧web socket的消息超過大小限制
我收到以下錯誤,
message:The 'content-length' header 68718 exceeds the configured message buffer size limit 65536
14:49:11,506 ERROR [org.springframework.web.socket.messaging.StompSubProtocolHandler] (http-localhost/127.0.0.1:8080-4) Failed to parse TextMessage payload=[13684590},..], byteCount=16384, last=true] in session vlsxdeol. Sending STOMP ERROR to client.: org.springframework.messaging.simp.stomp.StompConversionException: The 'content-length' header 68718 exceeds the configured message buffer size limit 65536
at org.springframework.messaging.simp.stomp.BufferingStompDecoder.checkBufferLimits(BufferingStompDecoder.java:148) [spring-messaging-4.1.6.RELEASE.jar:4.1.6.RELEASE]
at org.springframework.messaging.simp.stomp.BufferingStompDecoder.decode(BufferingStompDecoder.java:124) [spring-messaging-4.1.6.RELEASE.jar:4.1.6.RELEASE]
這裏是我的配置
@MessageMapping("/user/sockettest")
@SendTo("/topic/sockettestresult")
public String sockAdd(ListId[] listIds) {
..
SecurityContextHolder.getContext().getAuthentication().getPrincipal();
return stringRet;
}
XML配置如下所示
<websocket:simple-broker prefix="/topic"/>
<websocket:message-converters register-defaults="false">
<bean id="mappingJackson2MessageConverter" class="org.springframework.messaging.converter.MappingJackson2MessageConverter">
<property name="objectMapper" ref="objectMapper"></property>
</bean>
</websocket:message-converters>
</websocket:message-broker>
客戶端代碼看起來像這樣
function versionFiles() {
stompClient.send("/testbrkr/user/sockettest", {}, JSON.stringify(listIds));
}
你可以讓我知道什麼是一個很好的解決辦法。
答:如果你知道什麼是最大尺寸限制
<websocket:transport message-size="75536" send-buffer-size="75536"></websocket:transport>
我找就怎麼做局部的消息,將在這裏只要我發現後,並得到它的工作
謝謝,部分用於發送消息,但我無法在客戶端收到消息... – user1707141
也許'setSendBufferSizeLimit()'是給你的嗎? –
工作正常!下面是我在xml中如何做的 \t \t websocket:transport>我目前正在調查部分郵件.. –
user1707141