利用Jsvc把Java程序嵌入到Linux服务中去

染指流年664

染指流年664

2016-02-19 21:40

人生本是一个不断学习的过程,在这个过程中,图老师就是你们的好帮手,下面分享的利用Jsvc把Java程序嵌入到Linux服务中去懂设计的网友们快点来了解吧!
 

在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/functionsRETVAL=0prog="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/tmpPID_FILE=/var/run/tlstat.pid#程序运行是所需的jar包,commons-daemon.jar是不能少的CLASSPATH=/test/testjsvc.jar:/usr/local/tomcat5/bin/commons-daemon.jar:case "$1" instart)## 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.TestJsvcexit $?;;*)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()方法里添加你的业务,做你想做的事。

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)
展开更多 50%)
分享

猜你喜欢

利用Jsvc把Java程序嵌入到Linux服务中去

编程语言 网络编程
利用Jsvc把Java程序嵌入到Linux服务中去

把设备驱动程序编译进嵌入式Linux内核

Linux Linux命令 Linux安装 Linux编程 Linux桌面 Linux软件 Linux内核 Linux管理
把设备驱动程序编译进嵌入式Linux内核

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

利用Java程序把Word文档转换成Html文件

Web开发
利用Java程序把Word文档转换成Html文件

将Java程序变成Windows系统服务

编程语言 网络编程
将Java程序变成Windows系统服务

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

利用 Java Web Start发布你用java程序

编程语言 网络编程
利用  Java Web Start发布你用java程序

用Java实现多线程服务器程序

编程语言 网络编程
用Java实现多线程服务器程序

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

HTML 标记一览<2>

HTML 标记一览<2>

简单介绍标记Iframe中各个元素的用法

简单介绍标记Iframe中各个元素的用法
下拉加载更多内容 ↓