Commons Daemon 研究了半天,怎么用啊?

chencliff 发布于 2012/02/15 13:43
阅读 2K+
收藏 0
@红薯 能不能出个简单的使用介绍?我怎么也用不成功
加载中
0
红薯
红薯
这个我没用过哦
0
chencliff
chencliff

引用来自“Rock_Agen”的答案

example 看下先...

官网的例子肯定先就看了,他是windows的例子,没有linux的。

在linux上我怎么也配不起来。

我查了半天,Google不停无法连接,baidu给的大部分是类新闻的,没有技术贴

0
阿影
阿影
使用 jsvc
0
tyou
tyou

java

package com.coltware.java.samples.daemon;
 
public class JsvcService {
     
    public static DaemonSample service;
     
    public static void init(String args[]){
        service = new DaemonSample();
    }
     
    public static void start(){
        try{
            service.start();
        }
        catch(Exception ex){
             
        }
    }
     
    public static void stop(){
        try{
            service.stop();
        }
        catch(Exception ex){
             
        }
    }
     
    public static void destroy(){
        try{
            service.destroy();
        }
        catch(Exception ex){
             
        }
    }
}



linux

#!/bin/sh
#
 
# Source function library.
. /etc/rc.d/init.d/functions
 
# default parameters
 
APP_HOME=`dirname $0`
 
JVM=server
JAVA_USER=apache
JAVA_MAIN_CLASS=com.coltware.java.samples.daemon.Service
 
JAVA_STDOUT=/var/log/java_server.log
JAVA_STDERR=/var/log/java_server.err
 
OS=linux
 
JAVA_HOME=${JAVA_HOME-/usr/java/default}
 
prog=java_server
pidfile=${PIDFILE-/var/run/java_server.pid}
lockfile=${LOCKFILE-/var/lock/subsys/java_server}
JSVC=$APP_HOME/bin/$OS/jsvc
RETVAL=0
 
JSVC_DEBUG="-debug"
 
### set classpathes ###
APP_CP=$APP_HOME/classes:$APP_HOME/res
for f in `ls $APP_HOME/libs`
do
    APP_CP=$APP_CP:$APP_HOME/libs/$f
done
 
 
JSVC_ARGS="-jvm $JVM -cp $APP_CP -home $JAVA_HOME -user $JAVA_USER "
JSVC_ARGS="$JSVC_ARGS -pidfile ${pidfile} -outfile $JAVA_STDOUT -errfile $JAVA_STDERR"
JSVC_ARGS="$JSVC_ARGS $JSVC_DEBUG"
 
start() {
  echo -n $"Starting $prog: "
  $JSVC $JSVC_ARGS $JAVA_MAIN_CLASS  
  echo
  [ $RETVAL = 0 ] && touch ${lockfile}
  return $RETVAL
}
 
stop() {
  echo -n $"Stopping $prog: "
  $JSVC $JSVC_ARGS -stop $JAVA_MAIN_CLASS
  RETVAL=$?
  echo
  [ $RETVAL = 0 ] && rm -f ${lockfile} ${pidfile}
  echo
}
 
case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    restart)
        stop
        start
        ;;
    status)
        status -p ${pidfile} $prog
        RETVAL=$?
        ;;
    *)
        echo $"Usage: $prog {start|stop|status}"
        RETVAL=3
esac
exit $RETVAL



第9行是java程序的路径。

25行,指定了jsvc。

28行是jsvc启动和停止时候的log信息。


返回顶部
顶部