Java service wrapper,与springboot 结合

Javaservicewrapper详解

更新:

Javaservicewrapper是一款Java应用程序的服务化工具,通过它可以将Java应用程序打包成服务,并自动安装为系统服务。本文将从多个角度详细解析Javaservicewrapper的使用方法和功能特点。

一、安装和配置

想要使用Javaservicewrapper,首先要进行安装和配置。具体步骤如下:

1. 下载最新版本的Javaservicewrapper,解压到指定路径下;

$ wget http://wrapper.tanukisoftware.com/download/latest/wrapper-linux-x86-64-VERSION.tar.gz
$ tar xvfz wrapper-linux-x86-64-VERSION.tar.gz

2. 配置wrapper.conf文件,这个文件位于/conf目录下,可以通过修改该文件来定制服务;

# 修改wrapper.java.command选项,指定Java运行路径
wrapper.java.command=/usr/java/jdk1.8.0_40/bin/java

# 修改wrapper.java.mainclass选项,指定Java程序的主类
wrapper.java.mainclass=com.example.Main

# 增加Java类路径
wrapper.java.classpath.1=lib/*.jar

3. 运行bin/wrapper(启动服务)或者bin/wrapper -i(安装服务)进行安装和启动;

$ cd bin
$ ./wrapper install
$ ./wrapper console (控制台运行)
$ ./wrapper start (后台运行)

至此,Javaservicewrapper的安装和配置已经完成,可以愉快地使用该工具进行Java应用程序的服务化啦。

二、集成Spring Boot

Spring Boot是一款非常流行的Java应用程序框架,在使用Javaservicewrapper时也可以与之集成起来。下面以一个简单的Spring Boot应用程序为例,演示如何将其打包成服务并安装为系统服务。

1. 创建一个Spring Boot应用程序,实现一个简单的HTTP接口:

@SpringBootApplication  
public class DemoApplication  
{  
    @RequestMapping("/")  
    public String hello()  
    {  
        return "Hello, World!";  
    }  

    public static void main(String[] args)  
    {  
        SpringApplication.run(DemoApplication.class, args);  
    }  
}  

2. 在项目的根目录下创建一个Wrapper.conf文件,内容如下:

wrapper.java.command=/usr/java/jdk1.8.0_40/bin/java
wrapper.java.mainclass=org.springframework.boot.loader.JarLauncher
wrapper.java.classpath.1=lib/*.jar

3. 在项目的根目录下执行以下命令进行安装及启动服务:

$ ./mvnw clean package
$ cd target
$ unzip demo-0.0.1-SNAPSHOT.jar -d demo
$ cd demo
$ ../bin/wrapper install
$ ../bin/wrapper start

这样就将一个Spring Boot应用程序打包成了服务并安装为系统服务。通过浏览器访问localhost:8080,即可看到”Hello, World!”这句话。

三、服务高可用

Javaservicewrapper不仅可以将Java应用程序打包成服务,还提供了服务高可用的功能,即当服务因故障或者异常停止后,能够重新启动服务。通常情况下,要实现服务高可用,需要进行以下步骤:

1. 创建wrapper.conf文件,启用高可用模式、设置重新启动延迟等参数:

wrapper.java.command=/usr/java/jdk1.8.0_40/bin/java
wrapper.java.mainclass=com.example.MainClass
wrapper.java.classpath.1=lib/*.jar

# 设置自动重启参数
wrapper.restart.delay=5
wrapper.restart.reload_configuration=TRUE
wrapper.restart.automatic=TRUE
wrapper.logfile.loglevel=INFO
wrapper.logfile.maxsize=5m
wrapper.logfile.maxfiles=5

# 设置自动尝试启动次数
wrapper.max_failed_invocations=5
wrapper.failure_detection.suspend_threshold=10
wrapper.failure_detection.interval=5

2. 按照前面的步骤安装和启动服务;

3. 执行以下命令进行测试,停掉服务并查看服务是否能够自动重启:

$ ../bin/wrapper stop
$ ps -ef | grep MainClass
$ ../bin/wrapper start
$ ps -ef | grep MainClass

此时可以看到主进程的ID发生了变化,说明服务已经重新启动成功。

四、服务日志管理

服务日志是一款非常重要的工具,可以帮助我们在服务运行过程中定位问题。Javaservicewrapper提供了丰富的日志管理功能,其中最常用的是设置日志输出的级别。具体步骤如下:

1. i打开wrapper-genconfig.jar配置向导:

$ java -jar wrapper-genconfig.jar

2. 设置日志级别:

WrapperLogLevel=DEBUG

3. 打开wrapper.logfile.loglevel=DEBUG选项:

wrapper.logfile.loglevel=DEBUG

4. 重启服务,让设置生效。

五、结语

本文介绍了Javaservicewrapper的安装和配置,同时也详细解析了如何集成Spring Boot、实现服务高可用和管理服务日志,相信这篇文章可以帮助读者更好地了解Javaservicewrapper,更加轻松地使用该工具来管理Java应用程序。如果您对Javaservicewrapper有任何疑问或者建议,欢迎留言讨论!


发表评论

电子邮件地址不会被公开。 必填项已用*标注