2009-06-11 3 views
0

Jetty에 원시 Java 코드가있을 때 빠른 배치를 수행 할 수 있습니다."hot deploy"에는 어떤 제한이 있습니까?

예를 들어, 서버를 다시 시작하지 않고 서블릿 코드를 변경하여 응용 프로그램이 변경된 것을 확인할 수 있습니다.

그러나 Java - Groovy, JRuby, Jython에서 스크립팅 언어를 실행하면 더 이상 핫 티보를 수행 할 수 없습니다 (최소한 Jetty에서는).

무엇이 기술적 인 이유 일 수 있습니까?

답변

2

나는 두 가지 이유를 생각할 수 :

  1. 만 스크립트가 변경된 경우 어떻게 응용 프로그램은 스크립트를 다시로드해야 알 수 있습니까? 그들은 정상적인 자원으로 취급됩니다. 컨테이너는 리소스가 변경되어서 서블릿을 다시 배포해야한다는 것을 모릅니다.
  2. 다른 가능성은 인스턴스 변수로 서블릿에 ScriptEngine을 저장한다는 것입니다. 따라서 서블릿은 재구성 할 수없는 인스턴스 객체에 대한 이러한 종속성으로 인해 대체 될 수 없습니다.
+0

영리한 대답. 감사. –

0

JavaRebel을 평가 해 봤습니까? 그들은 hor 전개가 그들의 사업이라는 것을 정합니다 (Tomcat에서 잘 작동해야 함 또한 Jetty에서도 작동해야합니다).