利用Jsvc把Java程序嵌入到Linux服务中去
来源:asp之家 发布时间:2009-11-19 12:20:00
在linux上以服务的方式启动java程序
1.安装jsvc
在tomcat的bin目录下有一个jsvc.tar.gz的文件,进入tomcat的bin目录下
#tar xvfz jsvc.tar.gz
#cd jsvc-src
#sh support/buildconf.sh
#chmod 755 configure
#./configure --with-java=/usr/local/java (改成你的JDK的位置)
#make
2.编写服务启动类
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!");
}
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!");
}
public void stop() throws Exception {
System.out.println("execute stop method!");
}
public void destroy() throws Exception{
System.out.println("execute destroy method!");
}
}
main方法可以去掉,但是init(String[] args),start(),stop(),destroy()方法不能少,服务在启动时会先调用init(String[] args)方法
然后调用start()方法,在服务停止是会首先调用stop()方法,然后调用destroy() 方法.
3.把这个类打包成testjsvc.jar 放到/test目录下
4.编写启动服务的脚本 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的安装目录
JAVA_HOME=/usr/java/jdk1.5.0_15
#应用程序的目录
MYJSVC_HOME=/test
#jsvc所在的目录
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
#程序运行是所需的jar包,commons-daemon.jar是不能少的
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
#控制台的输出会写到tlstat.out文件里
-outfile $MYJSVC_HOME/log/myjsvc.out
-errfile '&1'
-cp $CLASSPATH
#服务启动类
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/目录下
6. #chmod -c 777 /etc/init.d/myjsvc
7. 添加服务
#chkconfig --add myjsvc
#chkconfig --level 345 myjsvc on
8. 完成,启动服务
#service myjsvc start
你可以从/test/log/myjsvc.out文件里看到如下信息:
execute init(args) method
execute start method
#service myjsvc stop
你会发现/test/log/myjsvc.out文件里会增加如下信息
execute stop method
execute destroy method
并且在系统重启时会自动启动myjsvc服务
好了,一个简单的 liunx服务就写好了,你可以在TestJsvc的init(),start(),stop(),destroy()方法里添加你的业务,做你想做的事。
猜你喜欢
- Alexa排名尽管存在着大量的争议,但是在没有更好的工具之前,仍然是我们衡量一个网站流量状况和影响力的一个重要指标,周围朋友讨论最多的问题就
- 中秋节就快到了,提前祝各位站长节日快乐,站站顺利!如何利用中秋节推广网站,下面几条可能有点帮助,希望能为大家抛砖引玉。。带来流量上的提升。一
- 天下熙熙皆为利来,天下攘攘皆为利网(往)!当新一代中国商人爱上网络,当商人爱上商业搜索,世界将“利来利网”!网络经济,挟全球经济一体化的大潮
- 我就从我是谁以及我做gg adsense多久了开始这篇文章吧。我名叫Chris,是澳大利亚Brisbane的一名21岁的大学在校学生。200
- 高效管理服务器一直离不开有效的服务器管理技巧,尽管你已经掌握了不少这方面的技巧,但服务器还有许许多多的技巧在等着你的总结,等着你的挖掘;这不
- 品牌博客成功的三进策略:一、人脉进门所有成功博客的身边都有一个很强大的由其他博客撰写者组成的支持团。网络在很大程度上可以从很多方面帮助你,这
- 前言经常使用Linux控制台终端的站长们应该对于那些繁琐的指令和参数命令行印象深刻吧!这也是很多站长宁愿使用有安全风险的面板也不愿意使用控制
- 今天来介绍Godaddy主机用户如何在共享托管帐户上创建新增FTP用户。那Godaddy主机用户为什么需要在共享托管帐户上新增FTP用户?有
- 在副业上花了太多精力了,是要回归正轨的时候了,时间不多了,加油干啊!现在用笔写不习惯了,只有在电脑上打出来才舒服。把笔记传上来,有了新知识点
- 11月7日消息,盛大游戏CEO李瑜今日在2009第二届WEBGAME与SNS社区运营大会上表示,目前的网页游戏行业出来了百家争鸣、百花齐放的
- 这两天在Suse上安装和配置FTP时,遇到不少问题,这里做一下总结:一、安装Suse的图形用户界面做的很不错,所以安装过程也比较简单。1、打
- 这年头.PR值可以说是经典鸡肋(或许是我个人看法吧)在SEO火爆的07-08年.因为这玩意儿在排名中的作用微乎其微.所以在意的人也越来越少.
- 9月9日,织梦教育类网站解决方案专题(http://www.dedecms.com/products/education)正式上线,Dede
- Exchange 2007是家族里的新成员,并且提供了又新又酷的功能,比如统一信息,改进了的垃圾信过滤,以及智能行程安排等。但是,和其他升级
- 网站定位准确,就可以让您的网站成为用户眼中的首选。成为用户眼中第二的网站,就等于把更多的用户推给了竞争对手,因为对于用户选择一个网站来说,仅
- 邮件系统的选型与架构专题(上篇) 邮件系统服务器的安装和配置有关Qmail邮件系统的安装介绍很多,这里不再赘述。下面主要说明搭建Qmail邮
- 1、复制配置文件到本用户环境下,再新建一个.vim文件夹,并创建bundle子文件夹sudo cp /etc/vim/vimrc /home
- lighttpd(发音为lighty)是一套开放源代码的网页服务器,以BSD许可证发布。相较于其他的网页服务器,lighttpd仅需少量的存
- 前几天,Google AdSense 决定采用人民币支付,消息几乎传遍了整个网络。这是很多 AdSesen 发布者都很关心的一个问题。由于之
- 这是我根据我们服装网站的情况以及总结了一些通用的SEO方法,希望能对大家起到作用!搜索引擎优化方案:1. 做一个链接完整的网站地图。2. 关