【问题解决:信息提示】SpringBoot启动时提示The APR based Apache Tomcat Native library which allows optimal performanc...

问题描述

springboot程序在启动时提示信息

[2018-10-24 21:59:05.214] - 440 信息 [restartedMain] --- org.apache.catalina.core.StandardService: Starting service [Tomcat]
[2018-10-24 21:59:05.220] - 440 信息 [restartedMain] --- org.apache.catalina.core.StandardEngine: Starting Servlet Engine: Apache Tomcat/8.5.34
[2018-10-24 21:59:05.251] - 440 信息 [localhost-startStop-1] --- org.apache.catalina.core.AprLifecycleListener: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: [D:\Work\Java\jdk1.8.0_162\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;D:\Work\Java\jdk1.8.0_162\jre\bin;D:/Work/Java/jdk1.8.0_162/bin/../jre/bin/server;D:/Work/Java/jdk1.8.0_162/bin/../jre/bin;D:/Work/Java/jdk1.8.0_162/bin/../jre/lib/amd64;D:\Work\Java\jdk1.8.0_162\bin;D:\Work\Java\jre1.8.0_162\bin;C:\ProgramData\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;D:\Work\04_Plug-in unit\apache-maven-3.5.3\bin;D:\Work\04_Plug-in unit\gradle-2.10\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;D:\Work\03_Database\MySQL\bin;C:\Program Files\Microsoft VS Code\bin;D:\Work\04_Plug-in unit\TortoiseSVN_1.9.7\bin;D:\Work\04_Plug-in unit\Git\Git\cmd;C:\Users\Sunny\AppData\Local\Microsoft\WindowsApps;;D:\Work\04_Plug-in unit\Mercurial;D:\Work\02_DevelopmentTools\eclipse_4.8_x64_photon;;.]
[2018-10-24 21:59:05.959] - 440 信息 [localhost-startStop-1] --- org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/]: Initializing Spring embedded WebApplicationContext

 

解决方式

把tcnative-1.dll文件放至 Tomcat 6.0\bin 目录下,

或者配置tomcat的环境变量

新建变量名TOMCAT_HOME,值设置为tomcat的安装目录

然后添加到PATH中

 

问题分析

tomcat整合本地apr会使效率提升:
一是,处理静态资源的时候速度更快,(注:有人用jmeter,对使用apr前后的tomcat进行压力测试,结果显示,性能是有一定的提升,但是没有想象中多,只有一点点,当然,这与运行的逻辑有关,但是我个人认为在大多数情况下这部分性能提升甚微)。
二是,我认为提升比较多的是对ssl的处理效率,当tomcat处理https的请求是,如果使用本地的openssl库,肯定会比前面提升的效率高。(虽然没有实际测试数据,但我推测这里的性能提升比例上要比第一点多得多)。

运行本地apr,需要一下三个库:
  * APR library
  * JNI wrappers for APR used by Tomcat (libtcnative)
  * OpenSSL libraries

补充一下,其实这个并不是eclipse或者是myeclipse的问题,而是tomcat本身一个调用本地库的提高运行效率的特性。tomcat没有找到相应的本地库,提示一下而已。

 

你可能感兴趣的:(【问题解决:信息提示】SpringBoot启动时提示The APR based Apache Tomcat Native library which allows optimal performanc...)