`
gaochangquan
  • 浏览: 18852 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

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

阅读更多
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()方法里添加你的业务,做你想做的事。
分享到:
评论

相关推荐

    用jsvc发布linux服务

    综上所述,用jsvc发布Linux服务涉及到Java应用程序的部署、系统服务的配置、脚本编写、权限管理等多个方面,需要对Linux系统、Java环境以及系统服务管理有深入的理解。通过正确使用jsvc,可以确保Java应用程序在...

    jsvc.tar.gz

    虽然Tomcat本身是一个Java程序,但为了使其能在Linux系统中作为后台服务运行,我们需要jsvc这样的工具。 jsvc提供了以下关键功能: 1. **启动服务**:你可以使用jsvc来启动Tomcat作为系统服务,这样即使在系统重启...

    tomcat 下面的jsvc.tar.gz 包下载

    总之,`jsvc`是Linux环境下将Tomcat作为服务运行的重要工具,它使得Java应用程序的管理更加规范和便捷。了解和掌握如何使用`jsvc`对于系统管理员来说是至关重要的,特别是对于那些需要稳定运行Java应用的大型系统。

    把java项目安装为window服务

    `jsvc`是Java服务接口的实现,它允许Java应用程序作为Windows服务运行,具备开机启动、后台运行、自动重启等特性。 1. 安装Apache Commons Daemon 首先,你需要下载Apache Commons Daemon的Windows版本,如`...

    java程序发布成window后服台

    Java应用程序可以通过Java Service Wrapper(JSW)或者Apache Commons Daemon(Jsvc)等工具转化为Windows服务。 1. **Java Service Wrapper (JSW)**:JSW 是一个开源工具,允许Java应用程序作为操作系统服务运行。...

    Linux下配置jdk+tomcat【附:设置tomcat自动启动,jsvc方式】.pdf

    在Linux环境下配置JDK和Tomcat是服务器管理中常见的任务,尤其对于运行Java应用程序和Web服务至关重要。这里我们将详细介绍如何在CentOS 5.3操作系统上进行这些步骤,并附带了如何设置Tomcat自动启动的方法,使用...

    wrapper 部署linux跟window

    在Linux中,通常使用init脚本或者Systemd服务来管理应用程序的启动和停止。然而,这些方法可能不适用于所有类型的Java应用,因为它们可能有特定的依赖或配置需求。此时,Wrapper工具能提供一个标准化的接口,简化...

    jsvc启动tomcat原理

    jsvc启动tomcat原理详细说明,更安全的启动tomcat的方式。

    Linux中将Tomcat添加到守护进程

    在Linux环境中,为了确保应用程序如Tomcat能够随系统自动启动并作为守护进程运行,需要进行一系列的配置步骤。本文将详细介绍如何将Tomcat添加到Linux的守护进程,并处理"Invalid user name 'tomcat' specified"的...

    使用 jsvc 启动tomcat的方法(使用普通用户运行)

    首先,jsvc是一个非常有用的工具,它能够帮助开发者将Java应用封装成可以由系统服务管理的守护进程,比如它可以集成到init.d或systemd中。使用jsvc的另一个好处是,它可以允许我们指定运行Tomcat的用户和用户组,...

    commons-daemon-1.2.0-src.tar.gz

    它提供了`jsvc`工具,允许用户将Java应用程序集成到这些系统的启动、管理和监控流程中,类似于Windows系统中的服务。本篇文章将详细介绍`commons-daemon`及其组件`jsvc`,以及如何使用它们。 首先,我们来看`...

    commons-daemon-1.2.0-bin.tar.gz

    其中,`jsvc`是Apache Commons Daemon项目的一部分,它是一个用于执行Java应用程序的命令行工具,可将Java应用转换为系统服务。 标题中的"commons-daemon-1.2.0-bin.tar.gz"是一个压缩包,包含了Apache Commons ...

    linux安装jdk、tomcat、把tomcat配置成服务

    在Linux系统中,安装和配置Java Development Kit (JDK) 和Apache Tomcat服务器是进行Web应用开发的基础步骤。本文将详细介绍如何在Linux环境下安装JDK、Tomcat,并将其配置为系统服务。 首先,我们需要下载JDK和...

    jar包做成服务.zip

    在Java开发中,将一个`jar`包做成服务是一项常见的任务,这通常涉及到将Java应用程序打包成可执行的`jar`文件,并通过特定的方式运行它作为后台服务,以实现持续运行和管理。以下是对这个主题的详细解释: 一、什么...

    commons-daemon-1.2.2-bin.tar.gz

    3. **prunsrv**: Unix/Linux系统的命令行工具,类似于Windows的"jsvc",用于创建和管理Java服务。 4. **文档**: 可能包含用户指南、API文档和README文件,提供了关于如何配置和使用这些工具的详细信息。 5. **库文件...

    linux下非root用户运行tomcat

    在Linux环境中,为了安全考虑,一般不建议使用root用户来运行像Tomcat这样的服务。因为一旦Tomcat以root权限运行,任何能够通过Tomcat服务器执行的代码都将拥有root权限,这极大地增加了系统被攻击的风险。本文将...

    commons-daemon-1.2.2-bin.zip

    Apache Commons Daemon是一个开源项目,它是Java应用程序在操作系统后台(如Windows、Linux或Unix)作为守护进程(daemon)运行的关键工具。这个压缩包"commons-daemon-1.2.2-bin.zip"包含了运行Java应用程序作为...

    Java Daemon Template:用于编写Java UNIX守护程序的模板。-开源

    该应用程序的目的是作为在Unix / linux系统上如何将Java应用程序设置为守护程序的模板/示例,以及如何使用jsvc的示例。 可以将java_daemon_init脚本复制到/etc/init.d/(并重命名为适当的名称),然后以常规的{...

    commons-daemon+Weld启动windows

    它提供了jsvc,一个可执行程序,可以将Java虚拟机(JVM)包装为系统服务,这样就可以通过系统服务管理工具来启动、停止和监控Java应用程序。在Windows上,这意味着Java应用可以像其他系统服务一样被管理和操作,如...

    commons-daemon-native.tar.gz

    这个项目的重点在于“daemon”,在Unix和类Unix系统中,daemon是指在后台运行的服务程序,通常在系统启动时启动,并持续运行直到系统关闭。在Windows系统中,对应的术语是“服务”。 `commons-daemon-native.tar.gz...

Global site tag (gtag.js) - Google Analytics