Apache Commons Daemon简介说明

叶翰林
2023-12-01

转自:

Apache Commons Daemon简介说明

下文笔者讲述Apache Commons Daemon的功能简介说明,如下所示

Apache Commons Daemon的功能

用于将一个普通的java应用程序编程系统的后台服务
Commons Daemon框架由两部分组成:
    一部分由C语言编写
	一部分由java语言编写,并提供Daemon接口

例:

安装apache commons daemon

首先,下载apache commons daemon的jar包和源码
   下载地址:
    http://commons.apache.org/proper/commons-daemon/download_daemon.cgi。

开始安装:
#tar -zxvf commons-daemon-1.0.15-src.tar.gz
#cd commons-daemon-1.0.15-src/src/native/unix
#./support/buildconf.sh
./support/buildconf.sh: configure script generated successfully
# ./configure --with-java=/usr/java/jdk1.6.0_35
.....

*** All done ***

Now you can issue "make"

#make
通过以上步骤,则完成apache commons daemon的安装

java示例展示daemon

package com.java265;


import org.apache.commons.daemon.Daemon;
import org.apache.commons.daemon.DaemonContext;
import org.apache.commons.daemon.DaemonInitException;

public class TestClass implements Daemon {

@Override
public void destroy() {
      System.out.println("JsvcTest destory method...");
}

@Override
public void init(DaemonContext ctx) throws DaemonInitException, Exception {
    System.out.println("JsvcTest init method..."+ctx.toString());
}

@Override
public void start() throws Exception {
    System.out.println("JsvcTest start method...");
}
 
@Override
public void stop() throws Exception {
   System.out.println("JsvcTest stop method...");
  }
}

将以上程序打包为一个jar包,放入目录/opt/app下

编写sh脚本

vi /etc/init.d/jsvc

#!/bin/sh
# chkconfig: - 60 50  
. /etc/rc.d/init.d/functions

RETVAL=0
prog="jsvc"
JAVA_HOME=/usr/java/jdk1.6.0_35
APP_HOME=/opt/app
#jar所在的目录
DAEMON_HOME=//opt/app/native/unix
APP_USER=root
TMP_DIR=/opt/app/tmp
PID=/opt/app/jsvc_stat.pid
CLASSPATH=$CLASSPATH:/opt/app/TestClass.jar
case "$1" in
start)
#Start Serivce
$DAEMON_HOME/jsvc -user $APP_USER -home $JAVA_HOME -Djava.io.tmpdir=$TMP_DIR -wait 5000 -pidfile $PID -outfile $APP_HOME/log/jsvc.out -errfile '&1' -cp $CLASSPATH com.jason.jsvc.JsvcTest
exit $?
;;
stop)
#Stop Serivce
$DAEMON_HOME/jsvc -stop -pidfile $PID com.java265.TestClass
exit $?
;;
*)
echo "Usage myjsvc start/stop"
exit 1;;
esac

为unix添加服务

chkconfig --add jsvc
chkconfig --list | grep jsvc
chkconfig --level 345 jsvc on

启动和关闭jsvc服务

service jsvc start
service jsvc stop

 类似资料: