什么限制了“热部署”?

时间:2009-06-11 14:59:17

标签: java jetty hotdeploy

当您在Jetty上拥有本机Java代码时,可以执行热部署。

例如,这允许您更改servlet代码,而无需重新启动服务器以查看应用程序更改。

但是,如果您在Java上运行脚本语言 - Groovy,JRuby,Jython - 您将无法再执行热部署(至少在Jetty上)。

这可能是什么技术原因?

2 个答案:

答案 0 :(得分:2)

我可以想到两个原因:

  1. 如果只有您的脚本发生了变化,您的应用程序如何知道它必须重新加载脚本?它们作为普通资源处理。由于资源发生了变化,容器不知道必须重新部署servlet。
  2. 另一种可能性是将ScriptEngine作为实例变量存储在servlet中。因此,由于无法重构的实例对象的依赖性,无法替换servlet。

答案 1 :(得分:0)

你有评价JavaRebel吗?他们声称热部署是他们的业务(在Tomcat下运行良好也必须在Jetty下工作)。