2009-06-11 8 views
0

Vous pouvez effectuer un déploiement à chaud lorsque vous disposez d'un code Java natif sur Jetty. Cela vous permet, par exemple, d'apporter des modifications au code de votre servlet sans avoir à redémarrer le serveur pour voir les modifications apportées à votre application. Toutefois, si vous exécutez un langage de script au-dessus de Java - Groovy, JRuby, Jython - vous ne pouvez plus effectuer de déploiement à chaud (au moins sur Jetty).Qu'est-ce qui limite le "déploiement à chaud"?

Quelle pourrait en être la raison technique?

Répondre

2

Je peux penser à deux raisons:

  1. Si seulement votre script a changé, comment votre application le savoir doit recharger les scripts? Ils sont gérés comme des ressources normales. Le conteneur ne sait pas qu'une servlet doit être redéployée en raison d'une modification des ressources.
  2. Une autre possibilité est que vous stockiez le ScriptEngine dans la servlet en tant que variable d'instance. La servlet ne peut donc pas être remplacée en raison de cette dépendance à l'objet d'instance qui ne peut pas être reconstruit.
+0

Réponse intelligente. Merci. –

0

Avez-vous déjà évalué JavaRebel? Ils califèrent que le déploiement de l'hor est leur affaire (fonctionne bien sous Tomcat doit aussi travailler sous Jetty).