1. Hot-deploy

웹로직 프로세스를 리부팅하지 않고도 애플리케이션을 deploy 혹은 redeploy할 수 있다. 이것은 System classloader는 리부팅 시에만 가능하다는 기존의 개념을 극복한 것이다. (System classloader는 CLASSPATH에 의해 설정된 클래스를 로딩하는 로더이다) 이것을 Hot-deploy라 부른다.

단, System Classloader로 deploy한 클래스는 Hot-deploy할 수 없다. Hot-deploy는 System classloader로부터 상속받은 child classloader들을 사용하여 구현한다. 이것을 Application classloader라 부르기도 한다.

Redeploy는 실제 클래스가 변하는 것이 아니다. 다만 기존 classloader를 새로운 classloader로 변경하는 것 뿐이다.


2. Auto-reload

클래스가 변경되었을 때 deploy 하지 않은 채 실시간으로 반영하는 기능이다. 소스 변경이 빈번하게 발생할 때마다 redeploy하지 않아도 되기 때문에 편리하다. 대상은 WEB-INF/classes 내 서블릿 파일과 모든 JSP이다. weblogic.xml 파일을 통해 Auto-reload 주기(interval, secs)를 설정할 수 있다.

<weblogic-web-app>
(생략)
<jsp-descriptor>
<jsp-param>
<param-name>pageCheckSeconds</param-name>
<param-value>600</param-value>
</jsp-param>
</jsp-descriptor>
<container-descriptor>
<servlet-reload-check-secs>600</servlet-reload-check-secs>
</container-descriptor>
(생략)
</weblogic-web-app>
<?xml version="1.0" encoding="UTF-8"?>
<weblogic-web-app>
        <jsp-descriptor>
        <page-check-seconds>1</page-check-seconds>
        <verbose>true</verbose>
        </jsp-descriptor>

        <charset-params>
           <input-charset>
             <resource-path>/*</resource-path>
             <java-charset-name>UTF-8</java-charset-name>
           </input-charset>
        </charset-params>

    <context-root>/</context-root>
</weblogic-web-app>
<?xml version="1.0" encoding="UTF-8"?>
<weblogic-web-app xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app">
  <jsp-descriptor>
     <page-check-seconds>1</page-check-seconds>
     <package-prefix>sarc</package-prefix>
     <precompile>true</precompile>
  </jsp-descriptor>
  <context-root>/</context-root>
</weblogic-web-app>

3. Staging

Staging은 from Admin 서버, to 각 Managed 서버로, 특정 디렉토리로 애플리케이션을 복사한 후 그 곳을 소스 위치로 지정하는 기능이다. 다만 소스 복사에 시간이 소요되므로 서버가 기동될 때만 복사한다. 

단점은 소스를 변경하기 어렵고, Auto-reload를 사용할 수 없다. (물론 Staging 소스 자체를 변경하여 Auto-reload 할 수는 있다)

Stage 모드를 사용한다면, 소스 파일은 각 Managed 서버들의 각 디렉토리 밑에 stage라는 디렉토리에 복사된다. 오래된 웹로직 6.x의 경우 오직 Stage 모드로만 동작한다. 그리고 applications/.wldonetdelete_xxx/ 밑에 소스 파일을 복사한다.