Skip to content

alexmond/jsupervisor

Repository files navigation

jsupervisor

Maven Central License Build Status Java 17+ Code Coverage

A Spring Boot implementation of a process supervisor system that allows monitoring and managing multiple processes in a Java environment.

Overview

This project provides a robust process supervision solution built with Spring Boot 3.x. It offers functionality to:

  • Monitor process status and health

  • Manage process lifecycle (start, stop, restart)

  • Collect system metrics (CPU, memory usage)

  • Provide REST API for process management

  • Support multiple health check types including HTTP, TCP port, Spring Boot Actuator, and command-line execution checks

Features

  • Process Management

    • Start/Stop/Restart processes

    • Graceful shutdown support with configurable timeout

    • Working directory and environment variables configuration

    • Command-line arguments support

  • Health Monitoring

    • HTTP endpoint health checks

    • TCP port availability checks

    • Spring Boot Actuator integration

    • Custom command-line health checks

    • Configurable check intervals

  • Logging

    • Separate stdout and stderr log files

    • Configurable log rotation

    • Application-specific log paths

    • Append or overwrite log modes

Modules

  • jsupervisor: Core supervisor implementation with process management capabilities

  • spring-boot-test-app: Test application for demonstrating supervisor functionality

Technologies

  • Spring Boot 3.5.x

  • OSHI (Operating System and Hardware Information)

  • Maven

  • Lombok

  • SpringDoc OpenAPI

  • Spring Validation

  • Spring Web

License

Licensed under Apache 2.0 License.

About

Spring Boot implementation of supervisor

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •