アーティクル - CS344485
WebSocket 圧縮をオンにして ThingWorx Java SDK を使用すると、デバイスが ThingWorx Platform との永続的な接続と切断のループに陥る
修正日: 27-Dec-2022
適用対象
- ThingWorx Platform 8.1 F000 to 8.5 SP14
説明
- Apache Tomcat WebSocket接続に関連する ThingWorx Platform での大量のメモリ リークの観察
- WS接続がメモリ リークを引き起こしているようです
- Apache Tomcat 接続メカニズムがWS接続を開いたままにし、メモリ リークを引き起こす
- Tomcat http-nio-<Port>-AsyncTimeoutが多数の接続を保持しています
- インスタンスがヒープ領域を使い果たすまで、 JVM ヒープはゆっくりと消費されます
- ガベージ コレクション操作によってヒープのサイズが大幅に縮小されない
- ThingWorx Java SDK をWebSocket圧縮をオンにし、メッセージ サイズ = BlockSizeで使用すると、接続が失敗します。
ClientConfigurator config = new ClientConfigurator(); config.compressionEnabled(true); config.setBlockSize(8192);
- ThingWorx Java SDK デバイスが永続的な接続と切断のループに陥ります。
(CONNECTION) Server WebSocket OPEN [session id: 33] (CONNECTION) Server WebSocket CLOSED [session id: 33, reason: CloseReason: code [1009], reason [No async message support and buffer too small. Buffer size: [8,192], Message size: [1,202]]]
最新バージョンはこちらを参照ください CS344485