
Apache Geronimo is an open-source platform providing Java EE and Jakarta EE libraries along with MicroProfile implementations. It enables modular server runtimes using Java and OSGi technologies, supporting enterprise development with reusable components and native image generation via GraalVM.
Vendor
The Apache Software Foundation
Company Website

Apache Geronimo
Apache Geronimo is an open-source project under the Apache Software Foundation that provides a suite of Java EE/Jakarta EE libraries and MicroProfile implementations. Originally known for its fully certified Java EE application server, Geronimo has evolved into a modular platform focused on delivering reusable components and integrations for enterprise Java development. While the traditional Geronimo Application Server is no longer actively maintained, the project continues to support a range of tools and libraries that are widely used and actively developed.
Features
- Java EE/Jakarta EE Libraries: Implements core specifications such as Servlet, JSP, EJB, JPA, and more.
- MicroProfile Implementations: Includes modules for Config, Fault Tolerance (Safeguard), JWT Auth, OpenTracing, Health, Metrics, and OpenAPI.
- OSGi Metadata Support: Provides OSGi bundle metadata for modular deployment.
- Plugin-Based Architecture (XBean): Enables dynamic discovery and installation of server plugins, similar to Eclipse's plugin model.
- Spring Integration: Offers robust support for Spring-based applications.
- Batch Processing (BatchEE): Implements JSR-352 (JBatch) with extensions for integration with technologies like Camel, Jackson, Hazelcast, and Groovy.
- Native Compilation (Arthur): Facilitates GraalVM-based native image generation with Maven plugin support and Docker integration.
Capabilities
- Modular Runtime: Allows developers to build lightweight, customized server runtimes using only the components they need.
- MicroProfile Aggregator: Provides a single dependency setup for a ready-to-use MicroProfile 2.0 server.
- Flexible IoC Support: Compatible with multiple Inversion of Control systems or can run without one.
- Lifecycle and Class Loader Management: Advanced control over application lifecycle and class loading.
- REST and CLI Interfaces: BatchEE includes web UI and REST/CLI interfaces for job management and integration with schedulers.
- GraalVM Integration: Arthur simplifies the process of compiling Java applications into native binaries.
Benefits
- Open Source and Community Driven: Fully open development model with accessible source code, mailing lists, and issue tracking.
- Enterprise Ready: Designed to meet the needs of enterprise developers with support for modern Java standards.
- Customizable and Lightweight: Build only what you need, reducing overhead and improving performance.
- Cloud and Production Friendly: MicroProfile extensions enhance readiness for cloud-native deployments.
- Developer Productivity: Tools like Arthur and BatchEE streamline development and deployment workflows.