技术文章 - CS344485

在打开 WebSocket 压缩的情况下使用 ThingWorx Java SDK 时,设备会卡在与 ThingWorx Platform 的永久连接-断开循环中

已修改: 27-Dec-2022   


注意:本文已使用机器翻译软件翻译,以方便非英语客户阅读。但翻译内容可能包含语法错误或不准确之处。请注意, PTC对本文所含信息的翻译准确性及使用后果不承担任何责任。请在 此处 查看本文的英文原始版本以便参考。有关机器翻译的更多详情,请单击 此处
感谢您告诉我们。我们将尽快审阅此译文。

适用于

  • ThingWorx Platform 8.1 F000 to 8.5 SP14

说明

  • 观察 ThingWorx Platform 中与 Apache Tomcat WebSocket连接相关的大量内存泄漏
  • WS连接似乎导致内存泄漏
  • Apache Tomcat 连接机制保持WS连接打开并导致内存泄漏
  • Tomcat http-nio-<Port>-AsyncTimeout持有大量连接
  • JVM Heap被缓慢消耗,直到实例用完堆空间
    • 垃圾收集操作不会减少堆的大小
  • 当使用 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]]]
这是文章 344485 的 PDF 版本,可能已过期。最新版本 CS344485