2009-06-11 12 views
0

Sie können Hot Deploy ausführen, wenn Sie systemeigenen Java-Code auf Jetty haben.Was begrenzt "hot deploy"?

So können Sie beispielsweise Änderungen an Ihrem Servlet-Code vornehmen, ohne dass ein Neustart des Servers erforderlich ist, um Änderungen an der Anwendung zu sehen.

Wenn Sie jedoch eine Skriptsprache über Java - Groovy, JRuby, Jython - ausführen, können Sie keine Hot - Deploy durchführen (zumindest auf Jetty).

Was könnte der technische Grund dafür sein?

Antwort

2

Ich kann aus zwei Gründen denken:

  1. Wenn nur das Skript geändert hat, wie funktioniert die Anwendung wissen, dass es die Skripte neu geladen hat? Sie werden wie normale Ressourcen behandelt. Der Container weiß nicht, dass ein Servlet aufgrund einer Änderung der Ressourcen neu bereitgestellt werden muss.
  2. Eine weitere Möglichkeit besteht darin, dass Sie die ScriptEngine im Servlet als Instanzvariable speichern. Daher kann das Servlet aufgrund dieser Abhängigkeit vom Instanzobjekt, das nicht rekonstruiert werden kann, nicht ersetzt werden.
+0

Clever Antwort. Vielen Dank. –

0

Haben Sie schon einmal JavaRebel ausgewertet? Sie erklären, dass Hor-Einsatz ihr Geschäft ist (funktioniert gut unter Tomcat muss auch unter Jetty arbeiten).