一、开源项目简介

Jarboot 是一个Java进程启停、管理、诊断的平台,可以管理、守护、监控及诊断本地和远程的Java进程。

在测试环境、每日构建的集成环境,可以把一系列编译输出等jar文件放入约定的目录,由Jarboot提供友好的浏览器ui界面和http接口,统一管理它的启动、停止及状态的监控,以及执行命令对目标进程进行调试。

二、功能概述

Jarboot是一个功能强大易用的Java进程启动器,使用jarboot可以方便的启动一批的Java进程,支持按照依赖的优先级顺序启动、进程守护、文件监控重启、进程在线调试。

可扩展: 同时支持JDK SPI和Spring SPI,支持插件式开发。

三、技术选型

技术背景及目标

Jarboot 使用Java Agent和ASM技术往目标Java进程注入代码,无业务侵入性,注入的代码仅用于和 Jarboot 的服务实现命令交互,部分命令会修改类的字节码用于类增强,加入了与Arthas类似的命令系统,如获取JVM信息、 监控线程状态、获取线程栈信息等。

  • 浏览器界面管理,一键启、停服务进程,不必挨个手动执行
  • 支持启动、停止优先级配置[1],默认并行启动
  • ⭐️ 支持进程守护,开启后若服务异常退出则自动启动并通知
  • ️ 支持文件更新监控,开启后若jar文件更新则自动重启[2]
  • 调试命令执行,同时远程调试多个Java进程,界面更友好
  • 支持通过SPI自定义调试命令实现,支持开发插件

架构简介

前端界面采用React技术,脚手架使用UmiJs,组件库使用UmiJs内置等antd。 后端服务主要由SpringBoot实现,提供http接口和静态资源代理。通过WebSocket向前端界面实时推送进程信息,同时与启动的Java进程维持一个长连接,以监控其状态。

四、界面展示

Java进程启动器,可以管理、监控及调试一系列的Java进程插图
Java进程启动器,可以管理、监控及调试一系列的Java进程插图1
Java进程启动器,可以管理、监控及调试一系列的Java进程插图2
Java进程启动器,可以管理、监控及调试一系列的Java进程插图3

五、开源协议

使用Apache2.0开源协议

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。