02:00:05.497 [pool-10-thread-1] ERROR o.s.s.s.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task.
java.lang.StackOverflowError: null
at java.text.DecimalFormat.subformat(DecimalFormat.java:1639)
at java.text.DecimalFormat.format(DecimalFormat.java:712)
at java.text.DecimalFormat.format(DecimalFormat.java:646)
at java.text.SimpleDateFormat.zeroPaddingNumber(SimpleDateFormat.java:1393)
at java.text.SimpleDateFormat.subFormat(SimpleDateFormat.java:1332)
at java.text.SimpleDateFormat.format(SimpleDateFormat.java:966)
at java.text.SimpleDateFormat.format(SimpleDateFormat.java:936)
at java.text.DateFormat.format(DateFormat.java:345)
at ch.qos.logback.core.util.CachingDateFormatter.format(CachingDateFormatter.java:48)
at ch.qos.logback.classic.pattern.DateConverter.convert(DateConverter.java:61)
at ch.qos.logback.classic.pattern.DateConverter.convert(DateConverter.java:23)
at ch.qos.logback.core.pattern.FormattingConverter.write(FormattingConverter.java:36)
at ch.qos.logback.core.pattern.PatternLayoutBase.writeLoopOnConverters(PatternLayoutBase.java:115)
at ch.qos.logback.classic.PatternLayout.doLayout(PatternLayout.java:141)
at ch.qos.logback.classic.PatternLayout.doLayout(PatternLayout.java:39)
at ch.qos.logback.core.encoder.LayoutWrappingEncoder.encode(LayoutWrappingEncoder.java:115)
at ch.qos.logback.core.OutputStreamAppender.subAppend(OutputStreamAppender.java:230)
at ch.qos.logback.core.rolling.RollingFileAppender.subAppend(RollingFileAppender.java:235)
at ch.qos.logback.core.OutputStreamAppender.append(OutputStreamAppender.java:102)
at ch.qos.logback.core.UnsynchronizedAppenderBase.doAppend(UnsynchronizedAppenderBase.java:84)
at ch.qos.logback.core.spi.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:51)
at ch.qos.logback.classic.Logger.appendLoopOnAppenders(Logger.java:270)
at ch.qos.logback.classic.Logger.callAppenders(Logger.java:257)
at ch.qos.logback.classic.Logger.buildLoggingEventAndAppend(Logger.java:421)
at ch.qos.logback.classic.Logger.filterAndLog_0_Or3Plus(Logger.java:383)
at ch.qos.logback.classic.Logger.info(Logger.java:579)
at cn.bywin.cbvsp.controller.FastDFSController.deletePic(FastDFSController.java:79)
at cn.bywin.cbvsp.controller.FastDFSController.deletePic(FastDFSController.java:80)
at cn.bywin.cbvsp.controller.FastDFSController.deletePic(FastDFSController.java:80)
at cn.bywin.cbvsp.controller.FastDFSController.deletePic(FastDFSController.java:80)
当报这个错的时候,就应该是栈溢出。很有可能是递归造成的原因。 参考:java.lang.StackOverflowError: null
查找报错的行数:
发现在删除的时候执行了递归操作。所以导致这个报错。
解决方案: 如果删除超时就不管它,继续让它删除其他的。
如果定时线程盏内存溢出,将不会再执行往后的语句了。