Java Spring Boot-在不同连接上启动应用程序的速度较慢

Java Spring Boot-在不同连接上启动应用程序的速度较慢,java,spring,spring-boot,Java,Spring,Spring Boot,我在使用Spring Boot应用程序时遇到了一些奇怪的情况 当我连接到WIFI A(我的家庭网络)或完全断开与internet的连接时,应用程序将在6秒内启动 当我连接到WIFI B(我的工作网络)时,应用程序需要1.5分钟才能启动 这是一个简单的你好,世界!春季应用。主类如下所示: import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBoo

我在使用Spring Boot应用程序时遇到了一些奇怪的情况

当我连接到WIFI A(我的家庭网络)或完全断开与internet的连接时,应用程序将在6秒内启动

当我连接到WIFI B(我的工作网络)时,应用程序需要1.5分钟才能启动

这是一个简单的你好,世界!春季应用。主类如下所示:

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Application {

    public static void main(String[] args) {
        System.out.println("START := " + System.currentTimeMillis());
        SpringApplication.run(Application.class, args);
        System.out.println("STOP := " + System.currentTimeMillis());
    }
}

我看到开始时间戳的打印速度大致相同,因此它必须是SpringApplication.run。这是一个裸类,因此没有其他spring配置。为什么WIFI连接的改变会导致启动延迟?我正在Mac OSX上使用mvn spring boot:run运行这两个程序。chrylis是正确的,这是一个DNS查找问题。通过更改我在工作互联网上的DNS解析设置,启动时间得到了无限的提高


现在我想知道为什么当DNS解析程序运行缓慢时,spring启动会变慢,或者可能是MacOSX的问题?

我遇到了与此类似的问题。一个非常简单的Spring Boot应用程序在办公网络上启动大约需要45秒,在我的家庭网络上启动不到10秒

似乎在识别我的外部IP地址时出现了延迟,但在我的Mac上运行以下命令修复了它

scutil --set HostName "localhost"

闻起来像DNS反向查找。嗯,有没有办法检查它是否是?到目前为止,我似乎找不到任何人有类似的问题。在您的WLAN适配器上安装Wireshark,看看启动时会出现什么流量?1.5分钟是否包括通过Maven下载所有依赖项?总是要花这么长时间,还是第一次?总是。单独运行jar也会导致这个问题。您是否找到任何方法来记录它实际尝试解析的DNS名称?我想看看是否可以在
/etc/hosts