トップ 一覧 置換 検索 ヘルプ RSS ログイン

Javaアプリケーションサーバの自動リロードの変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!!!Tomcat
/etc/tomcat6/Catalina/localhost/testapp.xml 
 <Context path="/testapp"
 docBase="/var/www/servlet_test"
 reloadable="true"/>
のように
 reloadable="true"
とする。

!!!GlassFish
+GlassFishを起動する
+localhost:4848にアクセスしてログインする
+左側のツリーの一番上にある「アプリケーションサーバー」を選択する
+右側の画面の「詳細」ボタンを選択
+再読込の設定を有効にする
+再読込を行うプロジェクトフォルダの直下に「.reload」を作成する
.reloadファイルの更新日時が変わるタイミングで自動リロードが行われる。
!antサンプル
  <?xml version="1.0" encoding="UTF-8"?>
  
  <project name="app"  basedir="." default="all">
    <!-- 変数 -->
    <property name="ear.name" value="earProject"/>
    <property name="war.name" value="warProject"/>
    <property name="glassfish.home" location="D:/tools/glassfish"/>
    <property name="glassfish.lib"   location="${glassfish.home}/lib"/>
    <property name="glassfish.ear" location="${glassfish.home}/domains/domain1/applications/j2ee-apps/${ear.name}"/>
    <property name="glassfish.class" location="${glassfish.ear}/${war.name}_war/WEB-INF/classes"/>
    
    <property name="app.home" location="."/>
    <property name="app.src"   location="${app.home}/src"/>
    <property name="ear.home" location="..\/${ear.name}"/>
    
    <property name="app.java.version" value="1.5"/>
    
    <path id="classpath">
      <fileset dir="${glassfish.lib}" includes="**/*.jar"/>
      <fileset dir="${ear.home}" includes="**/*.jar"/>
    </path>
    
    <!-- Javaのコンパイル -->
    <target name="compile" >
      <!--<antcall target="copyResource"/>-->
      <mkdir dir="${glassfish.class}"/>
      
      <javac includeantruntime="false" srcdir="${app.src}" target="${app.java.version}" source="${app.java.version}" destdir="${glassfish.class}" encoding="UTF-8">
        <classpath refid="classpath" />
      </javac>
    </target>
    
    <!-- reloadファイル更新 -->
    <target name="touch" >
      <touch file="${glassfish.ear}/.reload"/>
    </target>
    
    <!-- warファイル作成 -->
    <target name="mkWar" >
      <war destfile="build/${war.name}.war" webxml="WebContent/WEB-INF/web.xml">
        <fileset dir="WebContent">
          <include name="**/*" /> 
          <!--<include name="**/*.jsp" />
          <include name="**/*.html" />
          <include name="**/*.css" />-->
          <!--<exclude name="**/web.xml" />-->
        </fileset>
        <classes dir="build/classes" />
      </war>
    </target>
    
    <!-- earファイル作成 -->
    <target name="mkEar" >
      <ear destfile="build/${ear.name}.ear" appxml="${ear.home}/EarContent/META-INF/application.xml">
        <fileset dir="build">
          <include name="${war.name}.war" /> <!--WAR-->
        </fileset>
        <fileset dir="${ear.home}/EarContent">
          <include name="**/*.war" /> <!--WAR-->
          <include name="**/*.jar" /> <!--EJB-->
        </fileset>
      </ear>
    </target>
    
    <!-- デプロイ -->
    <target name="deploy">
      <exec executable="${glassfish.home}/bin/asadmin.bat">
        <arg value="deploy" />
        <arg value="build/${ear.name}.ear" />
      </exec>
    </target>
    
    <!-- デフォルトターゲット -->
    <target name="all" depends="compile,touch">
    </target>
    
  </project>

!!!Sun Java System Application Server
Sun Java System Application Server で クラスの自動リロードをするには
+ SJSASを起動する
+localhost:5050にアクセスしてログインする
+左側のツリーの一番上にある「アプリケーションサーバー」を選択する
+右側の画面の「詳細」ボタンを選択
+再読込の設定を有効にする
+再読込を行うプロジェクトフォルダの直下に「.reload」を作成する

.reloadファイルの更新日時が変わるタイミングで自動リロードが行われる。

{{category2 プログラミング言語,Java}}