SkillAgentSearch skills...

Kumuluzee

Lightweight open-source framework for developing microservices using standard Java EE technologies and migrating Java EE to cloud-native architecture.

Install / Use

/learn @kumuluz/Kumuluzee

README

KumuluzEE

KumuluzEE CI

Lightweight open-source framework for developing microservices using standard Java/JakartaEE technologies, extending them with Node.js, Go and other languages, and migrating to cloud-native architecture.

KumuluzEE is a lightweight framework for developing microservices using standard Java/JakartaEE technologies, extending them with Node.js, Go and other languages, and migrating existing applications to microservices and cloud-native architecture. KumuluzEE packages microservices as standalone JARs. KumuluzEE microservices are lightweight and optimized for size and start-up time. They fit perfectly with Docker containers. KumuluzEE microservices are fully compatible with Kubernetes and enable Kubernetes-native development. KumuluzEE will also provide support for Serverless Functions on Azure, AWS and Google.

KumuluzEE also provides extensions for developing common patterns in cloud-native architectures, including configuration, logging, discovery, fault tolerance with circuit-breakers, metrics, security, event streaming and more.

KumuluzEE has been designed to use the standard Java/JakartaEE technologies and APIs with optional extensions for easier development of cloud-native microservices. Therefore, it is particularly suitable for existing enterprise Java developers, who would like to leverage their skills, but progressively move from monolithic to microservice design patterns.

KumuluzEE provides full support for Java latest versions (check each release for specific information). In addition to Java, KumuluzEE supports several programming languages, including Node.js and Go. Support for additional languages will be added soon. For these languages, KumuluzEE also provides support for service configuration and discovery.

KumuluzEE is Eclipse MicroProfile compliant and provides support for MicroProfile 1.0, 1.1, 1.2, 1.3, 1.4, 2.0, 2.1, 3.0, 3.1, 3.2 and 3.3. Support for 4.x and 5.x is coming soon. KumuluzEE provides support for all MicroProfile specifications, including MicroProfile Config, MicroProfile Health, MicroProfile Fault Tolerance, MicroProfile Metrics, MicroProfile JWT Authentication, MicroProfile Rest Client, MicroProfile OpenAPI and MicroProfile Open Tracing APIs.

Getting started

If you already know how to use Java/JakartaEE, then you already know how to use KumuluzEE. It is simple and straightforward.

See the getting started wiki section to create your first light-weight standalone Java microservice in 5 minutes.

Read tutorials at our home page.

Refer to samples for more examples.

Features

Primary features:

  • Lightweight, cloud-native Java microservices with full support for Docker, Kubernetes and Serverless (coming soon).
  • Support for all major cloud-native patterns, minimal footprint, quick start-up time, perfect for scaling in the cloud.
  • No need for a traditional application server. Run your app anywhere Java runs as well as in PaaS and Docker-like environments.
  • Allows you to develop microservices using standard Java technologies and extend them with Node.js, Go and other languages.
  • Allows you to gradually migrate existing Java applications to microservices and cloud-native architecture.
  • Complete control over what Java/JakartaEE components and its implementations are included. Only include what you need and make your app lightweight.
  • Minimal to no configuration settings up the base server. Develop like any other Java application.
  • Quick startup time, low resource consumption and stateless scalability accelerates development.
  • Extend your microservices with common cloud-native patterns, such as config, discovery, logging, fault tolerance, circuit-breakers, etc. KumuluzEE provides all the building blocks.

KumuluzEE provides support for various Java/JakartaEE APIs and components. The goal is to support as many Java components as possible (contributions welcome).

Java/JavaEE/JakartaEE components

Currently the following components are supported with more being added over time:

  • Servlet (Jetty)
  • CDI (RI Weld)
  • JAX-RS (RI Jersey)
  • JSON-P (RI JSONP)
  • JSON-B (RI Yasson)
  • JSP (Jetty Apache Jasper)
  • JPA (RI EclipseLink)
  • JPA (RI Hibernate)
  • EL (RI UEL)
  • JAX-WS (RI Metro)
  • JAX-WS (Apache CXF)
  • JSF (RI Mojarra)
  • WebSocket (Jetty)
  • Bean Validation (RI Hibernate validator)
  • JTA (Narayana)
  • Java Mail (RI JavaMail) Please check each specific KumuluzEE version for specific versions of these components.

Additional features

KumuluzEE provides additional features, which are described on the project Wiki, particularly:

  • Configuration framework for easy and efficient configuration of microservices from various sources, such as environment variables, configuration files (yaml), properties, etc.
  • TLS/SSL support for configuring TLS/SSL, including support for HTTP/2.

KumuluzEE also provides support for Uber JARs. With the KumuluzEE Maven plugin, you can pack and run each microservice as a single, self-contained Uber-JAR. Details are described later in this document.

KumuluzEE projects

In addition to the standard Java EE components, KumuluzEE also comes with several projects that complement and extend its functionality. The projects follow the same modular concept as the Java components in which you can chose if you want to use it as well as the underlying implementation of the project. Most projects are geared towards creating cloud-native microservices including configuration, logging, discovery, fault tolerance including circuit-breakers, metrics, security, event streaming and more. Projects also extend KumuluzEE with technologies, such as Ethereum for blockchain microservices, gRPC, GraphQL, and others. The following projects are available with more planned soon:

MicroProfile

KumuluzEE is Eclipse MicroProfile compliant and provides support for:

  • MicroProfile 1.0
  • MicroProfile 1.1
  • MicroProfile 1.2
  • MicroProfile 1.3
  • MicroProfile 1.4
  • MicroProfile 2.0
  • MicroProfile 2.1
  • MicroProfile 3.0
  • MicroProfile 3.1
  • MicroProfile 3.2
  • MicroProfile 3.3

It implements the following MicroProfile APIs:

View on GitHub
GitHub Stars295
CategoryDevelopment
Updated29d ago
Forks68

Languages

Java

Security Score

100/100

Audited on Feb 28, 2026

No findings