Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 什么限制;热部署“;?_Java_Jetty_Hotdeploy - Fatal编程技术网

Java 什么限制;热部署“;?

Java 什么限制;热部署“;?,java,jetty,hotdeploy,Java,Jetty,Hotdeploy,当Jetty上有本机Java代码时,可以执行热部署 例如,这允许您对servlet代码进行更改,而无需重新启动服务器即可查看应用程序的更改 然而,如果您在Java之上运行脚本语言——Groovy、JRuby、Jython——您就不能再执行热部署(至少在Jetty上) 这其中的技术原因是什么?我可以想到两个原因: 如果只更改了脚本,应用程序如何知道必须重新加载脚本?它们作为正常资源处理。容器不知道由于资源的变化而必须重新部署servlet 另一种可能性是将ScriptEngine作为实例变量存储在

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

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

然而,如果您在Java之上运行脚本语言——Groovy、JRuby、Jython——您就不能再执行热部署(至少在Jetty上)


这其中的技术原因是什么?

我可以想到两个原因:

  • 如果只更改了脚本,应用程序如何知道必须重新加载脚本?它们作为正常资源处理。容器不知道由于资源的变化而必须重新部署servlet
  • 另一种可能性是将ScriptEngine作为实例变量存储在servlet中。因此,servlet不能被替换,因为它依赖于无法重构的实例对象
  • 你曾经评估过吗?他们认为hor部署是他们的业务(在Tomcat下工作良好,也必须在Jetty下工作)