¦blinux¤W¥HªA°Èªº¤è¦¡±Ò°Êjavaµ{¦¡
1.¦w¸Ëjsvc
¦btomcatªºbin¥Ø¿ý¤U¦³¤@Ójsvc.tar.gzªº¤å¥ó,¶i¤Jtomcatªºbin¥Ø¿ý¤U
#tar xvfz jsvc.tar.gz
#cd jsvc-src
#sh support/buildconf.sh
#chmod 755 configure
#./configure --with-java=/usr/local/java (§ï¦¨§AªºJDKªº¦ì¸m)
#make
2.½s¼gªA°È±Ò°ÊÃþ
package com.sohu.jsvc.test;
public class TestJsvc {
public static void main(String args[]) {
System.out.println("execute main method!");
}
public void init() throws Exception {
System.out.println("execute init method¡I");
}
public void init(String[] args) throws Exception{
System.out.println("execute init(args) method");
}
public void start() throws Exception {
System.out.println("execute start method¡I");
}
public void stop() throws Exception {
System.out.println("execute stop method¡I");
}
public void destroy() throws Exception{
System.out.println("execute destroy method!");
}
}
|
main¤èªk¥i¥H¥h±¼¡A¦ý¬Oinit(String[] args),start(),stop(),destroy()¤èªk¤£¯à¤Ö¡AªA°È¦b±Ò°Ê®É·|¥ý½Õ¥Îinit(String[] args)¤èªk
µM«á½Õ¥Îstart()¤èªk¡A¦bªA°È°±¤î¬O·|º¥ý½Õ¥Îstop()¤èªk¡AµM«á½Õ¥Îdestroy() ¤èªk.
3.§â³oÓÃþ¥´¥]¦¨testjsvc.jar ©ñ¨ì/test¥Ø¿ý¤U
4.½s¼g±Ò°ÊªA°Èªº¸}¥» myjsvc
#!/bin/sh
# myjsvc This shell script takes care of starting and stopping
#
# chkconfig: - 60 50
# description: tlstat stat is a stat data daemon.
# processname: myjsvc
# Source function library.
. /etc/rc.d/init.d/functions
RETVAL=0
prog="MYJSVC"
# jdkªº¦w¸Ë¥Ø¿ý
JAVA_HOME=/usr/java/jdk1.5.0_15
#À³¥Îµ{¦¡ªº¥Ø¿ý
MYJSVC_HOME=/test
#jsvc©Ò¦bªº¥Ø¿ý
DAEMON_HOME=/usr/local/tomcat5/bin/jsvc-src
#¥Î¤á
MYJSVC_USER=root
# for multi instances adapt those lines.
TMP_DIR=/var/tmp
PID_FILE=/var/run/tlstat.pid
#µ{¦¡¹B¦æ¬O©Ò»Ýªºjar¥]¡Acommons-daemon.jar¬O¤£¯à¤Öªº
CLASSPATH=\
/test/testjsvc.jar:\
/usr/local/tomcat5/bin/commons-daemon.jar:\
case "$1" in
start)
#
# Start TlStat Data Serivce
#
$DAEMON_HOME/jsvc \
-user $MYJSVC_USER \
-home $JAVA_HOME \
-Djava.io.tmpdir=$TMP_DIR \
-wait 10 \
-pidfile $PID_FILE \
#±±¨î»Oªº¿é¥X·|¼g¨ìtlstat.out¤å¥óùØ
-outfile $MYJSVC_HOME/log/myjsvc.out \
-errfile '&1' \
-cp $CLASSPATH \
#ªA°È±Ò°ÊÃþ
com.sohu.jsvc.test.TestJsvc
#
# To get a verbose JVM
#-verbose \
# To get a debug of jsvc.
#-debug \
exit $?
;;
stop)
#
# Stop TlStat Data Serivce
#
$DAEMON_HOME/jsvc \
-stop \
-pidfile $PID_FILE \
com.sohu.jsvc.test.TestJsvc
exit $?
;;
*)
echo "Usage myjsvc start/stop"
exit 1;;
esac
|
5. §âmyjsvc¤å¥ó«þ¨©¨ì/etc/init.d/¥Ø¿ý¤U
6. #chmod -c 777 /etc/init.d/myjsvc
7. ²K¥[ªA°È
#chkconfig --add myjsvc
#chkconfig --level 345 myjsvc on
8. §¹¦¨¡A±Ò°ÊªA°È
#service myjsvc start
§A¥i¥H±q/test/log/myjsvc.out¤å¥óùجݨì¦p¤U¸ê°T:
execute init(args) method
execute start method
#service myjsvc stop
§A·|µo²{/test/log/myjsvc.out¤å¥óùØ·|¼W¥[¦p¤U¸ê°T
execute stop method
execute destroy method
¨Ã¥B¦b¨t²Î«±Ò®É·|¦Û°Ê±Ò°ÊmyjsvcªA°È
¦n¤F¡A¤@Ó²³æªº liunxªA°È´N¼g¦n¤F¡A§A¥i¥H¦bTestJsvcªºinit(),start(),stop(),destroy()¤èªkùزK¥[§Aªº·~°È¡A°µ§A·Q°µªº¨Æ¡C
¡]³d¥ô½s¿è¡G¶³¤l¡^