2008-09-16 12 views
2

Ekibimiz, hız şablonları ile sürekli bir sorun yaşıyor. Görüntülendikten sonra, bazıları "Template.merge() hatası - Hız Şablonu Oluşturulamıyor", /template.vm "" mesajıyla bir RuntimeException atar. Sorunu yeniden üretemedik ve web'deki belgeler oldukça yetersiz. Sorun sürekli olarak tekrarlanamaz - sunumu bazen hataya neden olan aynı şablonlar, başka zamanlarda da sorunsuz bir şekilde görüntüleniyor. Şablon sınıfı source code da az yardımcıdır. Şimdiden teşekkür ederim.Hız Template.merge() hatasına neden olur? Biri nasıl önler?


Düzenleme: Nathan Bubna'nın yanıtını temel alarak, Velocity sürüm 1.4 kullandığımızı açıklığa kavuşturmalıyım.


Düzenleme: yığıtı faydalı olacağını işaret olduğundan, burada:

2008-09-15 11: 07: 57.336 HATA hız - Template.merge() arızası. Büyük olasılıkla, ayrıştırma hatası nedeniyle belge boş. 2008-09-15 11: 07: 57,336 HATA VelocityResult - Hız Şablonu Oluşturulamıyor, '/search/[template-redacted].vm' java.lang.Exception: Template.merge() hatası. Büyük olasılıkla, ayrıştırma hatası nedeniyle belge boş. Com.opensymphony.webwork.dispatcher.WebWorkResultSupport adresindeki com.opensymphony.webwork.dispatcher.VelocityResult.doExecute (VelocityResult.java:91) adresindeki org.apache.velocity.Template.merge (Template.java:277) adresinden . com.opensymphony de com.opensymphony.xwork.DefaultActionInvocation.invoke (DefaultActionInvocation.java:182) de com.opensymphony.xwork.DefaultActionInvocation.executeResult (DefaultActionInvocation.java:258) de (WebWorkResultSupport.java:109) yürütün. com.opensymphony.xwork.interceptor.AroundInterceptor.intercept (AroundInterceptor.java de com.opensymphony.xwork.DefaultActionInvocation.invoke (DefaultActionInvocation.java:164) de xwork.interceptor.AroundInterceptor.intercept (AroundInterceptor.java:35) : 35)com.opensymphony.xwork.DefaultActionInvocation.invoke de com.opensymphony.xwork.interceptor.AroundInterceptor.intercept (AroundInterceptor.java:35) de com.opensymphony.xwork.DefaultActionInvocation.invoke (DefaultActionInvocation.java:164) (encom.opensymphony.xwork.DefaultActionInvocation.invoke (DefaultActionInvocation.java:164) com.opensymphony en de com.opensymphony.xwork.interceptor.AroundInterceptor.intercept (AroundInterceptor.java:35) de DefaultActionInvocation.java:164) . com.opensymphony.xwork.interceptor.AroundInterceptor.intercept (aroundInterceptor.java: com.opensymphony.xwork.DefaultActionInvocation.invoke (DefaultActionInvocation.java:164) adresindeki xwork.interceptor.AroundInterceptor.intercept (AroundInterceptor.java:35) 35)com.opensymphony.webwork.dispatcher.ServletDispatcher.serviceAction de com.opensymphony.xwork.DefaultActionProxy.execute (DefaultActionProxy.java:116) de com.opensymphony.xwork.DefaultActionInvocation.invoke (DefaultActionInvocation.java:164) (enjavax.servlet.http.HttpServlet.service (HttpServlet.java:802) org.apache en de com.opensymphony.webwork.dispatcher.ServletDispatcher.service (ServletDispatcher.java:237) de ServletDispatcher.java:272) . com.opensymphony.module.sitemesh.filter.PageFilter.doFilter de org.apache.catalina.core.ApplicationFilterChain.doFilter de catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:252) (ApplicationFilterChain.java:173) (PageFilter.java:39) org.apache.catalina adresindeki . org.apache'de core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:202) .catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:173) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter de org.nanocontainer.nanowar.webwork2.PicoObjectFactoryFilter.doFilter (PicoObjectFactoryFilter.java:46) de (ApplicationFilterChain. java: org.apache.catalina de org.nanocontainer.nanowar.ServletRequestContainerFilter.doFilter (ServletRequestContainerFilter.java:44) de org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:173) 202) . com.bostoncapital.stuyvesant.RememberUserNameFilter.doFilter de org.apache.catalina.core.ApplicationFilterChain.doFilter de core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:202) (ApplicationFilterChain.java:173) (RememberUserNameFilter.java : Org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:173 de org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:202) de 30) ) org.apache.catalina de org.apache.catalina.core.StandardContextValve.invoke (StandardContextValve.java:178) at org.apache.catalina.authenticator.AuthenticatorBase.invoke (AuthenticatorBase.java adresinde). : 482) org.apache.catalina.valves.AccessLogValve.invoke (AccessLogValve.java:526 de ) org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java:126 de ) org.apache.catalina de .valves.ErrorReportValve.invoke (ErrorReportValve.java:105) a t org.apache.catalina.core.StandardEngineValve.invoke (StandardEngineValve.java:107) org.apache.catalina.connector.CoyoteAdapter.service (CoyoteAdapter.java:148) adresinde org.apache.coyote.http11.Http11Processor .process (Http11Processor.java:825) org.apache.coyote.http11.Http11Protocol $ Http11ConnectionHandler.processConnection de (Http11Protocol.java:738) org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket de (PoolTcpEndpoint.java : 526) org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt (LeaderFollowerWorkerThread.java:80 de ) org.apache.tomcat.util.threads.ThreadPool $ ControlRunnable.run (ThreadPool.java:684 de ) java.lang.Thread.run (Bilinmeyen Kaynak)

