我使用以下内容创建了java web app

  • jdk版本1.8

  • spring version 4.2.0.RELEASE

  • jstl版本1.2

  • thymeleaf版本2.1.3.RELEASE

它使用 spring 靴,我用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)

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

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

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

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

<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>