Spring Boot – как настроить максимальный размер полезной нагрузки веб-сокетаJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Spring Boot – как настроить максимальный размер полезной нагрузки веб-сокета

Сообщение Anonymous »

Я безуспешно пытался настроить максимальный размер полезной нагрузки для двоичных и текстовых сообщений для серверного приложения Websocket в Spring Boot.
Справедливо отметить, что я не использую AbstractWebSocketMessageBrokerConfigurer для сообщений брокера с STOMP, который содержит метод настройки размера полезной нагрузки, например:

Код: Выделить всё

@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig implements WebSocketMessageBrokerConfigurer {

@Override
public void configureWebSocketTransport(WebSocketTransportRegistration registry) {
registry.setMessageSizeLimit(8 *1024);
registry.setSendBufferSizeLimit(8 *1024);
registry.setSendTimeLimit(8 *1024);
}
}
Также попытка внедрить ServletServerContainerFactoryBean как часть компонента конфигурации Websocket не работает:

Код: Выделить всё

  @Bean
public ServletServerContainerFactoryBean createWebSocketContainer() {
ServletServerContainerFactoryBean container = new ServletServerContainerFactoryBean();
container.setMaxTextMessageBufferSize(8 * 1024);
container.setMaxBinaryMessageBufferSize(8 * 1024);
return container;
}
Используя необработанный обработчик веб-сокетов, я не нашел способа настроить ограничение, кроме как внутри экземпляра AbstractWebSocketHandler как часть метода afterConnectionEstablished для каждого сеанса как показано ниже.

Код: Выделить всё

public class WebSocketHandler extends AbstractWebSocketHandler {
private static final Logger logger = LoggerFactory.getLogger(WebSocketHandler.class);

/**
* @param session
*/
@Override
public void afterConnectionEstablished(WebSocketSession session) {
logger.info("Connection established on session: {}", session.getId());

session.setBinaryMessageSizeLimit(64 * 1024); // Can be loaded from profile configuration parameter
session.setTextMessageSizeLimit(64 * 1024);   // Can be loaded from profile configuration parameter
}
}
Вопрос:
  • Я что-то упустил, переменную конфигурации профиля, компонент который можно внедрить, или это единственный способ настроить максимальный размер полезной нагрузки для сообщений веб-сокета?


Подробнее здесь: https://stackoverflow.com/questions/793 ... yload-size
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»