Tomcat 服务器整夜空闲后GSP呈现问题

Tomcat 服务器整夜空闲后GSP呈现问题,tomcat,grails,tomcat7,gsp,Tomcat,Grails,Tomcat7,Gsp,几周来,我一直间歇性地遇到一个难以复制的问题。似乎(即我还不能确定)如果Grails应用程序在一夜之间没有被触动,那么可能是什么原因导致了: GSP以如下值呈现: <meta http-equiv="org.apache.commons.lang.StringUtils@72cd722b" content="org.apache.commons.lang.StringUtils@4e520b18"> <link href="/appname/static/bundle-bun

几周来,我一直间歇性地遇到一个难以复制的问题。似乎(即我还不能确定)如果Grails应用程序在一夜之间没有被触动,那么可能是什么原因导致了:

GSP以如下值呈现:

<meta http-equiv="org.apache.commons.lang.StringUtils@72cd722b" content="org.apache.commons.lang.StringUtils@4e520b18">

<link href="/appname/static/bundle-bundle_application_head.css" type="org.apache.commons.lang.StringUtils@31da0262" rel="org.apache.commons.lang.StringUtils@774121fe" media="org.apache.commons.lang.StringUtils@6008482c" />

<body style="org.apache.commons.lang.StringUtils@49533701">

<a href="/appname/register/forgotPassword" name="org.apache.commons.lang.StringUtils@815a651" class="org.apache.commons.lang.StringUtils@5689bde">Forgotten Password?</a>
更新#1:

本周末再次发生,在使用Tomcat manager重新加载webapp时失败,并显示以下消息,但这不会在Tomcat重新启动时发生:

 INFO: Initializing Spring root WebApplicationContext
Jun 3, 2012 7:53:01 PM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Exception sending context initialized event to listener instance of class org.codehaus.groovy.grails.web.context.GrailsContextLoaderListener
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'grailsApplication' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.ExceptionInInitializerError
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.ExceptionInInitializerError
    at java.lang.Class.forName(Class.java:247)
    ... 3 more
Caused by: groovy.lang.MissingMethodException: No signature of method: static org.joda.time.DurationFieldType.hour() is applicable for argument types: () values: []
Possible solutions: hours(), wait(), days(), eras(), years(), any()
    at grails.plugin.jodatime.taglib.PeriodTagLib$_getPeriodTypeForFields_closure3.doCall(PeriodTagLib.groovy:87)
    at grails.plugin.jodatime.taglib.PeriodTagLib.getPeriodTypeForFields(PeriodTagLib.groovy:87)
    at grails.plugin.jodatime.taglib.PeriodTagLib.<clinit>(PeriodTagLib.groovy:84)
    ... 4 more
更新#2

旋律显示,慢慢地,所有的物理记忆都被吞噬了

如果应用程序被重新加载,则可能与这些日志条目有关(并且总是强制Tomcat关闭并以挂起的java进程启动以终止)

或者是这样的:

更新#3


物理内存问题已解决,应用程序仍处于损坏状态,看起来与原始帖子一样。这一次,空闲时间减少了(几个小时)

问题是Bootstrap.groovy中有这行代码:

String.metaClass.mixin StringUtils
我最终删除了它,并在通常导致问题的所有条件下测试ok超过24小时

这是我很久以前在这里发布的帖子:


这个错误和泄露这个信息的代码之间有一定的关系,但老实说,我仍然真的很困惑,随着时间的推移,混音中到底发生了什么事情……请回到书中

问题在于Bootstrap.groovy中有这一行:

String.metaClass.mixin StringUtils
我最终删除了它,并在通常导致问题的所有条件下测试ok超过24小时

这是我很久以前在这里发布的帖子:


这个错误和泄露这个信息的代码之间有一定的关系,但老实说,我仍然真的很困惑,随着时间的推移,混音中到底发生了什么事情……请回到书中

奇怪。不幸的是,我也在讨论这个问题,但对原因知之甚少;我所能提供的最好的信息是,它不是发生在Grails1.1中,而是发生在Grails2.2.0中,并且被归档为。不幸的是,我也在讨论这个问题,但对原因知之甚少;我所能提供的最好的情况是,它不是发生在Grails1.1中,而是发生在Grails2.2.0中,并且已经作为文件归档

SEVERE: The web application [/appname] appears to have started a thread named [Timer-1] but has failed to stop it. This is very likely to create a memory leak.
May 31, 2012 6:04:51 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
SEVERE: The web application [/appname] appears to have started a thread named [DefaultQuartzScheduler_Worker-1] but has failed to stop it. This is very likely to create a memory leak.
May 31, 2012 6:04:51 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
String.metaClass.mixin StringUtils