オンライン処理(Web)でもなく、バッチ処理でもない、
例えば、以下のシンプルなサンプルプログラムでは、
次のような出力結果が得られます。
init Thu Jul 07 01:05:44 JST 2005: Hello! Thu Jul 07 01:05:45 JST 2005: Hello! Thu Jul 07 01:05:46 JST 2005: Hello! Thu Jul 07 01:05:47 JST 2005: Hello! destroy
つまり、
package jdaemon; import java.sql.SQLException; import java.util.Date; /** * サンプル常駐クラス */ public class TestDaemon extends DaemonProcess { // 実装必須 public void exec() { System.out.println(new Date() + ": Hello!"); } // 実装必須でない(デフォルトは何もしない) public void init() { System.out.println("init"); } // 実装必須でない(デフォルトは何もしない) public void destroy() { System.out.println("destroy"); } // 実装必須でない(デフォルトは何もしない) public boolean isShutDown(Throwable t) { if(t instanceof SQLException) { return false; } else { return true; } } }
常駐処理はいったん始まると、指定間隔に従って起動され続けます。
これを停止するため、このフレームワークでは別スレッドでソケットサーバを起動します。
このソケットサーバに接続/切断リクエストがきたところで、常駐処理も停止するという仕組みになっています。
そのため、開始時、終了時のいずれにおいても、ポート番号を指定する必要があります。
(ただし、停止対象はプログラム上localhostに限定しています。)
[Download]
Daemon.zip (9.85KB)
[Install方法]
アーカイブを展開するだけです。
[使い方]
・Windowsの場合
[開始]
run.batを実行してください。
[停止]
stop.batを実行してください。
[設定について]
全ての設定は引数で行います。
[開発環境]
<クライアント>
OS Microsoft WindowsXP HomeEdition
言語 JDK1.4
[配布条件等]
GPL2に従います。
このソフトウェアは、Free Softwareなので、
いかなる保証も行いません。
GPL http://www.gnu.org/copyleft/gpl.html
[開発者]
Copyright (C) 2005年 < Takahiro Shigemoto >