Apache Commons Daemon简介说明

2023-11-12

转自:

Apache Commons Daemon简介说明

下文笔者讲述Apache Commons Daemon的功能简介说明,如下所示

Apache Commons Daemon的功能

用于将一个普通的java应用程序编程系统的后台服务
Commons Daemon框架由两部分组成:
    一部分由C语言编写
	一部分由java语言编写,并提供Daemon接口

例:

安装apache commons daemon

首先,下载apache commons daemon的jar包和源码
   下载地址:
    http://commons.apache.org/proper/commons-daemon/download_daemon.cgi。

开始安装:
#tar -zxvf commons-daemon-1.0.15-src.tar.gz
#cd commons-daemon-1.0.15-src/src/native/unix
#./support/buildconf.sh
./support/buildconf.sh: configure script generated successfully
# ./configure --with-java=/usr/java/jdk1.6.0_35
.....

*** All done ***

Now you can issue "make"

#make
通过以上步骤,则完成apache commons daemon的安装

java示例展示daemon

package com.java265;


import org.apache.commons.daemon.Daemon;
import org.apache.commons.daemon.DaemonContext;
import org.apache.commons.daemon.DaemonInitException;

public class TestClass implements Daemon {

@Override
public void destroy() {
      System.out.println("JsvcTest destory method...");
}

@Override
public void init(DaemonContext ctx) throws DaemonInitException, Exception {
    System.out.println("JsvcTest init method..."+ctx.toString());
}

@Override
public void start() throws Exception {
    System.out.println("JsvcTest start method...");
}
 
@Override
public void stop() throws Exception {
   System.out.println("JsvcTest stop method...");
  }
}

将以上程序打包为一个jar包,放入目录/opt/app下

编写sh脚本

vi /etc/init.d/jsvc

#!/bin/sh
# chkconfig: - 60 50  
. /etc/rc.d/init.d/functions

RETVAL=0
prog="jsvc"
JAVA_HOME=/usr/java/jdk1.6.0_35
APP_HOME=/opt/app
#jar所在的目录
DAEMON_HOME=//opt/app/native/unix
APP_USER=root
TMP_DIR=/opt/app/tmp
PID=/opt/app/jsvc_stat.pid
CLASSPATH=$CLASSPATH:/opt/app/TestClass.jar
case "$1" in
start)
#Start Serivce
$DAEMON_HOME/jsvc -user $APP_USER -home $JAVA_HOME -Djava.io.tmpdir=$TMP_DIR -wait 5000 -pidfile $PID -outfile $APP_HOME/log/jsvc.out -errfile '&1' -cp $CLASSPATH com.jason.jsvc.JsvcTest
exit $?
;;
stop)
#Stop Serivce
$DAEMON_HOME/jsvc -stop -pidfile $PID com.java265.TestClass
exit $?
;;
*)
echo "Usage myjsvc start/stop"
exit 1;;
esac

为unix添加服务

chkconfig --add jsvc
chkconfig --list | grep jsvc
chkconfig --level 345 jsvc on

启动和关闭jsvc服务

service jsvc start
service jsvc stop 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Apache Commons Daemon简介说明 的相关文章

