アーティクル - CS344485

WebSocket 圧縮をオンにして ThingWorx Java SDK を使用すると、デバイスが ThingWorx Platform との永続的な接続と切断のループに陥る

修正日: 27-Dec-2022   


注記:ここに記載されている情報は、お客様の利便性向上のため機械翻訳ソフトを使用しています。PTCは、ここに記載されている情報の翻訳の正確性について、一切の責任を負いませんので、ご了承ください。英語の原文を参照するには、こちら。この機械翻訳に関する詳細は、こちら。
お知らせいただき、ありがとうございます。この機械翻訳をレビューします。

適用対象

  • 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