为什么模板解析器在几天后停止工作?

时间:2017-05-19 17:01:54

标签: java spring spring-mvc spring-boot thymeleaf

我使用以下

创建了java web应用程序
  • jdk version 1.8
  • spring version 4.2.0.RELEASE
  • jstl版本1.2
  • thymeleaf版本2.1.3.RELEASE

它使用弹簧靴,我用jetty跑步者。

一切正常,问题是在保持应用程序运行几天(大约15天)之后,Spring在解析视图时出现问题,当您打开应用程序时,会出现500错误,然后是下面的跟踪

org.thymeleaf.exceptions.TemplateInputException: Error resolving template "scanMasterView", template might not exist or might not be accessible by any of the configured Template Resolvers
   at org.thymeleaf.TemplateRepository.getTemplate(TemplateRepository.java:245)
   at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1104)
   at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1060)
   at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1011)
   at org.thymeleaf.spring4.view.ThymeleafView.renderFragment(ThymeleafView.java:335)
   at org.thymeleaf.spring4.view.ThymeleafView.render(ThymeleafView.java:190)
   at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1244)
   at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1027)
   at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:971)
   at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893)
   at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
   at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:687)
   at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
   at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:808)
   at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669)
   at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
   at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
   at org.eclipse.jetty.servlets.UserAgentFilter.doFilter(UserAgentFilter.java:83)
   at org.eclipse.jetty.servlets.GzipFilter.doFilter(GzipFilter.java:364)
   at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
   at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)
   at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
   at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577)
   at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)
   at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
   at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
   at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
   at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)
   at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
   at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:215)
   at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:110)
   at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
   at org.eclipse.jetty.server.Server.handle(Server.java:497)
   at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310)
   at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
   at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)
   at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
   at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
   at java.lang.Thread.run(Thread.java:745)

我认为问题不是来自码头,我不确定它是春天还是百里香。

如果我重新启动应用程序再次正常运行15天,我正在监视内存使用情况,寻找泄漏但一切都很好,只是解析器在那些日子之后停止工作而没有提供有关崩溃的更多信息< / p>

你以前遇到过这个问题吗?任何线索?

编辑: 这就是模板解析器的配置方式

<bean id="templateResolver"
      class="org.thymeleaf.templateresolver.ServletContextTemplateResolver">
    <property name="prefix" value="/WEB-INF/views/"/>
    <property name="suffix" value=".html"/>
    <property name="templateMode" value="HTML5"/>
</bean>

<bean id="templateEngine" class="org.thymeleaf.spring4.SpringTemplateEngine">
    <property name="templateResolver" ref="templateResolver"/>
</bean>

<bean class="org.thymeleaf.spring4.view.ThymeleafViewResolver">
    <property name="templateEngine" ref="templateEngine"/>
</bean>

0 个答案:

没有答案