运行 Grails 应用程序时 Tomcat 和 Jetty 的区别

标签 tomcat grails jetty

是否有人在 Jetty 和 Tomcat 的生产环境中使用过 Grails 应用程序并注意到任何重要差异?当我更新到 6.0.26 时,我开始遇到 tomcat 6.0.24 的内存不足问题,我想知道 Jetty 是否也有这种问题。

最佳答案

我注意到问题是 Tomcat 很糟糕而 Jetty 没有:

问题一:与Jetty相比,Tomcat似乎存在热部署内存泄漏(至少在版本7之前)。如果您热部署几次,permgen 空间会随着每次部署而增长。可能的解决方案:

  • 增加 permgen 空间(临时修复):-XX:PermSize=SIZE,-XX:MaxPermSize=SIZE(在 sun jvm 中)
  • 停止tomcat并部署

问题 2:Tomcat 没有将参数放入 http PUT 请求的负载部分。要解决此问题,您可以执行以下操作之一:

  • 改用 POST(我觉得这是一个 hack)
  • 使用inpustream读取并解析参数
  • 通过url传递参数

关于运行 Grails 应用程序时 Tomcat 和 Jetty 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3271449/

相关文章:

java - 使用 Jetty 独占绑定(bind)到端口

java - 从 IDE 运行服务时的 catalina.base 路径

android - 如何在 Android 中使用托管在 Tomcat 上的 RESTFul Web 服务?

web-services - 从命令行调用 REST WS

grails - 基于属性文件连接bean

docker - docker中的Grails应用程序,安装spring-security插件?

java - 此处不允许使用 Maven Jetty 插件守护程序元素

tomcat - 在 Websphere Application Server 中添加外部上下文

java - Railo 4.2.1.008 Error (missinginclude) 出了什么问题?

clojure - "SSL doesn' t have a valid keystore"尝试连接到 Datomic Cloud 时出错