0

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

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

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

这可能是什么技术原因?

4

2 回答 2

2

我可以想到两个原因:

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

你评估过JavaRebel吗?他们认为 hor 部署是他们的事(在 Tomcat 下运行良好必须在 Jetty 下运行)。

于 2009-06-15T06:02:59.970 回答