Я использую весенний веб-разъем в нашем веб-приложении весеннего mvc. Однако, когда я пытаюсь послать действительно большое сообщение в конечную точку, я сталкиваюсь с сообщением о размерах.Сообщение Stomp spring 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>
на стороне клиента код выглядит так
Можете ли вы сообщить мне, что было бы хорошо работать.
Ответ: Если вы знаете, что будет максимальный предельный размер
<websocket:transport message-size="75536" send-buffer-size="75536"></websocket:transport>
Ищу о том, как сделать частичный обмен сообщениями, разместим его здесь, как только я узнаю, и заставить его работать
Спасибо, что частично работал для отправки сообщения, но я не могу получить сообщение на стороне клиента ... – user1707141
Может быть, 'setSendBufferSizeLimit()' для вас? –
Это сработало! Вот как я это сделал в xml \t \t websocket: transport> В настоящее время я просматриваю частичные сообщения. –
user1707141