cevap

3

Hızın hangi sürümü kullanıyorsunuz? Eski versiyonlarda buna sebep olan bazı yarış koşulları vardı. Çoğu Velocity 1.5 sürümünde ezildi. Yine de Velocity 1.6-beta1'i kullanmanızı tavsiye ederim. Performansı artırdı (bellek ve hız) ve 1,5'e getirmeyen çok küçük hata düzeltmeleri var.

Düzenleme: 1.4 kullandığınızı söylediğinizden, evet, eminim, bu, düzeltdiğimiz yarış koşuludur. Lütfen yeni sürüme geçmeyi düşünün. Böcek ve düzeltilmiş performans için düzeltmesi olduğu için 1.6 kesinlikle en iyi bahistir. 1.6 final çok yakında olmalıydı.

+0

altına yorum alıyor. Yardım ettiğin için teşekkür ederim. – Lyudmil

0

Kaynağındaki yorumlar zaten bu durumun söz konusu olmamasından dolayı, bunun şablon yazılımı içinde bir hata olduğunu düşünüyorum. Yazdığı kişiye bir hata raporu gönderin.

0

RuntimeException ve nedenlerinin tam yığın izini almanız gerekir.

Lütfen bu bilgiyi eklemek için cevabınızı düzenleyin.

0

Bazı içgörüler sağlayıp sağlamadıklarını görmek için kod yazarlarına e-posta gönderdim. Öğrendiğim her şeyi paylaşacağımdan emin olacağım.

1

Şu anda aynı hata üzerinde çalışıyorum web sitemizde.

Bir yarış durumu gibi görünüyor: Aynı sayfayı getirerek birden çok işlem kullanarak tutarlı bir şekilde yeniden üretebilir, ancak istekleri serileştirirseniz hiçbir zaman yeniden üretemem.

Velocity-1.5 kullanıyorum; 1.6-beta1'e geçiş yapmayı denedim, ancak diğer hataları görün.

ÇÖZÜLDÜ: Biz o yükseltme sorunu çözüldü teyit edebilir

+0

Lütfen 1.6'dan kullanıcı veya dev listelerine hataları bildirin! Onları düzeltmek için çok çalışıyoruz. –

+0

Çözüldü: 1.6 ile ilgili sorunlar, şimdi yerleşik olanla çelişen #define direktifimizle kendi versiyonumuzla ilgiliydi. Şu anda 1,6-beta1 kullanarak üretim yapıyor ve artık bu sorunu görmüyoruz. – user26294

İlgili konular