FileNotFoundException on existing template

mira <[email protected]>
Newsgroups gmane.comp.web.freemarker.user
Message-ID <[email protected]>
Hi, I posted this question on the FreeMarker page but got no answer so
re-posting here in case no one saw my post. If you have, sorry for the
repetition

We are using freemarker 2.3.16 with Spring MVC 

After our website is up for a while (around one week), it stops working and
our log files are filled with a FileNotFoundException on one of the
templates; except this template is being used on all pages, meaning it is
not missing. We thought it may be a garbage collection issue on the cache
issue so using the spring configurer for freemarker we set the cache to
Strong: 

<bean id="freemarkerConfig"
class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
      <property name="templateLoaderPath" value="/WEB-INF/views/"/>
      <property name="freemarkerSettings">
        <props>
          <prop key="url_escaping_charset">UTF-8</prop>
          <prop key="cache_storage">strong</prop>
        </props>
      </property>
    </bean>

However, the exception still appeared. Do you have any idea why this may be
happening and how to solve? 



the following is a sample of the exception found: 


Error reading imported file syndi-macros.ftl The problematic instruction: 
---------- ==> import "syndi-macros.ftl" as syndi [on line 2, column 1 in 
index.ftl] ---------- Java backtrace for programmers: ---------- 
freemarker.template.TemplateException: Error reading imported file 
syndi-macros.ftl at freemarker.core.LibraryLoad.accept(LibraryLoad.java:122)
at 
freemarker.core.Environment.visit(Environment.java:210) at 
freemarker.core.MixedContent.accept(MixedContent.java:92) at 
freemarker.core.Environment.visit(Environment.java:210) at 
freemarker.core.Environment.process(Environment.java:190) at 
freemarker.template.Template.process(Template.java:237) at 
org.springframework.web.servlet.view.freemarker.FreeMarkerView.processTemplate(FreeMarkerView.java:366) 
at 
org.springframework.web.servlet.view.freemarker.FreeMarkerView.doRender(FreeMarkerView.java:283) 
at 
org.springframework.web.servlet.view.freemarker.FreeMarkerView.renderMergedTemplateModel(FreeMarkerView.java:233) 
at 
org.springframework.web.servlet.view.AbstractTemplateView.renderMergedOutputModel(AbstractTemplateView.java:167) 
at 
org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250) 
at 
org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1047) 
at 
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:817) 
at 
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719) 
at 
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644) 
at 
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) at 
javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at 
org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:538) at 
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1352) 
at
org.eclipse.jetty.servlets.UserAgentFilter.doFilter(UserAgentFilter.java:77) 
at org.eclipse.jetty.servlets.GzipFilter.doFilter(GzipFilter.java:133) at 
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1323) 
at
com.knowledgeview.util.web.DateFilter.doFilterInternal(DateFilter.java:17) 
at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) 
at 
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1323) 
at 
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88) 
at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) 
at 
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1323) 
at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:368) 
at 
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109) 
at 
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83) 
at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) 
at 
org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:97) 
at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) 
at 
org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:100) 
at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) 
at 
org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:78) 
at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) 
at 
org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:112) 
at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) 
at 
org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54) 
at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) 
at 
org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:35) 
at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) 
at 
org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:177) 
at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) 
at 
org.springframework.security.web.authentication.ui.DefaultLoginPageGeneratingFilter.doFilter(DefaultLoginPageGeneratingFilter.java:91) 
at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) 
at 
org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:187) 
at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) 
at 
org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105) 
at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) 
at 
org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:79) 
at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380) 
at 
org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:169) 
at 
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237) 
at 
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167) 
at 
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1323) 
at
com.knowledgeview.util.web.SessionIdFilter.doFilter(SessionIdFilter.java:51) 
at 
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1323) 
at
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:474) 
at 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119) 
at
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:517) 
at 
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:225) 
at 
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:934) 
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:404)
at 
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:183) 
at 
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:869) 
at 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117) 
at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:47)
at 
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:151) 
at 
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:114) 
at org.eclipse.jetty.server.Server.handle(Server.java:341) at 
org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:589) 
at 
org.eclipse.jetty.server.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:1048) 
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:601) at 
org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:214) at 
org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:411) at 
org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:515) 
at 
org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:40) 
at 
org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:529) 
at java.lang.Thread.run(Thread.java:662) Caused by: 
java.io.FileNotFoundException: Template syndi-macros.ftl not found. at 
freemarker.template.Configuration.getTemplate(Configuration.java:489) at 
freemarker.core.Environment.getTemplateForInclusion(Environment.java:1465)
at 
freemarker.core.Environment.getTemplateForImporting(Environment.java:1519)
at 
freemarker.core.LibraryLoad.accept(LibraryLoad.java:112) ... 82 more

--
View this message in context: http://freemarker.624813.n4.nabble.com/FileNotFoundException-on-existing-template-tp4654081.html
Sent from the freemarker-user mailing list archive at Nabble.com.

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.