我接手了一个SpringBoot应用程序,最初是使用Spring boot 1.3(内嵌Tomcat)运行的,使用
我们已经对应用程序进行了详细的分析,但仍然无法弄清楚为什么在IDE中运行得更快。
为了解决上述问题,我们必须执行以下操作:
========================================================================= 编辑:我向Spring提交了https://github.com/spring-projects/spring-boot/issues/8046,这基本上是从这里剪切和粘贴的。
编辑2:如果您遇到此问题并且可以与Spring共享您的代码,请使用上面的链接;我的公司已经锁定了他们的环境。
java -jar project.war
命令启动应用程序。自从我们升级到Spring boot 1.4后,我们发现它启动速度变慢了很多,并且在搜索时延迟更大,与在IDE中运行应用程序时相比。一个很好的例子是搜索“SMITH”。当我们在IDE中运行应用程序时,搜索大约需要5-6秒钟。使用完全相同的代码库、嵌入式服务器配置和主机机器-在使用java -jar project.war
启动时搜索“SMITH”,需要14秒。我们已经对应用程序进行了详细的分析,但仍然无法弄清楚为什么在IDE中运行得更快。
为了解决上述问题,我们必须执行以下操作:
- 将war文件解压到临时目录
- cd到WEB-INF目录
- 运行
java -classpath "lib\:classes\:lib\*.jar" my.package.Main
========================================================================= 编辑:我向Spring提交了https://github.com/spring-projects/spring-boot/issues/8046,这基本上是从这里剪切和粘贴的。
编辑2:如果您遇到此问题并且可以与Spring共享您的代码,请使用上面的链接;我的公司已经锁定了他们的环境。