随机推荐

  • 手把手使用Python教你破解谷歌(Google)人机验证码—上篇

    点击上方 Python爬虫与数据挖掘 进行关注 回复 书籍 即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 众里寻他千百度 蓦然回首 那人却在 灯火阑珊处 1 前言 今天呢 咱们来说一下Google 我们都知道 Google
  • 嵌入式习题

    2 STMF4 1 单选题 关于ARM的描述正确的是 D A 代表一家公司名字 B 代表一类处理器 B 代表一种技术 D 以上都正确 2 单选题 STM32F4与ARM的关系 正确的是 A A STM32F4采用ARM Cortex M4内
  • C#教程(6)———— 比较运算符与逻辑运算符

    C 教程 6 比较运算符与逻辑运算符 前言 1 比较运算符 1 1 不同数据类型之间比较 1 2 使用比较运算符比较字符类型 1 3 其它数据类型比较 2 逻辑运算符 总结 前言 在之前的文章中 我们介绍了各种数学运算该怎么进行 而在数学中
  • java.lang.IllegalArgumentException: parameter must be a descendant of this view 的解决方案

    异常出现情况 mLayoutMap为布局view的集合 如当前view为view1可见visible 正常情况view2 view3 view4 为不可见gone 当点击tab2 让view2显示 时抛出上面的异常 分析以及解决方案 par
  • 原型链解释

    一 什么是原型链 原型链是javascript中用来实现类似类继承的一套机制 像链条一样把javascript中的对象连接起来 实现类似子联系父的现象 二 原型链的实现 总的来说 就是 对象的 proto 指向其构造器的prototype对
  • ahx文件转mav文件 工具分享及说明

    前言 今天用ndstool 拆了个nds的游戏 提取音频资源时发现格式为ahx 查了查网上都没有转换资料 格式工厂也不支持此格式 于是在github上找到了个好工具 分享一下 根据 文件格式查询信息库 数据统计 AHX 文件扩展名相关的格式
  • Docker8_2:Docker volume容器数据卷挂载:具名挂载和匿名挂载

    Docker8 2 Docker volume容器数据卷挂载 具名挂载和匿名挂载 docker volume 匿名挂载 不常用 具名挂载 常用 三种挂载方式 docker volume docker volume相关命令 docker 卷操
  • Qt Installer Framework的学习

    Qt Installer Framework的学习 Qt Installer Framework是Qt默认包的发布框架 它很方便 使用静态编译Qt制作而成 并且使用了压缩率很高的7z对组件进行压缩 之所以有这些好处 我才觉得值得花一点儿精力
  • 包装类之Integer案例学习

    引入 首先标题我写了学习Integer作为案例 是因为了解了一个包装类 其他便能深入浅出的学习到了 1 什么是包装类 以前定义变量 经常使用基本数据类型 对于基本数据类型来说 它就是一个数 加点属性 加点方法 加点构造器 将基本数据类型对应
  • 「Python 机器学习」Pandas 数据分析

    Pandas 是一个开源的 Python 库 专为数据处理和分析任务而设计 它提供了高性能 易用的数据结构和数据分析工具 使得在 Python 中进行数据科学变得简单高效 Pandas 基于 NumPy 因此可以与许多其他基于 NumPy
  • 蓝桥杯VIP试题 基础练习 龟兔赛跑预测C语言,C++

    试题 基础练习 龟兔赛跑预测 资源限制 时间限制 1 0s 内存限制 512 0MB 问题描述 话说这个世界上有各种各样的兔子和乌龟 但是研究发现 所有的兔子和乌龟都有一个共同的特点 喜欢赛跑 于是世界上各个角落都不断在发生着乌龟和兔子的比
  • 推荐系统综述:初识推荐系统

    目录 1 引言 2 发展历史 3 研究现状 4 推荐方式和效果评估 4 1 评分预测 4 2 TopN推荐 5 推荐算法 5 1 基于用户行为推荐 5 1 1 基于用户的协同过滤 User Based CF 5 1 2 基于物品的协同过滤
  • c++11新特性-可变参数模板

    在c 11中声明可变函数模板需要typename或者class后面跟上 省略号有两个作用 1 声明一个参数包 这个参数包可以有0到任意个参数 2 在模板定义的右边 可以将参数包展开成一个一个独立的参数 可变函数模板的定义 template
  • JAVA安装详细教程

    JAVA安装详细教程 如果下面的博客没有能解决你的问题或者你还有其他关于计算机方面的问题需要咨询可以加博主QQ 1732501467 JAVA安装总共分为三部分 一 下载JAVA安装包并安装JAVA 二 电脑环境设置 三 验证Java是否安
  • spring核心框架体系结构(jar包依赖)

    很多人都在用spring开发java项目 但是配置maven依赖的时候并不能明确要配置哪些spring的jar 经常是胡乱添加一堆 编译或运行报错就继续配置jar依赖 导致spring依赖混乱 甚至下一次创建相同类型的工程时也不知道要配置哪
  • stm32c8t6-PWM控制SG90舵机及用串口下载程序

    舵机是用PWM波控制的 学完PWM就可以简单的控制舵机啦 我用的是stm32c8t6单片机 高级定时器TIM1 CH1 使用通用定时器也行 大同小异 结果都一样 定时器部分的知识 代码网上都有 我这里不再赘述 开始之前我们先了解一下舵机的特
  • 树莓派3B安装64位操作系统

    树莓派3B 安装Ubuntu MATE 树莓派3b 安装ubuntu 雨田大大的博客 CSDN博客https blog csdn net lsjackson13 article details 92423694 utm medium dis
  • python3.8 Crypto.Cipher报错快速解决办法

    python3 8 Crypto Cipher报错快速解决办法 使用大佬编译好的whl安装包 把python3安装目录Lib和Lib site packges下的crypto改成Crypto 再安装crypto pip3 install c
  • OpenMV与STM32之间的通信

    OpenMV与STM32之间使用串口进行通信 OpenMV 详细解释可以看代码里面的注释 注意 转换成字节型传输时 负数会以补码形式传输 比如 1在单片机接受时变成255 import sensor image time math 调用声明
  • Apache Commons Daemon简介说明

    转自 Apache Commons Daemon简介说明 下文笔者讲述Apache Commons Daemon的功能简介说明 如下所示 Apache Commons Daemon的功能 用于将一个普通的java应用程序编程系统的后台服务