首页 > 解决方案 > 调试 Java / Tomcat 应用程序创建内部连接

问题描述

我在 tomcat 中部署了一个 Web 应用程序,它有太多的连接,如下所示。我想知道哪个模块/库正在创建这样的连接。

  TCP    0.0.0.0:8009           0.0.0.0:0              LISTENING       268
  TCP    0.0.0.0:8080           0.0.0.0:0              LISTENING       268
  TCP    127.0.0.1:8005         0.0.0.0:0              LISTENING       268
  TCP    127.0.0.1:44251        127.0.0.1:3306         ESTABLISHED     268
  TCP    127.0.0.1:44252        127.0.0.1:3306         ESTABLISHED     268
  TCP    127.0.0.1:44257        127.0.0.1:3306         ESTABLISHED     268
  TCP    127.0.0.1:44258        127.0.0.1:3306         ESTABLISHED     268
  TCP    127.0.0.1:44260        127.0.0.1:3306         ESTABLISHED     268
  TCP    127.0.0.1:44261        127.0.0.1:44262        ESTABLISHED     268
  TCP    127.0.0.1:44262        127.0.0.1:44261        ESTABLISHED     268
  TCP    127.0.0.1:44263        127.0.0.1:44264        ESTABLISHED     268
  TCP    127.0.0.1:44264        127.0.0.1:44263        ESTABLISHED     268
  TCP    127.0.0.1:44265        127.0.0.1:44266        ESTABLISHED     268
  TCP    127.0.0.1:44266        127.0.0.1:44265        ESTABLISHED     268
  TCP    127.0.0.1:44267        127.0.0.1:44268        ESTABLISHED     268
  TCP    127.0.0.1:44268        127.0.0.1:44267        ESTABLISHED     268
  TCP    127.0.0.1:44269        127.0.0.1:44270        ESTABLISHED     268
  TCP    127.0.0.1:44270        127.0.0.1:44269        ESTABLISHED     268
  TCP    127.0.0.1:44271        127.0.0.1:44272        ESTABLISHED     268
  TCP    127.0.0.1:44272        127.0.0.1:44271        ESTABLISHED     268
  TCP    127.0.0.1:44273        127.0.0.1:44274        ESTABLISHED     268
  TCP    127.0.0.1:44274        127.0.0.1:44273        ESTABLISHED     268
  TCP    127.0.0.1:44275        127.0.0.1:44276        ESTABLISHED     268
  TCP    127.0.0.1:44276        127.0.0.1:44275        ESTABLISHED     268
  TCP    127.0.0.1:44277        127.0.0.1:44278        ESTABLISHED     268
  TCP    127.0.0.1:44278        127.0.0.1:44277        ESTABLISHED     268
  TCP    127.0.0.1:44279        127.0.0.1:44280        ESTABLISHED     268
  TCP    127.0.0.1:44280        127.0.0.1:44279        ESTABLISHED     268
  TCP    127.0.0.1:44281        127.0.0.1:44282        ESTABLISHED     268
  TCP    127.0.0.1:44282        127.0.0.1:44281        ESTABLISHED     268
  TCP    127.0.0.1:44283        127.0.0.1:44284        ESTABLISHED     268
  TCP    127.0.0.1:44284        127.0.0.1:44283        ESTABLISHED     268
  TCP    127.0.0.1:44285        127.0.0.1:44286        ESTABLISHED     268
  TCP    127.0.0.1:44286        127.0.0.1:44285        ESTABLISHED     268
  TCP    127.0.0.1:44287        127.0.0.1:44288        ESTABLISHED     268
  TCP    127.0.0.1:44288        127.0.0.1:44287        ESTABLISHED     268
  TCP    127.0.0.1:44289        127.0.0.1:44290        ESTABLISHED     268
  TCP    127.0.0.1:44290        127.0.0.1:44289        ESTABLISHED     268
  TCP    127.0.0.1:44291        127.0.0.1:44292        ESTABLISHED     268
  TCP    127.0.0.1:44292        127.0.0.1:44291        ESTABLISHED     268
  TCP    127.0.0.1:44293        127.0.0.1:44294        ESTABLISHED     268
  TCP    127.0.0.1:44294        127.0.0.1:44293        ESTABLISHED     268
  TCP    192.168.1.128:8080     192.168.1.128:43916    ESTABLISHED     268
  TCP    192.168.1.128:8080     192.168.1.128:44295    ESTABLISHED     268

如果您查看连接,则存在连接对。例如:

 TCP    127.0.0.1:44265        127.0.0.1:44266
 TCP    127.0.0.1:44266        127.0.0.1:44265

在某些情况下,这些连接对会出现 1000 个连接。我们不会手动创建这些连接对。我们使用一个库来管理与外部设备的套接字连接。该库反过来使用 apache mina。调试这种奇怪的连接对的可能方法是什么?

标签: javasocketstomcat7

解决方案


生成堆转储并使用工具对其进行分析。这将告诉您创建所有连接对象的类。

https://dzone.com/articles/java-heap-dump-analyzer-1


推荐阅读