Es ist berechtigt zu erwähnen, dass ich sie nicht verwende AbstractWebSocketMessageBrokerConfigurer für Broker-Nachrichten mit STOMP, der die Methode zum Konfigurieren der Nutzlastgröße enthält, zum Beispiel:
Code: Select all
@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);
}
}
Code: Select all
@Bean
public ServletServerContainerFactoryBean createWebSocketContainer() {
ServletServerContainerFactoryBean container = new ServletServerContainerFactoryBean();
container.setMaxTextMessageBufferSize(8 * 1024);
container.setMaxBinaryMessageBufferSize(8 * 1024);
return container;
}
Code: Select all
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
}
}
- Vermisse ich etwas, eine Profilkonfigurationsvariable, eine Bean? Das kann injiziert werden, oder ist dies die einzige Möglichkeit, die maximale Nutzlastgröße für Websocket-Nachrichten zu konfigurieren?