トップ 差分 一覧 ソース 置換 検索 ヘルプ PDF RSS ログイン

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

Tomcat

/etc/tomcat6/Catalina/localhost/testapp.xml

<Context path="/testapp"
docBase="/var/www/servlet_test"
reloadable="true"/>

のように

reloadable="true"

とする。

GlassFish

  1. GlassFishを起動する
  2. localhost:4848にアクセスしてログインする
  3. 左側のツリーの一番上にある「アプリケーションサーバー」を選択する
  4. 右側の画面の「詳細」ボタンを選択
  5. 再読込の設定を有効にする
  6. 再読込を行うプロジェクトフォルダの直下に「.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 で クラスの自動リロードをするには

  1. SJSASを起動する
  2. localhost:5050にアクセスしてログインする
  3. 左側のツリーの一番上にある「アプリケーションサーバー」を選択する
  4. 右側の画面の「詳細」ボタンを選択
  5. 再読込の設定を有効にする
  6. 再読込を行うプロジェクトフォルダの直下に「.reload」を作成する

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

[カテゴリ: プログラミング言語 > Java]



  • Hatenaブックマークに追加
  • livedoorクリップに追加
  • del.icio.usに追加
  • FC2ブックマークに追加

最終更新時間:2014年05月18日 22時44分01秒