Spring Boot、Spring WebSocket、Undertowを使用して大規模なサブプロトコルメッセージを受信する際に問題が発生します。メッセージは16kB後に切断されます。いくつかの掘削を行った後、私は私がやりたいように思われる次の構成プロパティが見つかりました:Spring WebSocketsとUndertowで16kBを超えるWebSocketメッセージを受け取る方法
server.undertow.buffer-size=32768
は、この構成プロパティは、/ configpropsアクチュエータエンドポイントをチェックする際に適切に取り上げているようです。残念ながら、これは16kBを超えるメッセージを受信するのに役立たないようです。
Iはまた、アンダートウドキュメント(強調鉱山)からこの不吉なラインにつまずいた:これは通常て書き込むことができるデータの最大量であるように、サーバのための理想的なサイズは、一般的に16Kである
write()操作を介して(オペレーティングシステムのネットワーク設定に応じて)。
これは、server.undertow.buffer-size
の設定がOSレベルの設定によって制限されているため、何も起こっていないことを確認します。私はUbuntu Linuxを使用しているので、私はnet.core.rmem_*
とnet.core.wmem_*
の設定で回り込んでいますが、これらはいずれの効果もないようです。この問題をmacOSで再現することはできません。
これらのメッセージをサポートするためにUndertow、Spring Boot、および/またはSpring WebSocketを設定する方法を知っている人はいますか?