一. 概述

  使用java语言开发应用程序,在windows平台下,一般存在3种应用形式:

  1. web应用。web应用多数打成war包在web容器(如tomcat,jetty等)中运行。

  2. 桌面应用。桌面应用一般打成jar包或exe文件运行。

  3. 后台服务应用。后台服务应用一般打成jar包,然后使用命令行(如java -jar xxx.jar)运行。

二. 什么是windows服务?

  Microsoft Windows 服务(即,以前的 NT 服务)使您能够创建在它们自己的 Windows 会话中可长时间运行的可执行应用程序。这些服务可以在计算机启动时自动启动,可以暂停和重新启动而且不显示任何用户界面。这种服务非常适合在服务器上使用,或任何时候,为了不影响在同一台计算机上工作的其他用户,需要长时间运行功能时使用。还可以在不同于登录用户的特定用户帐户或默认计算机帐户的安全上下文中运行服务。

三. 为什么要让java程序以服务形式运行?

  若使用命令行方式运行java程序,把命令写成脚本(如bat脚本)运行即可,但命令行方式有其不方便之处,如命令行窗口不能关闭,关闭即停止,因此维护人员容易误操作(关闭窗口使程序停止);若服务器宕机或其它原因,程序往往无法在服务器重启时自动启动。在windows下,很多程序都是以服务的形式运行,这也符合windows的管理。因此,建议使用服务形式运行,操作方便。

四. 如何让java程序以服务形式运行?

  1. Java Service Wrapper目前业界最知名、最成熟的解决方案,添加任何额外的代码即可使用,不足之处是收费、64位版本需要购买Licence,不过在64位使用32位的也关系不大(除非你的程序需要很大的运算量)。

  2. Yet Another Java Service Wrapper类似JSW的开源实现版本,不过官方支持不怎么好。

  3. Apache Commons Daemon著名的Apache Commons工具包的成员,按规则添加启动程序,再编写脚本实现。

  4. 其它的(如WinRun4J,Launch4j)未使用过,更多可参考java开源打包工具

注意:重点关注使用java service wrapper把java程序作为windows的服务运行,它不需要添加任何代码,配置即可。

参考:http://blog.csdn.net/masson32/article/details/51802732

java service wrapper将java程序包装成系统服务(一)的更多相关文章

  1. 利用JAVA Service Wrapper把JAVA程序做成windows服务

    今天做了一个读取数据入库的程序.由于读取的数据每天都更新,于是就想把程序做成一个服务,每天定时执行.研究了一下,发现有几种方式可以做.下面我主要记录一下JAVA Service Wrapper方式. ...

  2. Java Service Wrapper将java程序设置为服务

    有时候我们希望我们java写的程序作为服务注册到系统中,Java Service Wrapper(下面简称wrapper)是目前较为流行的将Java程序部署成Windows服务的解决方案, 本文将讨论 ...

  3. Java Service Wrapper 发布Java程序为Windows服务

    下载Windows版本:https://www.krenger.ch/blog/java-service-wrapper-3-5-37-for-windows-x64/ 转自:F:\java\bhGe ...

  4. 使用Java Service Wrapper将java程序作为linux服务并且开机自动启动

    以java应用程序为例,打包为tianlong.jar,程序入口为tianlong.QueueTest. 下面在linux的/opt下建立tianlong目录,复制tianlong.jar到/opt/ ...

  5. 使用java service wrapper将java程序注册为window服务

    1.下载java service wrapper 下载地址:http://wrapper.tanukisoftware.com/doc/english/download.jsp 针对自己的需求下载相应 ...

  6. Java Service Wrapper 发布Java程序或者jar包为Windows服务

    下载Windows版本:http://nchc.dl.sourceforge.net/sourceforge/wrapper/wrapper-windows-x86-32-3.2.3.zip 现在目前 ...

  7. 使用 Java Service Wrapper 启动java后台进程服务

    Java Service Wrapper (http://wrapper.tanukisoftware.com/doc/english/product-overview.html)可以很方便得在各个平 ...

  8. 利用Java Service Wrapper将java项目添加到windows服务中

    1.web项目,即tomcat/resin添加至window系统服务,步骤如下:第一步:找到tomcat的bin目录,如:D:\apache-tomcat-8.0.26\bin第二步:打开cmd,cd ...

  9. 详解Maven项目利用java service wrapper将Java程序生成Windows服务

    在项目的开发中,有时候需要将Java应用程序打包成Windows服务,我们就直接可以通过windows的服务来启动和关闭java程序了. 本博文将通过有两种方法实现该功能,手动创建法和Maven自动打 ...

随机推荐

  1. HDU 6118 度度熊的交易计划 (最小费用流)

    度度熊的交易计划 Time Limit: 12000/6000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total S ...

  2. tomcat服务器输入localhost可以访问,ip无法访问解决办法

    最近在开发项目中,遇到的一个问题是: 在 tomcat中发布一个web项目,但是发布成功后,只能用http://localhost:8080/fm访问项目,不能用 http://127.0.0.1:8 ...

  3. WordPress 3.7.1-web截屏插件整合教程-Xproer.ScreenCapture

    插件下载(PHP):wordpress 3.7.1, 说明:由于许多插件可能使用相同钩子,导致冲突,所以提供手支方式整合. 1.上传插件目录. 说明:WordPress 3.7.1 使用的是TinyM ...

  4. __lll_mutex_lock_wait的错误原因

    1. x86_64栈(glib 2.4): free时: (gdb) bt #0  0x00002b9405ea1c38 in __lll_mutex_lock_wait () from /lib64 ...

  5. visualstudio 2013 mysql entityframework :实体模型无法添加,闪退

    发现电脑中安装的mysql-connector-net,版本为6.9.8 1.卸载此版本 2.重新安装mysql-connector-net 6.8.3 3.注意web.config中版本 4.注意项 ...

  6. memory leak-----tomcat日志warn

    web应用借助于结构:spring mvc + quartz结构,部署到tomcat容器时,shutdown时的error信息: appears to have started a thread na ...

  7. Sqler 工具更新

    新加入打分邮件,针对每台db 服务器应用情况分析打分,目前支持batch.duration.cpu 3个维度.后续会支持 read io.write io.network io 等.自动化,数字化是衡 ...

  8. 记一次很坑的python2与python3共存问题

    当添加PYTHONPATH环境变量时,无论输入pip2 -V还是pip3 -V都显示的是python2的环境变量,使用pip3 install 时也是安装在了python2的三方库(因为python2 ...

  9. PostgreSQL创建表及约束

    创建表 语法: create table table_name ( column_name type column_constraint, table_constraint table_constra ...

  10. BitAdminCore框架更新日志20180524

    20180524更新内容 本次更新两个内容,一是增加windows service,二是增加邮件发送功能. windows service windows service用于定期跑服务,网上有一些提供 ...