在生产环境中异常信息没有堆栈信息的异常
原因:发现服务器中日志文件只有异常,但是没有打印堆栈信息,找之前的日志文件发现有完整的堆栈异常信息
这个问题其实是跟JDK5引入的一个新特性有关,对于一些频繁抛出的异常,JDK为了性能会做一个优化,
在JIT重新编译后会抛出没有堆栈的异常。在使用server模式的时候,这个优化是开启的
2018-06-23 12:10:00.029 [ threadPoolTaskScheduler-10 ] - [ ERROR ] [ com.vanvov.hms.exception.SchedulerErrorHandler : 20 ] - 定时任务出现异常
java.lang.NullPointerException: null
原因:发现服务器中日志文件只有异常,但是没有打印堆栈信息,找之前的日志文件发现有完整的堆栈异常信息
这个问题其实是跟JDK5引入的一个新特性有关,对于一些频繁抛出的异常,JDK为了性能会做一个优化,
在JIT重新编译后会抛出没有堆栈的异常。在使用server模式的时候,这个优化是开启的
通过启动参数加入:-XX:-OmitStackTraceInFastThrow ,可以去掉该特性
资料:
https://blog.csdn.net/jiangguilong2000/article/details/47087487
https://blog.csdn.net/zzg1229059735/article/details/72567644
http://lijuanabc.iteye.com/blog/1576095
https://stackoverflow.com/questions/2411487/nullpointerexception-in-java-with-no-stacktrace