grails 2.0 - 在 Jetty 中运行,在 Tomcat 中运行
Posted
技术标签:
【中文标题】grails 2.0 - 在 Jetty 中运行,在 Tomcat 中运行【英文标题】:grails 2.0 - running in Jetty, running in Tomcat 【发布时间】:2012-02-29 14:01:30 【问题描述】:我目前正在部署到使用 Tomcat 7 的 VPS,并且我看到很多关于部署最准系统 grails 应用程序的投诉,例如:
SEVERE: The web application [/BareBones-0.1] appears to have started a thread named [Timer-1] but has failed to stop it. This is very likely to create a memory leak.
Feb 8, 2012 4:32:53 AM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
SEVERE: The web application [/BareBones-0.1] appears to have started a thread named [H2 Log Writer PRODDB] but has failed to stop it. This is very likely to create a memory leak.
Feb 8, 2012 4:32:53 AM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
SEVERE: The web application [/BareBones-0.1] appears to have started a thread named [H2 Log Writer PRODDB] but has failed to stop it. This is very likely to create a memory leak.
此外,我经常在重新部署 WAR 文件时耗尽内存,即使我有 1GB 专用和 2GB Burst。例如。当我运行 Tomcat 停止命令时,我得到:
java.lang.OutOfMemoryError: PermGen space
在车站。
所以,我想知道是否有人可以指点我是否可以在他们的经验中看到更少的 Jetty 问题。我的最终网络应用不会是一个非常大/流量很大的网站。
【问题讨论】:
【参考方案1】:它是known Tomcat issue,经常发生(实际上我从未见过没有此类问题的应用程序)。这意味着您的应用程序有问题,或者(更常见的)您的应用程序正在使用的库有问题。有一个“众所周知的错误”列表 - http://wiki.apache.org/tomcat/OutOfMemory
顺便说一句,有时在部署时重启 Tomcat 比使用热部署要容易得多。
【讨论】:
我想我很惊讶在最简单的 (Grails) 应用程序中出现这些类型的错误。你知道 Jetty 与 Tomcat 相比如何吗? 是的,即使是简单的应用程序也会有这样的问题(而对我来说——这是 Tomcat 的错)。我只将 Jetty 用于开发,并且可以在那里推荐它,并且从未在生产中使用过 Jetty,但我听说它运行良好。 ...那么为什么人们会选择 Tomcat?因为它“更老、更成熟”? 嘿,好问题! :) 是的,我认为是因为它很古老,众所周知,在每本书中都提到过,等等。 谢谢,很好的参考。当然看起来人们投了很多票,因为他们同意答案(而不是它在详细信息方面的质量)。以上是关于grails 2.0 - 在 Jetty 中运行,在 Tomcat 中运行的主要内容,如果未能解决你的问题,请参考以下文章
grails 2.0 <g:javascript> 不起作用